@import "https://cdn.jsdelivr.net/npm/@fontsource/lato@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/lato@latest/700.css";

html {
    box-sizing: border-box
}

body {
    margin: 0
}

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

body {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #2b2b2b;
    background-color: #fff
}

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

.top-bar {
    background: linear-gradient(90deg, #A50E0E 0%, #8a0b0b 100%);
    padding: 8px 0
}

.top-bar-pod {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 48px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

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

.top-bar-link {
    color: #FFFBE7;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.6;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.top-bar-link:hover {
    color: #fff
}

.top-bar-link svg {
    flex-shrink: 0
}

.top-bar-badge {
    font-size: 15px;
    color: #fffbe7b3;
    letter-spacing: .04em
}

.site-header {
    background: #fff;
    box-shadow: 0 7px 14px 0 #a50e0e1c;
    position: relative;
    z-index: 100
}

.header-pod {
    max-width: 1366px;
    margin: 0 auto;
    padding: 24px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px
}

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

.logo-card {
    background: #1e1e2e;
    border-radius: 10px;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 2px 0 #a50e0e0d 0 7px 14px 0 #a50e0e1c;
    min-width: 64px;
    height: 50px
}

.logo-card img {
    width: auto;
    height: 36px;
    object-fit: contain;
    display: block
}

.brand-text-deck {
    display: flex;
    flex-direction: column;
    gap: 0
}

.brand-name {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    color: #1e1e2e;
    letter-spacing: -.02em
}

.brand-sub {
    font-size: 15px;
    line-height: 1.6;
    color: #0D8558;
    font-weight: 400;
    letter-spacing: .03em
}

.primary-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px
}

.nav-group {
    display: flex;
    align-items: center;
    gap: 0
}

.nav-divider {
    width: 1px;
    height: 18px;
    background: #d4d4d4;
    margin: 0 8px;
    flex-shrink: 0
}

.nav-link {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    color: #2b2b2b;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 4px;
    transition: color .45s cubic-bezier(0.22, 1, 0.36, 1), background-color .45s cubic-bezier(0.22, 1, 0.36, 1);
    white-space: nowrap;
    display: inline-block
}

.nav-link:hover {
    color: #A50E0E;
    background-color: #a50e0e0f
}

.nav-link[aria-current="page"] {
    color: #A50E0E
}

.nav-link-accent {
    background: #A50E0E;
    color: #fff;
    border-radius: 4px;
    padding: 8px 16px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    text-decoration: none;
    transition: background-color .5s cubic-bezier(0.22, 1, 0.36, 1), transform .45s cubic-bezier(0.22, 1, 0.36, 1);
    white-space: nowrap;
    display: inline-block
}

.nav-link-accent:hover {
    background: #8a0b0b;
    transform: scale(1.04)
}

.site-footer {
    background: #1e1e2e;
    position: relative;
    overflow: hidden
}

.footer-texture {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: repeating-linear-gradient(45deg, #0d85580a 0px, #0d85580a 1px, transparent 1px, transparent 12px);
    z-index: 0
}

.footer-upper {
    background: #252538;
    position: relative;
    z-index: 1;
    padding: 48px 0
}

.footer-upper-pod {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 48px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px;
    flex-wrap: wrap
}

.footer-brand-cell {
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 240px
}

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

.footer-logo-card {
    background: #1e1e2e;
    border-radius: 10px;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #fffbe71f;
    box-shadow: 0 2px 2px 0 #0d85580d;
    min-width: 64px;
    height: 50px
}

.footer-logo-card img {
    width: auto;
    height: 36px;
    object-fit: contain;
    display: block
}

.footer-brand-name {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    color: #FFFBE7;
    letter-spacing: -.02em
}

.footer-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #fffbe7a6;
    max-width: 280px
}

.footer-contact-cell {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 220px
}

.footer-cell-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #0D8558;
    line-height: 1.1
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 8px
}

.footer-contact-icon {
    flex-shrink: 0;
    margin-top: 2px
}

.footer-contact-link {
    font-size: 15px;
    line-height: 1.6;
    color: #fffbe7d9;
    text-decoration: none;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.footer-contact-link:hover {
    color: #FFFBE7
}

.footer-contact-text {
    font-size: 15px;
    line-height: 1.6;
    color: #fffbe7b3
}

.footer-nav-cell {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 180px
}

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

.footer-nav-list li a {
    font-size: 15px;
    line-height: 1.6;
    color: #fffbe7bf;
    text-decoration: none;
    transition: color .45s cubic-bezier(0.22, 1, 0.36, 1);
    display: inline-block;
    padding: 4px 0
}

.footer-nav-list li a:hover {
    color: #FFFBE7
}

.footer-lower {
    position: relative;
    z-index: 1;
    border-top: 1px solid #fffbe714;
    padding: 24px 0
}

.footer-lower-pod {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px
}

.footer-copy {
    font-size: 15px;
    line-height: 1.6;
    color: #fffbe773
}

.footer-copy strong {
    color: #fffbe799;
    font-weight: 700
}

.cookie-bar {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: #fff;
    box-shadow: 0 10px 40px 0 #a50e0e1a;
    border-bottom: 1px solid #a50e0e1f;
    opacity: 0;
    transition: opacity .42s cubic-bezier(0.22, 1, 0.36, 1)
}

.cookie-bar-pod {
    max-width: 1366px;
    margin: 0 auto;
    padding: 24px 48px;
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap
}

.cookie-text-deck {
    flex: 1;
    min-width: 240px
}

.cookie-headline {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.1;
    color: #1e1e2e;
    margin: 0 0 8px
}

.cookie-body {
    font-size: 15px;
    line-height: 1.6;
    color: #2b2b2b;
    margin: 0 0 8px
}

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

.cookie-uses li {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a4a;
    padding-left: 16px;
    position: relative
}

.cookie-uses li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    border-radius: 1px;
    background: #0D8558
}

.cookie-policy-link {
    color: #A50E0E;
    text-decoration: underline;
    font-weight: 700
}

.cookie-btns {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    padding-top: 8px
}

.cookie-accept {
    background: #A50E0E;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 8px 24px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    cursor: pointer;
    font-family: 'Lato', sans-serif;
    transition: background-color .5s cubic-bezier(0.22, 1, 0.36, 1), transform .45s cubic-bezier(0.22, 1, 0.36, 1);
    min-height: 44px
}

.cookie-accept:hover {
    background: #8a0b0b;
    transform: scale(1.04)
}

.cookie-accept:focus-visible {
    outline: 3px solid #A50E0E;
    outline-offset: 2px
}

.cookie-decline {
    background: transparent;
    color: #A50E0E;
    border: 1px solid #A50E0E;
    border-radius: 4px;
    padding: 8px 24px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    cursor: pointer;
    font-family: 'Lato', sans-serif;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: background-color .5s cubic-bezier(0.22, 1, 0.36, 1), transform .45s cubic-bezier(0.22, 1, 0.36, 1);
    min-height: 44px
}

.cookie-decline:hover {
    background-color: #a50e0e0f;
    transform: scale(1.04)
}

.cookie-decline:focus-visible {
    outline: 3px solid #A50E0E;
    outline-offset: 2px
}

@media (max-width: 1024px) {
    .top-bar-pod {
        padding: 0 24px
    }

    .header-pod {
        padding: 24px;
        gap: 24px;
        flex-wrap: wrap
    }

    .primary-nav {
        width: 100%;
        justify-content: flex-start
    }

    .footer-upper-pod {
        padding: 0 24px;
        gap: 24px
    }

    .footer-lower-pod {
        padding: 0 24px
    }

    .cookie-bar-pod {
        padding: 24px
    }
}

@media (max-width: 640px) {
    .top-bar-pod {
        padding: 0 8px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }

    .header-pod {
        padding: 24px 8px
    }

    .brand-name {
        font-size: 18px
    }

    .primary-nav {
        gap: 4px
    }

    .nav-link {
        padding: 8px;
        font-size: 15px
    }

    .footer-upper-pod {
        padding: 0 8px;
        flex-direction: column
    }

    .footer-lower-pod {
        padding: 0 8px;
        flex-direction: column;
        align-items: flex-start
    }

    .cookie-bar-pod {
        padding: 24px 8px
    }

    .cookie-btns {
        flex-direction: column;
        width: 100%
    }

    .cookie-accept,
    .cookie-decline {
        width: 100%;
        justify-content: center
    }
}

.legal-details {
    max-width: 1366px;
    margin: 0 auto;
    padding: 96px 48px;
    color: #2a2a2a
}

.legal-details h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.02em;
    margin-bottom: 48px;
    color: #111
}

.legal-details h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.015em;
    margin-top: 96px;
    margin-bottom: 24px;
    color: #111
}

.legal-details h3 {
    font-size: 30px;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin-top: 48px;
    margin-bottom: 24px;
    color: #1b1b1b
}

.legal-details h4 {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: -.005em;
    margin-top: 48px;
    margin-bottom: 8px;
    color: #1b1b1b
}

.legal-details h5 {
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: 0;
    margin-top: 24px;
    margin-bottom: 8px;
    color: #222
}

.legal-details h6 {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    margin-top: 24px;
    margin-bottom: 8px;
    color: #333;
    text-transform: uppercase
}

.legal-details p {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 24px;
    color: #2a2a2a
}

.legal-details ul {
    margin: 24px 0;
    padding-left: 24px;
    list-style: none
}

.legal-details ol {
    margin: 24px 0;
    padding-left: 24px;
    list-style: decimal
}

.legal-details ul li {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 8px;
    padding-left: 24px;
    position: relative;
    color: #2a2a2a
}

.legal-details ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 11px;
    width: 6px;
    height: 6px;
    border-radius: 1px;
    background-color: #A50E0E;
    transform: rotate(45deg)
}

.legal-details ol li {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 8px;
    padding-left: 8px;
    color: #2a2a2a
}

.legal-details ul ul,
.legal-details ol ul,
.legal-details ul ol,
.legal-details ol ol {
    margin-top: 8px;
    margin-bottom: 8px
}

.legal-details ul ul li::before {
    background-color: #0D8558;
    width: 5px;
    height: 5px;
    border-radius: 0
}

.legal-details strong,
.legal-details b {
    font-weight: 700;
    color: #111
}

.legal-details em,
.legal-details i {
    font-style: italic;
    color: #2a2a2a
}

.legal-details table {
    width: 100%;
    border-collapse: collapse;
    margin: 48px 0;
    font-size: 15px;
    line-height: 1.6;
    box-shadow: 0 7px 14px 0 #a50e0e1c;
    border-radius: 4px;
    overflow: hidden
}

.legal-details thead {
    background-color: #A50E0E
}

.legal-details thead th {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 24px;
    text-align: left;
    border: none
}

.legal-details tbody tr {
    border-bottom: 1px solid #a50e0e14;
    transition: background-color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

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

.legal-details tbody tr:nth-child(even) {
    background-color: #FFFBE7
}

.legal-details tbody tr:hover {
    background-color: #0d85580f
}

.legal-details td {
    padding: 24px;
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a2a;
    vertical-align: top
}

.legal-details th {
    padding: 24px;
    font-size: 15px;
    line-height: 1.6;
    vertical-align: top
}

.legal-details div {
    font-size: 18px;
    line-height: 1.6
}

@media (max-width: 1024px) {
    .legal-details {
        padding: 96px 24px
    }

    .legal-details h1 {
        font-size: 42px
    }

    .legal-details h2 {
        font-size: 30px;
        margin-top: 48px
    }

    .legal-details h3 {
        font-size: 22px
    }
}

@media (max-width: 640px) {
    .legal-details {
        padding: 48px 24px
    }

    .legal-details h1 {
        font-size: 30px;
        margin-bottom: 24px
    }

    .legal-details h2 {
        font-size: 22px;
        margin-top: 48px
    }

    .legal-details h3 {
        font-size: 18px;
        margin-top: 24px
    }

    .legal-details h4,
    .legal-details h5,
    .legal-details h6 {
        font-size: 15px
    }

    .legal-details table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 24px 0
    }

    .legal-details thead th,
    .legal-details td {
        padding: 8px 24px;
        min-width: 120px
    }

    .legal-details p,
    .legal-details ul li,
    .legal-details ol li {
        font-size: 15px
    }
}

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

.srvdet .tblock {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 2fr;
    min-block-size: 420px;
    max-width: 1366px;
    margin: 0 auto;
    padding: 48px;
    gap: 48px;
    align-items: center
}

.srvdet .tblock-img-col {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    height: 380px
}

.srvdet .tblock-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 10px
}

.srvdet .tblock-img-col::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, #a50e0e61 0%, transparent 60%);
    border-radius: 10px;
    pointer-events: none
}

.srvdet .tblock-geo1 {
    position: absolute;
    top: 24px;
    left: -16px;
    width: 64px;
    height: 64px;
    border-radius: 10px;
    background: #a50e0e17;
    pointer-events: none;
    z-index: 0
}

.srvdet .tblock-geo2 {
    position: absolute;
    bottom: 48px;
    right: -20px;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background: #0d85581a;
    pointer-events: none;
    z-index: 0
}

.srvdet .tblock-geo3 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 220px;
    height: 220px;
    border-radius: 10px;
    border: 1px solid #a50e0e12;
    pointer-events: none;
    z-index: 0
}

.srvdet .tblock-text-col {
    position: relative;
    z-index: 1
}

.srvdet .eyebrow {
    display: inline-block;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .06em;
    color: #0D8558;
    background: #FFFBE7;
    border-radius: 4px;
    padding: 0 8px;
    margin-bottom: 24px
}

.srvdet .tblock-h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.02em;
    margin: 0 0 24px;
    color: #1b1b1b
}

.srvdet .tblock-h1 span {
    color: #A50E0E
}

.srvdet .tmeta-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    align-items: center
}

.srvdet .tmeta-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a3a
}

.srvdet .tmeta-icon {
    flex-shrink: 0
}

.srvdet .tmeta-tag {
    background: #a50e0e14;
    color: #A50E0E;
    border-radius: 4px;
    padding: 0 8px;
    font-size: 15px;
    line-height: 1.6
}

.srvdet .tmeta-format {
    background: #0d855817;
    color: #0D8558;
    border-radius: 4px;
    padding: 0 8px;
    font-size: 15px;
    line-height: 1.6
}

.srvdet .tblock-deco-line {
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: 100%;
    background: linear-gradient(to bottom, #A50E0E 0%, #0D8558 100%);
    opacity: .18;
    pointer-events: none
}

.srvdet .tblock-deco-line-h {
    position: absolute;
    bottom: 0;
    left: 48px;
    right: 48px;
    height: 1px;
    background: linear-gradient(to right, #A50E0E 0%, #0D8558 100%);
    opacity: .13;
    pointer-events: none
}

.srvdet .detail-body {
    background: #FFFBE7;
    position: relative
}

.srvdet .detail-body-inner {
    max-width: 1366px;
    margin: 0 auto;
    padding: 48px 48px 96px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 48px;
    align-items: start
}

.srvdet .detail-torn-top {
    width: 100%;
    overflow: hidden;
    line-height: 0
}

.srvdet .detail-torn-top svg {
    display: block;
    width: 100%
}

.srvdet .prog-col {
    opacity: 0;
    animation: fadeup .55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: .15s
}

.srvdet .desc-col {
    opacity: 0;
    animation: fadeup .65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: .35s
}

.srvdet .price-panel {
    opacity: 0;
    animation: fadeup .75s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: .55s
}

@keyframes fadeup {
    from {
        opacity: 0;
        transform: translateY(18px)
    }

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

.srvdet .sec-label {
    display: inline-block;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .05em;
    background: #A50E0E;
    color: #fff;
    border-radius: 4px;
    padding: 0 8px;
    margin-bottom: 24px
}

.srvdet .prog-h2 {
    font-size: 30px;
    line-height: 1.1;
    letter-spacing: -.01em;
    color: #1b1b1b;
    margin: 0 0 24px;
    text-align: center
}

.srvdet .prog-h2 span {
    color: #A50E0E
}

.srvdet .prog-body {
    font-size: 18px;
    line-height: 1.6;
    color: #2a2a2a
}

.srvdet .prog-body h2 {
    font-size: 22px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 24px 0 8px;
    background: #a50e0e14;
    border-radius: 4px;
    padding: 4px 8px;
    display: inline-block
}

.srvdet .prog-body p {
    margin: 0 0 24px
}

.srvdet .prog-body ul {
    margin: 0 0 24px 24px;
    padding: 0
}

.srvdet .prog-body ul li {
    margin-bottom: 8px;
    list-style: none;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px
}

.srvdet .prog-body ul li::before {
    content: "";
    flex-shrink: 0;
    margin-top: 7px;
    width: 7px;
    height: 7px;
    border-radius: 1px;
    background: #0D8558;
    display: block
}

.srvdet .prog-body ol {
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
    counter-reset: prog-cnt
}

.srvdet .prog-body ol li {
    counter-increment: prog-cnt;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 18px;
    line-height: 1.6
}

.srvdet .prog-body ol li::after {
    content: counter(prog-cnt);
    font-size: 15px;
    color: #A50E0E;
    min-width: 24px;
    text-align: right;
    font-variant-numeric: tabular-nums;
    margin-top: 2px
}

.srvdet .prog-body dl {
    margin: 0 0 24px
}

.srvdet .prog-body dt {
    font-size: 18px;
    font-weight: 700;
    color: #A50E0E;
    margin-bottom: 4px
}

.srvdet .prog-body dd {
    margin: 0 0 16px 24px;
    font-size: 18px;
    line-height: 1.6;
    color: #2a2a2a
}

.srvdet .prog-body blockquote {
    border-top: 2px solid #A50E0E;
    border-bottom: 2px solid #0D8558;
    margin: 24px 0;
    padding: 8px 24px;
    background: #fffbe7b3;
    border-radius: 4px;
    font-size: 18px;
    line-height: 1.6;
    color: #2a2a2a
}

.srvdet .prog-body small {
    font-size: 15px;
    color: #555
}

.srvdet .prog-body figure {
    margin: 24px 0
}

.srvdet .prog-body figcaption {
    font-size: 15px;
    color: #555;
    margin-top: 8px
}

.srvdet .prog-body details {
    margin-bottom: 8px;
    border: 1px solid #a50e0e26;
    border-radius: 4px;
    padding: 8px 24px;
    background: #fff
}

.srvdet .prog-body summary {
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    color: #1b1b1b
}

.srvdet .desc-col .desc-h2 {
    font-size: 30px;
    line-height: 1.1;
    letter-spacing: -.01em;
    color: #1b1b1b;
    margin: 0 0 24px;
    text-align: center
}

.srvdet .desc-col .desc-h2 span {
    color: #0D8558
}

.srvdet .desc-body {
    font-size: 18px;
    line-height: 1.6;
    color: #2a2a2a
}

.srvdet .desc-body p:first-child {
    font-size: 22px;
    line-height: 1.6
}

.srvdet .desc-body p {
    margin: 0 0 24px
}

.srvdet .desc-body h2 {
    font-size: 22px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 24px 0 8px;
    background: #0d85581a;
    border-radius: 4px;
    padding: 4px 8px;
    display: inline-block
}

.srvdet .desc-body em {
    color: #A50E0E;
    font-style: normal;
    font-weight: 600
}

.srvdet .desc-body ol {
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
    counter-reset: desc-cnt
}

.srvdet .desc-body ol li {
    counter-increment: desc-cnt;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 18px;
    line-height: 1.6
}

.srvdet .desc-body ol li::after {
    content: counter(desc-cnt);
    font-size: 15px;
    color: #0D8558;
    min-width: 24px;
    text-align: right;
    font-variant-numeric: tabular-nums;
    margin-top: 2px
}

.srvdet .desc-body details {
    margin-bottom: 8px;
    border: 1px solid #0d85582e;
    border-radius: 4px;
    padding: 8px 24px;
    background: #fff
}

.srvdet .desc-body summary {
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    color: #1b1b1b
}

.srvdet .desc-body small {
    font-size: 15px;
    color: #555
}

.srvdet .price-panel {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 10px 40px 0 #a50e0e1a;
    padding: 24px;
    position: sticky;
    top: 24px
}

.srvdet .price-panel .pp-price {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #A50E0E;
    font-weight: 800;
    margin-bottom: 8px
}

.srvdet .price-panel .pp-pricedes {
    font-size: 15px;
    line-height: 1.6;
    color: #555;
    margin-bottom: 24px
}

.srvdet .pp-divider {
    height: 1px;
    background: #a50e0e1f;
    margin: 24px 0;
    border-radius: 1px
}

.srvdet .pp-meta-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px
}

.srvdet .pp-meta-list li {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a2a;
    border-bottom: 1px solid #0d855814
}

.srvdet .pp-meta-list li:last-child {
    border-bottom: none
}

.srvdet .pp-meta-list .pp-label {
    color: #555
}

.srvdet .pp-meta-list .pp-val {
    font-weight: 600;
    color: #1b1b1b
}

.srvdet .pp-seats {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.6;
    color: #A50E0E;
    margin-bottom: 24px
}

.srvdet .pp-seats-dot {
    width: 8px;
    height: 8px;
    border-radius: 1px;
    background: #A50E0E;
    flex-shrink: 0;
    animation: blink 1.4s ease-in-out infinite
}

@keyframes blink {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .3
    }
}

.srvdet .pp-btn {
    display: block;
    width: 100%;
    background: #A50E0E;
    color: #fff !important;
    border: none;
    border-radius: 4px;
    font-size: 18px;
    line-height: 1.6;
    padding: 8px 24px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1), background .55s ease-in-out;
    box-shadow: 0 7px 14px 0 #a50e0e1c
}

.srvdet .pp-btn:hover {
    transform: scale(1.03);
    background: #8a0b0b
}

.srvdet .pp-btn:focus {
    outline: 2px solid #A50E0E;
    outline-offset: 3px
}

.srvdet .pp-btn-sec {
    display: block;
    width: 100%;
    background: transparent;
    color: #0D8558;
    border: 1px solid #0D8558;
    border-radius: 4px;
    font-size: 15px;
    line-height: 1.6;
    padding: 8px 24px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    margin-top: 8px;
    transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1), background .6s ease-in-out, color .6s ease-in-out
}

.srvdet .pp-btn-sec:hover {
    transform: scale(1.02);
    background: #0d855812
}

.srvdet .pp-btn-sec:focus {
    outline: 2px solid #0D8558;
    outline-offset: 3px
}

.srvdet .pub-date {
    font-size: 15px;
    color: #888;
    margin-top: 24px;
    text-align: center
}

.srvdet .deco-line-left {
    position: absolute;
    left: 24px;
    top: 48px;
    bottom: 48px;
    width: 1px;
    background: linear-gradient(to bottom, #a50e0e2e 0%, #0d85582e 100%);
    pointer-events: none
}

.srvdet .deco-line-right {
    position: absolute;
    right: 24px;
    top: 48px;
    bottom: 48px;
    width: 1px;
    background: linear-gradient(to bottom, #0d85582e 0%, #a50e0e2e 100%);
    pointer-events: none
}

@media (max-width: 1024px) {
    .srvdet .tblock {
        grid-template-columns: 1fr;
        padding: 48px 24px;
        gap: 24px
    }

    .srvdet .tblock-img-col {
        height: 260px
    }

    .srvdet .tblock-h1 {
        font-size: 42px
    }

    .srvdet .detail-body-inner {
        grid-template-columns: 1fr;
        padding: 48px 24px 96px;
        gap: 48px
    }

    .srvdet .price-panel {
        position: static
    }
}

@media (max-width: 640px) {
    .srvdet .tblock-h1 {
        font-size: 30px
    }

    .srvdet .tblock {
        padding: 24px 8px;
        gap: 24px
    }

    .srvdet .detail-body-inner {
        padding: 24px 8px 48px;
        gap: 24px
    }

    .srvdet .tmeta-row {
        gap: 8px
    }

    .srvdet .pp-price {
        font-size: 30px
    }
}

@media print {

    .srvdet .tblock-geo1,
    .srvdet .tblock-geo2,
    .srvdet .tblock-geo3,
    .srvdet .tblock-deco-line,
    .srvdet .tblock-deco-line-h,
    .srvdet .deco-line-left,
    .srvdet .deco-line-right,
    .srvdet .detail-torn-top,
    .srvdet .pp-seats-dot {
        display: none !important
    }

    .srvdet .tblock {
        grid-template-columns: 1fr 2fr;
        padding: 24px;
        gap: 24px
    }

    .srvdet .detail-body-inner {
        grid-template-columns: 1fr;
        padding: 24px;
        gap: 24px
    }

    .srvdet .price-panel {
        box-shadow: none;
        border: 1px solid #ccc;
        position: static
    }

    .srvdet .pp-btn,
    .srvdet .pp-btn-sec {
        display: none
    }

    .srvdet .detail-body {
        background: #fff
    }

    .srvdet .prog-body details,
    .srvdet .desc-body details {
        border: 1px solid #ccc
    }
}

.ctus {
    max-width: 1366px;
    margin: 0 auto;
    overflow: hidden
}

.ctus .band-title {
    position: relative;
    padding: 48px;
    background: linear-gradient(118deg, #A50E0E 0%, #A50E0E 42%, #0D8558 42%, #0D8558 100%);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px
}

.ctus .band-title .bg-num {
    position: absolute;
    right: 48px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 72px;
    font-weight: 900;
    color: #ffffff12;
    letter-spacing: -4px;
    line-height: 1.1;
    pointer-events: none;
    user-select: none
}

.ctus .band-title .eyebrow {
    font-size: 15px;
    letter-spacing: .12em;
    color: #ffffffb8;
    margin-bottom: 8px;
    line-height: 1.6;
    text-transform: uppercase
}

.ctus .band-title .t-left {
    flex: 1;
    min-width: 0
}

.ctus .band-title h1 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #fff;
    margin: 0
}

.ctus .band-title h1 span {
    color: #FFFBE7
}

.ctus .band-title .img-bw {
    width: 180px;
    height: 120px;
    flex-shrink: 0;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 10px 40px 0 #a50e0e1a;
    filter: grayscale(1) contrast(1.2)
}

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

.ctus .divider-dots {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px 48px;
    background: #fff
}

.ctus .divider-dots .dot-row {
    display: flex;
    flex-direction: row;
    gap: 8px
}

.ctus .divider-dots .dot-row span {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #A50E0E;
    opacity: .22;
    display: inline-block
}

.ctus .divider-dots .dot-row.second span {
    background: #0D8558;
    opacity: .18
}

.ctus .contact-body {
    background: #fff;
    padding: 48px 48px 96px;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 48px;
    align-items: start
}

.ctus .contact-info {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.ctus .info-strip {
    background: #FFFBE7;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 7px 14px 0 #0d85581c;
    position: relative
}

.ctus .info-strip .strip-tag {
    position: absolute;
    top: -1px;
    right: 16px;
    background: #0D8558;
    color: #fff;
    font-size: 15px;
    padding: 4px 8px;
    border-radius: 0 0 4px 4px;
    letter-spacing: .06em;
    line-height: 1.1
}

.ctus .info-strip h4 {
    font-size: 15px;
    letter-spacing: .1em;
    color: #A50E0E;
    margin: 0 0 8px;
    text-transform: uppercase;
    line-height: 1.1
}

.ctus .info-strip p {
    font-size: 18px;
    color: #1b1b1b;
    margin: 0;
    line-height: 1.6
}

.ctus .info-strip a {
    color: #0D8558;
    text-decoration: underline;
    text-decoration-style: double;
    text-underline-offset: 3px;
    transition: color .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.ctus .info-strip a:hover {
    color: #A50E0E
}

.ctus .info-desc {
    font-size: 18px;
    color: #2c2c2c;
    line-height: 1.6
}

.ctus .info-desc .big {
    font-size: 22px;
    line-height: 1.6
}

.ctus .form-panel {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 10px 40px 0 #a50e0e1a;
    padding: 48px;
    position: relative
}

.ctus .form-panel .panel-tag {
    position: absolute;
    top: 0;
    left: 24px;
    background: #A50E0E;
    color: #fff;
    font-size: 15px;
    padding: 4px 8px;
    border-radius: 0 0 4px 4px;
    letter-spacing: .06em;
    line-height: 1.1
}

.ctus .form-panel h2 {
    font-size: 30px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 24px 0 8px;
    letter-spacing: -.01em
}

.ctus .form-panel h2 span {
    color: #0D8558
}

.ctus .form-panel .sub {
    font-size: 15px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 24px
}

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

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

.ctus .field-row label {
    font-size: 15px;
    color: #2c2c2c;
    letter-spacing: .04em;
    line-height: 1.1
}

.ctus .field-row input[type="email"],
.ctus .field-row select {
    width: 100%;
    padding: 8px 24px;
    border: 1px solid #d0d0d0;
    border-radius: 4px;
    font-size: 18px;
    color: #1b1b1b;
    background: #fff;
    line-height: 1.6;
    box-shadow: 0 2px 2px 0 #a50e0e0d;
    transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box
}

.ctus .field-row input[type="email"]::placeholder {
    color: #2c2c2c61
}

.ctus .field-row input[type="email"]:focus,
.ctus .field-row select:focus {
    outline: none;
    border-color: #0D8558;
    box-shadow: 0 7px 14px 0 #0d85581c
}

.ctus .select-wrap {
    position: relative
}

.ctus .select-wrap select {
    width: 100%;
    padding: 8px 48px 8px 24px;
    border: 1px solid #d0d0d0;
    border-radius: 4px;
    font-size: 18px;
    color: #1b1b1b;
    background: #fff;
    line-height: 1.6;
    box-shadow: 0 2px 2px 0 #a50e0e0d;
    transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    box-sizing: border-box
}

.ctus .select-wrap select:focus {
    outline: none;
    border-color: #0D8558;
    box-shadow: 0 7px 14px 0 #0d85581c
}

.ctus .select-wrap .sel-arrow {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    width: 16px;
    height: 16px
}

.ctus .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px
}

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

.ctus .privacy-row .priv-text {
    font-size: 15px;
    color: #444;
    line-height: 1.6
}

.ctus .privacy-row .priv-text a {
    color: #0D8558;
    text-decoration: underline;
    text-decoration-style: double;
    text-underline-offset: 3px;
    transition: color .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.ctus .privacy-row .priv-text a:hover {
    color: #A50E0E
}

.ctus .btn-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #A50E0E;
    color: #fff;
    font-size: 18px;
    letter-spacing: .04em;
    border: none;
    border-radius: 4px;
    padding: 8px 48px;
    cursor: pointer;
    box-shadow: 0 7px 14px 0 #a50e0e1c;
    transition: background .6s cubic-bezier(0.22, 1, 0.36, 1), transform .45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1);
    line-height: 1.6;
    align-self: flex-start
}

.ctus .btn-submit:hover {
    background: #8a0b0b;
    transform: scale(1.04);
    box-shadow: 0 10px 40px 0 #a50e0e1a
}

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

.ctus .btn-submit:active {
    transform: scale(0.98)
}

@media (max-width: 1024px) {
    .ctus .contact-body {
        grid-template-columns: 1fr;
        padding: 48px 24px 96px
    }

    .ctus .band-title {
        padding: 48px 24px;
        flex-direction: column;
        align-items: flex-start;
        gap: 24px
    }

    .ctus .band-title .bg-num {
        right: 24px;
        font-size: 58px
    }

    .ctus .band-title .img-bw {
        width: 100%;
        height: 120px
    }

    .ctus .divider-dots {
        padding: 24px
    }

    .ctus .form-panel {
        padding: 48px 24px
    }
}

@media (max-width: 640px) {
    .ctus .band-title h1 {
        font-size: 30px
    }

    .ctus .form-panel h2 {
        font-size: 22px
    }

    .ctus .btn-submit {
        width: 100%
    }

    .ctus .contact-body {
        padding: 24px 8px 48px;
        gap: 24px
    }

    .ctus .band-title {
        padding: 24px 8px
    }

    .ctus .divider-dots {
        padding: 24px 8px
    }

    .ctus .form-panel {
        padding: 24px 8px
    }

    .ctus .info-strip {
        padding: 24px 8px
    }
}

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

.doc-pg .split-reveal {
    animation: splitOpen .6s cubic-bezier(0.22, 1, 0.36, 1) both
}

@keyframes splitOpen {
    0% {
        clip-path: inset(0 50% 0 50%);
        opacity: 0
    }

    100% {
        clip-path: inset(0 0% 0 0%);
        opacity: 1
    }
}

.doc-pg .pg-width {
    max-width: 1366px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 48px;
    padding-right: 48px
}

@media (max-width: 640px) {
    .doc-pg .pg-width {
        padding-left: 24px;
        padding-right: 24px
    }
}

.doc-pg .two-tone-a {
    color: #1b1b1b
}

.doc-pg .two-tone-b {
    color: #A50E0E
}

.doc-pg .two-tone-g {
    color: #0D8558
}

.doc-pg .strip-head {
    display: inline;
    background: #FFFBE7;
    padding: 0 8px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone
}

.doc-pg .notch-block {
    position: relative;
    padding-left: 24px
}

.doc-pg .notch-block::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 4px;
    background: #A50E0E;
    border-radius: 1px
}

.doc-pg a.dbl-link {
    color: #0D8558;
    text-decoration: none;
    border-bottom: 2px solid #0D8558;
    box-shadow: 0 3px 0 0 #0d855859;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1), border-color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.doc-pg a.dbl-link:hover {
    color: #A50E0E;
    border-bottom-color: #A50E0E;
    box-shadow: 0 3px 0 0 #a50e0e4d
}

.doc-pg .tb-wrap {
    padding-top: 96px;
    padding-bottom: 48px;
    background: linear-gradient(180deg, #FFFBE7 0%, #fff 100%);
    position: relative;
    overflow: hidden
}

.doc-pg .tb-atmo {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0
}

.doc-pg .tb-atmo.a1 {
    width: 340px;
    height: 220px;
    background: #a50e0e12;
    filter: blur(60px);
    top: -40px;
    right: 80px
}

.doc-pg .tb-atmo.a2 {
    width: 260px;
    height: 180px;
    background: #0d85580f;
    filter: blur(50px);
    bottom: 0;
    left: 60px
}

.doc-pg .tb-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 48px;
    align-items: center
}

@media (max-width: 1024px) {
    .doc-pg .tb-inner {
        grid-template-columns: 280px 1fr;
        gap: 24px
    }
}

@media (max-width: 640px) {
    .doc-pg .tb-inner {
        grid-template-columns: 1fr;
        gap: 24px
    }
}

.doc-pg .tb-img-col {
    position: relative
}

.doc-pg .tb-img-wrap {
    width: 100%;
    aspect-ratio: 3/4;
    overflow: hidden;
    border-radius: 4px;
    clip-path: polygon(0 0, 90% 0, 100% 8%, 100% 100%, 10% 100%, 0 92%);
    position: relative;
    box-shadow: 0 7px 14px 0 #a50e0e1c
}

.doc-pg .tb-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.doc-pg .tb-img-wrap:hover img {
    transform: scale(1.04)
}

.doc-pg .tb-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #a50e0ee0;
    color: #fff;
    font-size: 15px;
    line-height: 1.6;
    padding: 8px 24px;
    transform: translateY(100%);
    transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.doc-pg .tb-img-wrap:hover .tb-caption {
    transform: translateY(0)
}

.doc-pg .tb-num-badge {
    position: absolute;
    top: 24px;
    right: -8px;
    background: #A50E0E;
    color: #fff;
    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
    padding: 8px 24px;
    border-radius: 4px 0 0 4px;
    box-shadow: 0 2px 2px 0 #a50e0e0d;
    letter-spacing: -.02em
}

.doc-pg .tb-text-col {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.doc-pg .tb-label {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #0D8558;
    font-weight: 600
}

.doc-pg .tb-h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.03em;
    margin: 0
}

@media (max-width: 1024px) {
    .doc-pg .tb-h1 {
        font-size: 42px
    }
}

@media (max-width: 640px) {
    .doc-pg .tb-h1 {
        font-size: 30px
    }

    .doc-pg .tb-num-badge {
        font-size: 22px
    }
}

.doc-pg .tb-desc {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    max-width: 560px
}

.doc-pg .tb-meta-row {
    display: flex;
    flex-direction: row;
    gap: 24px;
    flex-wrap: wrap
}

.doc-pg .tb-meta-item {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.doc-pg .tb-meta-num {
    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
    color: #A50E0E;
    letter-spacing: -.02em
}

.doc-pg .tb-meta-lbl {
    font-size: 15px;
    line-height: 1.6;
    color: #555
}

.doc-pg .tb-corner-deco {
    position: absolute;
    pointer-events: none
}

.doc-pg .tb-corner-deco.tl {
    top: 24px;
    left: 24px;
    width: 40px;
    height: 40px
}

.doc-pg .tb-corner-deco.br {
    bottom: 24px;
    right: 24px;
    width: 40px;
    height: 40px
}

.doc-pg .div-pencil {
    display: block;
    width: 100%;
    height: 18px;
    overflow: visible
}

.doc-pg .metrics-wrap {
    padding-top: 96px;
    padding-bottom: 96px;
    background: #fff;
    position: relative
}

.doc-pg .metrics-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    align-items: start
}

@media (max-width: 1024px) {
    .doc-pg .metrics-grid {
        grid-template-columns: 1fr;
        gap: 48px
    }
}

.doc-pg .metrics-sidebar {
    position: sticky;
    top: 48px;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.doc-pg .metrics-sidebar-h {
    font-size: 22px;
    line-height: 1.1;
    margin: 0;
    font-weight: 700
}

.doc-pg .metrics-sidebar-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #2e2e2e
}

.doc-pg .metrics-sidebar-stat {
    background: linear-gradient(135deg, #FFFBE7 0%, #fff 100%);
    border: 1px solid #a50e0e1f;
    border-radius: 4px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 2px 2px 0 #a50e0e0d
}

.doc-pg .mss-val {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    color: #A50E0E;
    letter-spacing: -.03em
}

.doc-pg .mss-label {
    font-size: 15px;
    line-height: 1.6;
    color: #333
}

.doc-pg .metrics-cards {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.doc-pg .metric-card {
    border-radius: 4px;
    padding: 24px;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 2px 0 #a50e0e0d;
    position: relative;
    background: #fff;
    transition: box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1), background .55s cubic-bezier(0.22, 1, 0.36, 1);
    overflow: hidden
}

.doc-pg .metric-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #a50e0e0a 0%, #0d855808 100%);
    opacity: 0;
    transition: opacity .55s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
    border-radius: 4px
}

.doc-pg .metric-card:hover {
    box-shadow: 0 10px 40px 0 #a50e0e1a
}

.doc-pg .metric-card:hover::after {
    opacity: 1
}

.doc-pg .mc-top {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px
}

.doc-pg .mc-icon {
    width: 48px;
    height: 48px;
    border-radius: 4px;
    background: #FFFBE7;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.doc-pg .mc-title {
    font-size: 18px;
    line-height: 1.1;
    font-weight: 700;
    margin: 0;
    color: #1b1b1b
}

.doc-pg .mc-tag {
    font-size: 15px;
    color: #0D8558;
    font-weight: 600;
    margin-left: auto;
    white-space: nowrap
}

.doc-pg .mc-body {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 24px
}

.doc-pg .mc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px
}

.doc-pg .mc-table th {
    text-align: left;
    font-weight: 600;
    color: #555;
    padding: 8px;
    border-bottom: 1px solid #e8e8e8;
    font-size: 15px
}

.doc-pg .mc-table td {
    padding: 8px;
    border-bottom: 1px solid #f2f2f2;
    color: #1b1b1b;
    line-height: 1.6
}

.doc-pg .mc-table tr:last-child td {
    border-bottom: none
}

.doc-pg .mc-table .td-num {
    text-align: right;
    font-weight: 700;
    color: #A50E0E;
    font-variant-numeric: tabular-nums
}

@media (max-width: 640px) {
    .doc-pg .mc-table {
        display: none
    }

    .doc-pg .mc-cards-mob {
        display: flex;
        flex-direction: column;
        gap: 8px
    }

    .doc-pg .mc-mob-row {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 8px;
        background: #FFFBE7;
        border-radius: 4px;
        font-size: 15px;
        line-height: 1.6
    }

    .doc-pg .mc-mob-val {
        font-weight: 700;
        color: #A50E0E
    }
}

@media (min-width: 641px) {
    .doc-pg .mc-cards-mob {
        display: none
    }
}

.doc-pg .div-thick {
    height: 8px;
    background: linear-gradient(90deg, #A50E0E 0%, #0D8558 100%);
    border-radius: 0
}

.doc-pg .perf-wrap {
    padding-top: 96px;
    padding-bottom: 96px;
    background: linear-gradient(180deg, #0d85580f 0%, #fff 60%);
    position: relative
}

.doc-pg .perf-head-row {
    text-align: center;
    margin-bottom: 48px
}

.doc-pg .perf-h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.025em;
    margin: 0 0 24px
}

@media (max-width: 640px) {
    .doc-pg .perf-h2 {
        font-size: 30px
    }
}

.doc-pg .perf-intro {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    max-width: 640px;
    margin: 0 auto
}

.doc-pg .perf-cols {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 48px
}

@media (max-width: 1024px) {
    .doc-pg .perf-cols {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 640px) {
    .doc-pg .perf-cols {
        grid-template-columns: 1fr
    }
}

.doc-pg .perf-col {
    border-radius: 4px;
    padding: 24px;
    background: #fff;
    border: 1px solid #e4e4e4;
    box-shadow: 0 2px 2px 0 #0d85580d;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1), transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.doc-pg .perf-col:hover {
    box-shadow: 0 7px 14px 0 #0d85581c;
    transform: translateY(-4px)
}

.doc-pg .pc-num {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    color: #0D8558;
    letter-spacing: -.03em;
    text-align: right
}

.doc-pg .pc-h {
    font-size: 18px;
    line-height: 1.1;
    font-weight: 700;
    margin: 0;
    color: #1b1b1b
}

.doc-pg .pc-body {
    font-size: 15px;
    line-height: 1.6;
    color: #333
}

.doc-pg .perf-wide-block {
    background: #1b1b1b;
    border-radius: 4px;
    padding: 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    box-shadow: 0 10px 40px 0 #a50e0e1a
}

@media (max-width: 640px) {
    .doc-pg .perf-wide-block {
        grid-template-columns: 1fr;
        padding: 24px;
        gap: 24px
    }
}

.doc-pg .pwb-left {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.doc-pg .pwb-h {
    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
    color: #fff;
    margin: 0;
    letter-spacing: -.02em
}

.doc-pg .pwb-body {
    font-size: 15px;
    line-height: 1.6;
    color: #ccc
}

.doc-pg .pwb-right {
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center
}

.doc-pg .pwb-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    padding: 8px 0;
    border-bottom: 1px solid #ffffff14
}

.doc-pg .pwb-row:last-child {
    border-bottom: none
}

.doc-pg .pwb-bar-wrap {
    flex: 1;
    height: 8px;
    background: #ffffff1a;
    border-radius: 1px;
    overflow: hidden
}

.doc-pg .pwb-bar {
    height: 100%;
    border-radius: 1px;
    background: linear-gradient(90deg, #A50E0E 0%, #0D8558 100%);
    transition: width .7s cubic-bezier(0.22, 1, 0.36, 1)
}

.doc-pg .pwb-label {
    font-size: 15px;
    color: #ccc;
    min-width: 120px
}

.doc-pg .pwb-pct {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    min-width: 48px;
    text-align: right;
    font-variant-numeric: tabular-nums
}

.doc-pg .corner-svg {
    position: absolute;
    pointer-events: none
}

.rt {
    max-width: 1366px;
    margin: 0 auto;
    overflow: hidden
}

.rt .pg-load-1 {
    animation: slideUp .55s cubic-bezier(0.22, 1, 0.36, 1) .1s both
}

.rt .pg-load-2 {
    animation: slideUp .55s cubic-bezier(0.22, 1, 0.36, 1) .22s both
}

.rt .pg-load-3 {
    animation: slideUp .5s cubic-bezier(0.22, 1, 0.36, 1) .32s both
}

.rt .pg-load-4 {
    animation: slideUp .45s cubic-bezier(0.22, 1, 0.36, 1) .4s both
}

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

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

.rt .title-blk {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 0;
    background: #fff;
    position: relative
}

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

.rt .title-blk::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 64px 64px 0;
    border-color: transparent #A50E0E transparent transparent;
    pointer-events: none;
    z-index: 1
}

.rt .title-txt {
    padding: 96px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 2
}

.rt .title-mosaic {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 8px;
    padding: 48px 48px 48px 8px;
    position: relative;
    z-index: 2
}

.rt .title-mosaic::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 48px 0 0 48px;
    border-color: transparent transparent transparent #0D8558;
    pointer-events: none
}

.rt .mosaic-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 4px
}

.rt .mosaic-img-wrap {
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 7px 14px 0 #a50e0e1c
}

.rt .mosaic-img-wrap:first-child {
    grid-row: span 2
}

.rt .mosaic-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.rt .mosaic-img-wrap:hover img {
    transform: scale(1.04)
}

.rt .h1-lbl {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.02em;
    font-weight: 800;
    margin-bottom: 24px;
    color: #1a1a1a
}

.rt .h1-lbl .acc {
    color: #A50E0E
}

.rt .h1-sub {
    font-size: 18px;
    line-height: 1.6;
    color: #3a3a3a;
    margin-bottom: 48px;
    max-width: 420px
}

.rt .btn-prim {
    display: inline-block;
    background: #A50E0E;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 24px 48px;
    border-radius: 4px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 7px 14px 0 #a50e0e1c;
    align-self: flex-start
}

.rt .btn-prim:hover {
    transform: scale(1.04);
    box-shadow: 0 10px 40px 0 #a50e0e1a
}

.rt .btn-sec {
    display: inline-block;
    background: transparent;
    color: #A50E0E;
    font-size: 15px;
    font-weight: 600;
    padding: 24px 48px;
    border-radius: 4px;
    text-decoration: none;
    border: 1px solid #A50E0E;
    cursor: pointer;
    transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1), background .5s ease-in-out
}

.rt .btn-sec:hover {
    transform: scale(1.03);
    background: #a50e0e0f
}

.rt .adapt-blk {
    background: #FFFBE7;
    padding: 96px 48px;
    position: relative
}

.rt .adapt-blk::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 40px 0 0;
    border-color: #fff transparent transparent;
    pointer-events: none
}

.rt .adapt-blk::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 40px 40px;
    border-color: transparent transparent #fff;
    pointer-events: none
}

.rt .sec-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #0D8558;
    margin-bottom: 8px
}

.rt .sec-hdg {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -.01em;
    margin-bottom: 24px
}

.rt .sec-hdg .acc {
    color: #A50E0E
}

.rt .sec-hdg .acc2 {
    color: #0D8558
}

.rt .hdg-strip {
    display: inline;
    background: #FFFBE7;
    padding: 0 8px
}

.rt .hdg-strip-red {
    display: inline;
    background: #a50e0e14;
    padding: 0 8px
}

.rt .adapt-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    margin-top: 48px
}

.rt .adapt-card {
    background: #fff;
    border-radius: 4px;
    padding: 24px;
    box-shadow: 0 2px 2px 0 #a50e0e0d;
    position: relative;
    transition: box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1);
    outline: 1px solid transparent
}

.rt .adapt-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 4px;
    border: 1px solid transparent;
    transition: border-color .6s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none
}

.rt .adapt-card:hover::before {
    border-color: #A50E0E;
    animation: traceOutline .65s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

@keyframes traceOutline {
    from {
        clip-path: inset(0 100% 0 0)
    }

    to {
        clip-path: inset(0 0% 0 0)
    }
}

.rt .adapt-card:hover {
    box-shadow: 0 7px 14px 0 #a50e0e1c
}

.rt .adapt-card-num {
    font-size: 42px;
    font-weight: 800;
    color: #A50E0E;
    line-height: 1.1;
    margin-bottom: 8px
}

.rt .adapt-card-hdg {
    font-size: 18px;
    font-weight: 700;
    color: #1c2a1c;
    margin-bottom: 8px
}

.rt .adapt-card-txt {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a3a
}

.rt .adapt-img-row {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 24px;
    margin-top: 48px;
    align-items: center
}

.rt .adapt-img-wrap {
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 10px 40px 0 #a50e0e1a
}

.rt .adapt-img-wrap img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

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

.rt .adapt-txt-block {
    padding: 8px 0
}

.rt .adapt-txt-block p {
    font-size: 18px;
    line-height: 1.6;
    color: #2a2a2a;
    margin-bottom: 24px
}

.rt .adapt-txt-block p.body-p {
    font-size: 15px;
    color: #3a3a3a;
    margin-bottom: 0
}

.rt .rel-blk {
    background: #fff;
    padding: 96px 48px;
    position: relative
}

.rt .rel-blk::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 56px 56px 0;
    border-color: transparent #FFFBE7 transparent transparent;
    pointer-events: none
}

.rt .dbl-sidebar {
    display: grid;
    grid-template-columns: 220px 1fr 220px;
    gap: 24px;
    margin-top: 48px
}

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

.rt .sidebar-stat {
    background: #FFFBE7;
    border-radius: 4px;
    padding: 24px;
    text-align: center;
    box-shadow: 0 2px 2px 0 #0d85580d;
    transition: box-shadow .5s ease-in-out
}

.rt .sidebar-stat:hover {
    box-shadow: 0 7px 14px 0 #0d85581c
}

.rt .sidebar-stat-num {
    font-size: 42px;
    font-weight: 800;
    color: #0D8558;
    line-height: 1.1;
    display: block
}

.rt .sidebar-stat-lbl {
    font-size: 15px;
    color: #3a3a3a;
    line-height: 1.6;
    margin-top: 8px;
    display: block
}

.rt .rel-center {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.rt .rel-img-wrap {
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 10px 40px 0 #a50e0e1a
}

.rt .rel-img-wrap img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

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

.rt .rel-txt p {
    font-size: 18px;
    line-height: 1.6;
    color: #2a2a2a;
    margin-bottom: 24px
}

.rt .rel-txt p.body-p {
    font-size: 15px;
    color: #3a3a3a;
    margin-bottom: 0
}

.rt .commit-blk {
    background: linear-gradient(ellipse at 50% 50%, #a50e0e12 0%, #0d85580d 100%);
    padding: 96px 48px;
    position: relative
}

.rt .commit-blk::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 48px 0 0 48px;
    border-color: transparent transparent transparent #fff;
    pointer-events: none
}

.rt .commit-blk::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 48px 48px 0;
    border-color: transparent #fff transparent transparent;
    pointer-events: none
}

.rt .commit-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    margin-top: 48px;
    align-items: start
}

.rt .commit-img-wrap {
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 10px 40px 0 #a50e0e1a
}

.rt .commit-img-wrap img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
    transition: transform .7s cubic-bezier(0.22, 1, 0.36, 1)
}

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

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

.rt .commit-list li {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 24px;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 2px 0 #a50e0e0d;
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a2a;
    transition: box-shadow .5s ease-in-out
}

.rt .commit-list li:hover {
    box-shadow: 0 7px 14px 0 #a50e0e1c
}

.rt .commit-list li .num {
    font-size: 22px;
    font-weight: 800;
    color: #A50E0E;
    min-width: 40px;
    text-align: right;
    flex-shrink: 0
}

.rt .commit-txt p {
    font-size: 18px;
    line-height: 1.6;
    color: #2a2a2a;
    margin-bottom: 24px
}

.rt .commit-txt p.body-p {
    font-size: 15px;
    color: #3a3a3a;
    margin-bottom: 0
}

.rt .limits-blk {
    background: #fff;
    padding: 96px 48px;
    position: relative
}

.rt .limits-blk::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 56px 56px 0 0;
    border-color: #a50e0e12 transparent transparent;
    pointer-events: none
}

.rt .limits-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    margin-top: 48px
}

.rt .limits-col-hdg {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 24px;
    color: #1c2a1c
}

.rt .limits-items {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.rt .limit-item {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 24px;
    background: #FFFBE7;
    border-radius: 4px;
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a2a;
    box-shadow: 0 2px 2px 0 #0d85580d;
    transition: box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.rt .limit-item:hover {
    box-shadow: 0 7px 14px 0 #0d85581c
}

.rt .limit-dot {
    width: 10px;
    height: 10px;
    border-radius: 1px;
    background: #0D8558;
    flex-shrink: 0;
    margin-top: 6px
}

.rt .limit-dot.red {
    background: #A50E0E
}

.rt .limits-intro p {
    font-size: 18px;
    line-height: 1.6;
    color: #2a2a2a;
    margin-bottom: 24px
}

.rt .limits-intro p.body-p {
    font-size: 15px;
    color: #3a3a3a;
    margin-bottom: 0
}

.rt .fit-blk {
    background: #0D8558;
    padding: 96px 48px;
    position: relative
}

.rt .fit-blk::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 64px 64px 0;
    border-color: transparent #fff transparent transparent;
    pointer-events: none
}

.rt .fit-blk::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 64px 0 0 64px;
    border-color: transparent transparent transparent #fff;
    pointer-events: none
}

.rt .fit-hdg {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -.01em;
    color: #fff;
    margin-bottom: 8px
}

.rt .fit-hdg .acc {
    color: #FFFBE7
}

.rt .fit-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fffbe7cc;
    margin-bottom: 8px
}

.rt .fit-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 48px
}

.rt .fit-card {
    background: #ffffff1a;
    border-radius: 4px;
    padding: 24px;
    position: relative;
    transition: background .55s cubic-bezier(0.22, 1, 0.36, 1);
    outline: 1px solid #ffffff26
}

.rt .fit-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 4px;
    border: 1px solid transparent;
    transition: border-color .65s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none
}

.rt .fit-card:hover::before {
    border-color: #FFFBE7
}

.rt .fit-card:hover {
    background: #ffffff2b
}

.rt .fit-card-hdg {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px
}

.rt .fit-card-txt {
    font-size: 15px;
    line-height: 1.6;
    color: #ffffffe0
}

.rt .fit-card-ico {
    width: 32px;
    height: 32px;
    margin-bottom: 24px
}

.rt .fit-sub {
    font-size: 18px;
    line-height: 1.6;
    color: #ffffffe6;
    max-width: 640px;
    margin-top: 8px
}

@media (max-width: 1024px) {
    .rt .title-blk {
        grid-template-columns: 1fr 1fr
    }

    .rt .title-txt {
        padding: 48px 24px
    }

    .rt .title-mosaic {
        padding: 48px 24px 48px 8px
    }

    .rt .h1-lbl {
        font-size: 42px
    }

    .rt .adapt-grid {
        grid-template-columns: 1fr 1fr
    }

    .rt .adapt-img-row {
        grid-template-columns: 1fr
    }

    .rt .dbl-sidebar {
        grid-template-columns: 1fr
    }

    .rt .sidebar-col {
        flex-direction: row;
        flex-wrap: wrap
    }

    .rt .sidebar-stat {
        flex: 1 1 140px
    }

    .rt .commit-row {
        grid-template-columns: 1fr
    }

    .rt .limits-grid {
        grid-template-columns: 1fr
    }

    .rt .fit-cards {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 640px) {
    .rt .title-blk {
        grid-template-columns: 1fr
    }

    .rt .title-mosaic {
        display: none
    }

    .rt .title-txt {
        padding: 48px 24px
    }

    .rt .h1-lbl {
        font-size: 30px
    }

    .rt .adapt-blk,
    .rt .rel-blk,
    .rt .commit-blk,
    .rt .limits-blk,
    .rt .fit-blk {
        padding: 48px 24px
    }

    .rt .adapt-grid {
        grid-template-columns: 1fr
    }

    .rt .fit-cards {
        grid-template-columns: 1fr
    }

    .rt .sec-hdg {
        font-size: 30px
    }

    .rt .fit-hdg {
        font-size: 30px
    }

    .rt .dbl-sidebar {
        grid-template-columns: 1fr
    }
}

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

.lp-pg script {
    display: none
}

.lp-pg .pg-cap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 560px;
    position: relative
}

.lp-pg .pg-cap .cap-txt {
    padding: 96px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff;
    position: relative;
    z-index: 1
}

.lp-pg .pg-cap .cap-txt::after {
    content: '';
    position: absolute;
    top: 0;
    right: -1px;
    bottom: 0;
    width: 1px;
    background: #a50e0e1f
}

.lp-pg .cap-noise {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0
}

.lp-pg .cap-lbl {
    font-size: 15px;
    letter-spacing: .08em;
    color: #0D8558;
    font-weight: 600;
    margin-bottom: 24px;
    text-transform: uppercase
}

.lp-pg .cap-h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.02em;
    margin: 0 0 24px;
    color: #1b1b1b
}

.lp-pg .cap-h1 .accent {
    color: #A50E0E
}

.lp-pg .cap-desc {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    max-width: 480px;
    margin: 0 0 48px
}

.lp-pg .cap-stats {
    display: flex;
    flex-direction: row;
    gap: 48px
}

.lp-pg .stat-item .stat-num {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    color: #A50E0E;
    letter-spacing: -.02em
}

.lp-pg .stat-item .stat-nm {
    font-size: 15px;
    line-height: 1.6;
    color: #555
}

.lp-pg .cap-img-col {
    position: relative;
    overflow: hidden
}

.lp-pg .cap-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: imgpan 18s ease-in-out infinite alternate
}

@keyframes imgpan {
    from {
        transform: scale(1.08) translateX(0)
    }

    to {
        transform: scale(1.08) translateX(-4%)
    }
}

.lp-pg .cap-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, #fffbe72e 0%, #0d85581a 100%);
    pointer-events: none
}

.lp-pg .geo-edge {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 8px;
    display: flex;
    flex-direction: column;
    overflow: hidden
}

.lp-pg .geo-edge span {
    flex: 1;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent
}

.lp-pg .geo-edge span:nth-child(odd) {
    border-left: 8px solid #a50e0e2e
}

.lp-pg .geo-edge span:nth-child(even) {
    border-left: 8px solid #0d855821
}

.lp-pg .prog-sec {
    background: #FFFBE7;
    padding: 96px 0;
    position: relative
}

.lp-pg .prog-sec .tri-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none
}

.lp-pg .prog-sec .tri-bg svg {
    position: absolute;
    right: 0;
    top: 0;
    opacity: .07;
    width: 320px;
    height: 320px
}

.lp-pg .prog-inner {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 48px;
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 48px;
    align-items: start
}

.lp-pg .sec-eyebrow {
    font-size: 15px;
    letter-spacing: .07em;
    color: #0D8558;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 24px
}

.lp-pg .prog-heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.015em;
    margin: 0 0 24px;
    color: #1b1b1b
}

.lp-pg .prog-heading .accent {
    color: #A50E0E
}

.lp-pg .prog-lead {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    margin: 0 0 48px
}

.lp-pg .mod-list {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.lp-pg .mod-row {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 24px;
    align-items: start;
    background: #fff;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 2px 2px 0 #a50e0e0d 0 7px 14px 0 #a50e0e14;
    transition: box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1), transform .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.lp-pg .mod-row:hover {
    box-shadow: 0 10px 40px 0 #a50e0e1a;
    transform: translateY(-2px)
}

.lp-pg .mod-num {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #A50E0E;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    flex-shrink: 0;
    border: 2px solid #a50e0e40;
    outline: 3px solid #a50e0e1f;
    outline-offset: 2px
}

.lp-pg .mod-title {
    font-size: 18px;
    line-height: 1.1;
    font-weight: 700;
    color: #1b1b1b;
    margin: 0 0 8px
}

.lp-pg .mod-title .hl {
    background: #0d855821;
    padding: 0 4px;
    border-radius: 4px
}

.lp-pg .mod-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #444;
    margin: 0
}

.lp-pg .mod-dur {
    font-size: 15px;
    color: #0D8558;
    font-weight: 600;
    margin-top: 8px
}

.lp-pg .prog-aside {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 24px
}

.lp-pg .aside-card {
    background: #fff;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 7px 14px 0 #0d85581c
}

.lp-pg .aside-card .ac-head {
    font-size: 15px;
    font-weight: 700;
    color: #1b1b1b;
    margin: 0 0 8px;
    text-align: center
}

.lp-pg .aside-card .ac-val {
    font-size: 30px;
    font-weight: 700;
    color: #A50E0E;
    text-align: center;
    line-height: 1.1
}

.lp-pg .aside-card .ac-sub {
    font-size: 15px;
    color: #666;
    text-align: center;
    margin-top: 8px
}

.lp-pg .pulse-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #0D8558;
    margin: 8px auto 0;
    animation: dotpulse 1.8s ease-in-out infinite
}

@keyframes dotpulse {

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

    50% {
        opacity: .4;
        transform: scale(0.7)
    }
}

.lp-pg .outcome-sec {
    background: #fff;
    padding: 96px 0;
    position: relative
}

.lp-pg .outcome-sec .edge-motif {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column
}

.lp-pg .outcome-sec .edge-motif span {
    flex: 1;
    display: block
}

.lp-pg .outcome-sec .edge-motif span:nth-child(odd) {
    background: #0d855826
}

.lp-pg .outcome-sec .edge-motif span:nth-child(even) {
    background: #a50e0e1a
}

.lp-pg .outcome-inner {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 48px
}

.lp-pg .outcome-top {
    text-align: center;
    margin-bottom: 48px
}

.lp-pg .outcome-h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.015em;
    color: #1b1b1b;
    margin: 0 0 24px
}

.lp-pg .outcome-h2 .accent {
    color: #0D8558
}

.lp-pg .outcome-lead {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    max-width: 640px;
    margin: 0 auto
}

.lp-pg .outcome-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 48px
}

.lp-pg .out-card {
    border-radius: 10px;
    padding: 24px;
    background: #FFFBE7;
    box-shadow: 0 2px 2px 0 #a50e0e0d;
    transition: box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1), transform .6s cubic-bezier(0.22, 1, 0.36, 1);
    position: relative;
    overflow: hidden
}

.lp-pg .out-card:hover {
    box-shadow: 0 10px 40px 0 #a50e0e1a;
    transform: translateY(-3px)
}

.lp-pg .out-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #0d85580f;
    opacity: 0;
    transition: opacity .5s ease-in-out;
    border-radius: 10px
}

.lp-pg .out-card:hover::before {
    opacity: 1
}

.lp-pg .out-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #A50E0E;
    border: 3px solid #a50e0e33;
    outline: 2px solid #a50e0e1a;
    outline-offset: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px
}

.lp-pg .out-icon svg {
    width: 22px;
    height: 22px;
    fill: #fff
}

.lp-pg .out-card-h {
    font-size: 18px;
    font-weight: 700;
    color: #1b1b1b;
    margin: 0 0 8px;
    text-align: left;
    background: #a50e0e17;
    display: inline-block;
    padding: 0 4px;
    border-radius: 4px
}

.lp-pg .out-card-p {
    font-size: 15px;
    line-height: 1.6;
    color: #444;
    margin: 0
}

.lp-pg .outcome-table-wrap {
    overflow-x: auto
}

.lp-pg .outcome-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px
}

.lp-pg .outcome-table th {
    background: #A50E0E;
    color: #fff;
    padding: 8px 24px;
    text-align: left;
    font-weight: 700;
    font-size: 15px
}

.lp-pg .outcome-table th:first-child {
    border-radius: 10px 0 0 0
}

.lp-pg .outcome-table th:last-child {
    border-radius: 0 10px 0 0
}

.lp-pg .outcome-table td {
    padding: 8px 24px;
    border-bottom: 1px solid #a50e0e14;
    color: #2e2e2e;
    vertical-align: top
}

.lp-pg .outcome-table tr:nth-child(even) td {
    background: #FFFBE7
}

.lp-pg .outcome-table tr:last-child td {
    border-bottom: none
}

.lp-pg .outcome-table .tag {
    display: inline-block;
    background: #0d85581f;
    color: #0D8558;
    border-radius: 4px;
    padding: 0 8px;
    font-size: 15px;
    font-weight: 600
}

.lp-pg .out-card-mob {
    display: none
}

@media (max-width: 1024px) {
    .lp-pg .pg-cap {
        grid-template-columns: 1fr
    }

    .lp-pg .cap-img-col {
        height: 320px;
        order: -1
    }

    .lp-pg .cap-txt {
        padding: 48px 24px
    }

    .lp-pg .cap-h1 {
        font-size: 42px
    }

    .lp-pg .prog-inner {
        grid-template-columns: 1fr;
        padding: 0 24px
    }

    .lp-pg .prog-aside {
        position: static;
        flex-direction: row;
        flex-wrap: wrap
    }

    .lp-pg .aside-card {
        flex: 1 1 160px
    }

    .lp-pg .outcome-inner {
        padding: 0 24px
    }

    .lp-pg .outcome-grid {
        grid-template-columns: 1fr 1fr
    }

    .lp-pg .outcome-table-wrap {
        display: none
    }

    .lp-pg .out-card-mob {
        display: block
    }

    .lp-pg .mob-table-cards {
        display: flex;
        flex-direction: column;
        gap: 8px
    }

    .lp-pg .mob-tc-row {
        background: #FFFBE7;
        border-radius: 10px;
        padding: 24px;
        display: flex;
        flex-direction: column;
        gap: 8px
    }

    .lp-pg .mob-tc-row .mt-label {
        font-size: 15px;
        font-weight: 700;
        color: #A50E0E
    }

    .lp-pg .mob-tc-row .mt-val {
        font-size: 15px;
        color: #2e2e2e;
        line-height: 1.6
    }
}

@media (max-width: 640px) {
    .lp-pg .cap-h1 {
        font-size: 30px
    }

    .lp-pg .cap-stats {
        gap: 24px
    }

    .lp-pg .stat-item .stat-num {
        font-size: 30px
    }

    .lp-pg .prog-sec {
        padding: 48px 0
    }

    .lp-pg .prog-heading {
        font-size: 30px
    }

    .lp-pg .outcome-sec {
        padding: 48px 0
    }

    .lp-pg .outcome-h2 {
        font-size: 30px
    }

    .lp-pg .outcome-grid {
        grid-template-columns: 1fr
    }

    .lp-pg .cap-txt {
        padding: 48px 24px
    }

    .lp-pg .prog-inner {
        padding: 0 24px
    }

    .lp-pg .outcome-inner {
        padding: 0 24px
    }

    .lp-pg .prog-aside {
        flex-direction: column
    }
}

.srvs-pg {
    max-width: 1366px;
    margin: 0 auto;
    overflow: hidden
}

.srvs-pg .wavy-top {
    width: 100%;
    height: 24px;
    display: block
}

.srvs-pg .pg-lead {
    background: #fff;
    padding: 96px 48px;
    position: relative
}

.srvs-pg .pg-lead::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(135deg, #FFFBE7 0px, #FFFBE7 2px, transparent 2px, transparent 28px);
    opacity: .45;
    pointer-events: none
}

.srvs-pg .lead-label {
    display: inline-block;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .08em;
    color: #0D8558;
    text-transform: uppercase;
    background: #0d855814;
    padding: 8px 24px;
    border-radius: 4px;
    margin-bottom: 24px;
    position: relative;
    z-index: 1;
    opacity: 0;
    animation: fadeIn .6s cubic-bezier(0.22, 1, 0.36, 1) .1s forwards
}

.srvs-pg .lead-h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #1b1b1b;
    margin: 0 0 24px;
    position: relative;
    z-index: 1;
    opacity: 0;
    animation: fadeIn .65s cubic-bezier(0.22, 1, 0.36, 1) .2s forwards
}

.srvs-pg .lead-h1 .accent {
    color: #A50E0E
}

.srvs-pg .lead-desc {
    font-size: 18px;
    line-height: 1.6;
    color: #2d2d2d;
    max-width: 640px;
    margin: 0;
    position: relative;
    z-index: 1;
    opacity: 0;
    animation: fadeIn .7s cubic-bezier(0.22, 1, 0.36, 1) .35s forwards
}

.srvs-pg .dot-row {
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin-top: 24px;
    position: relative;
    z-index: 1;
    opacity: 0;
    animation: fadeIn .55s cubic-bezier(0.22, 1, 0.36, 1) .5s forwards
}

.srvs-pg .dot-row span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #A50E0E;
    display: block;
    opacity: 0;
    animation: dotAppear .45s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

.srvs-pg .dot-row span:nth-child(1) {
    animation-delay: .55s
}

.srvs-pg .dot-row span:nth-child(2) {
    animation-delay: .62s;
    background: #0D8558
}

.srvs-pg .dot-row span:nth-child(3) {
    animation-delay: .69s
}

.srvs-pg .dot-row span:nth-child(4) {
    animation-delay: .76s;
    background: #0D8558
}

.srvs-pg .dot-row span:nth-child(5) {
    animation-delay: .83s
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes dotAppear {
    from {
        opacity: 0;
        transform: rotate(-90deg) scale(0.4)
    }

    to {
        opacity: 1;
        transform: rotate(0deg) scale(1)
    }
}

.srvs-pg .dash-divider {
    width: 100%;
    height: 2px;
    background: repeating-linear-gradient(90deg, #A50E0E 0px, #A50E0E 8px, transparent 8px, transparent 12px, #0D8558 12px, #0D8558 28px, transparent 28px, transparent 32px);
    opacity: .35;
    margin: 0
}

.srvs-pg .cards-area {
    background: #FFFBE7;
    padding: 96px 48px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 32px), 0 100%)
}

.srvs-pg .cards-area-head {
    margin-bottom: 48px
}

.srvs-pg .cards-area-head h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.015em;
    color: #1b1b1b;
    margin: 0 0 8px;
    display: inline-block;
    background: #a50e0e14;
    padding: 8px 24px;
    border-radius: 4px
}

.srvs-pg .cards-area-head h2 .accent {
    color: #A50E0E
}

.srvs-pg .cards-area-head p {
    font-size: 18px;
    line-height: 1.6;
    color: #2d2d2d;
    margin: 8px 0 0;
    max-width: 560px
}

.srvs-pg .card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px
}

.srvs-pg .svc-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 7px 14px 0 #a50e0e1c;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvs-pg .svc-card:hover {
    box-shadow: 0 10px 40px 0 #a50e0e1a;
    transform: translateY(-4px)
}

.srvs-pg .card-img-wrap {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden
}

.srvs-pg .card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvs-pg .svc-card:hover .card-img-wrap img {
    transform: scale(1.04)
}

.srvs-pg .img-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #a50e0ed1;
    color: #fff;
    font-size: 15px;
    line-height: 1.6;
    padding: 8px 24px;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .5s cubic-bezier(0.22, 1, 0.36, 1), transform .5s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none
}

.srvs-pg .svc-card:hover .img-caption {
    opacity: 1;
    transform: translateY(0)
}

.srvs-pg .card-meta-top {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
    padding: 24px 24px 0;
    flex-wrap: wrap
}

.srvs-pg .tag-pill {
    font-size: 15px;
    line-height: 1.6;
    background: #0d85581a;
    color: #0D8558;
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: 600
}

.srvs-pg .user-badge {
    font-size: 15px;
    line-height: 1.6;
    background: #a50e0e14;
    color: #A50E0E;
    padding: 4px 8px;
    border-radius: 4px
}

.srvs-pg .card-body {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column
}

.srvs-pg .card-body h3 {
    font-size: 22px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 8px
}

.srvs-pg .card-body p {
    font-size: 15px;
    line-height: 1.6;
    color: #2d2d2d;
    margin: 0 0 24px;
    flex: 1
}

.srvs-pg .card-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 24px
}

.srvs-pg .stat-item {
    display: flex;
    flex-direction: column
}

.srvs-pg .stat-label {
    font-size: 15px;
    line-height: 1.6;
    color: #888;
    letter-spacing: .04em
}

.srvs-pg .stat-val {
    font-size: 18px;
    line-height: 1.1;
    color: #1b1b1b;
    font-weight: 700
}

.srvs-pg .card-price-row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 8px;
    margin-bottom: 8px
}

.srvs-pg .price-num {
    font-size: 30px;
    line-height: 1.1;
    color: #A50E0E;
    font-weight: 700
}

.srvs-pg .price-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #555;
    padding-bottom: 4px
}

.srvs-pg .seats-row {
    font-size: 15px;
    line-height: 1.6;
    color: #0D8558;
    margin-bottom: 24px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.srvs-pg .seats-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #0D8558;
    flex-shrink: 0
}

.srvs-pg .card-footer {
    padding: 0 24px 24px;
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center
}

.srvs-pg .btn-primary {
    display: inline-block;
    background: #A50E0E;
    color: #fff;
    font-size: 15px;
    line-height: 1.6;
    padding: 8px 24px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1), background .5s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 2px 2px 0 #a50e0e0d
}

.srvs-pg .btn-primary:hover {
    background: #8a0b0b;
    transform: scale(1.04)
}

.srvs-pg .read-time {
    font-size: 15px;
    line-height: 1.6;
    color: #888
}

.srvs-pg .metrics-strip {
    background: #fff;
    padding: 96px 48px 48px;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: stretch
}

.srvs-pg .metrics-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.srvs-pg .metrics-col h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.015em;
    color: #1b1b1b;
    margin: 0;
    display: inline-block;
    background: #0d855817;
    padding: 8px 24px;
    border-radius: 4px
}

.srvs-pg .metrics-col h2 .accent {
    color: #0D8558
}

.srvs-pg .metrics-col p {
    font-size: 18px;
    line-height: 1.6;
    color: #2d2d2d;
    margin: 0
}

.srvs-pg .metrics-col p.sub {
    font-size: 15px;
    color: #555
}

.srvs-pg .metrics-divider {
    width: 1px;
    background: repeating-linear-gradient(180deg, #A50E0E 0px, #A50E0E 6px, transparent 6px, transparent 10px);
    opacity: .3;
    align-self: stretch;
    flex-shrink: 0
}

.srvs-pg .stat-bars {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center
}

.srvs-pg .bar-item {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.srvs-pg .bar-label-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center
}

.srvs-pg .bar-label {
    font-size: 15px;
    line-height: 1.6;
    color: #1b1b1b
}

.srvs-pg .bar-pct {
    font-size: 15px;
    line-height: 1.6;
    color: #A50E0E;
    font-weight: 700
}

.srvs-pg .bar-track {
    height: 8px;
    background: #a50e0e1a;
    border-radius: 4px;
    overflow: hidden
}

.srvs-pg .bar-fill {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, #A50E0E, #0D8558);
    transition: width .7s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvs-pg .process-strip {
    background: #f4f4f2;
    padding: 96px 48px;
    clip-path: polygon(0 32px, 100% 0, 100% 100%, 0 100%)
}

.srvs-pg .process-strip h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.015em;
    color: #1b1b1b;
    margin: 0 0 48px;
    text-align: center;
    display: inline-block;
    background: #a50e0e12;
    padding: 8px 24px;
    border-radius: 4px
}

.srvs-pg .process-strip h2 .accent {
    color: #A50E0E
}

.srvs-pg .process-center {
    text-align: center
}

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

.srvs-pg .step-card {
    background: #fff;
    border-radius: 10px;
    padding: 48px 24px 24px;
    box-shadow: 0 2px 2px 0 #0d85580d;
    position: relative;
    transition: box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.srvs-pg .step-card:hover {
    box-shadow: 0 10px 40px 0 #0d85581a
}

.srvs-pg .step-num {
    position: absolute;
    top: -16px;
    left: 24px;
    width: 40px;
    height: 40px;
    background: #A50E0E;
    color: #fff;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.1
}

.srvs-pg .step-card h4 {
    font-size: 18px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 8px
}

.srvs-pg .step-card p {
    font-size: 15px;
    line-height: 1.6;
    color: #444;
    margin: 0
}

.srvs-pg .step-icon {
    margin-bottom: 8px
}

.srvs-pg .step-icon svg {
    display: block
}

.srvs-pg .contact-band {
    background: #fff;
    padding: 96px 48px;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: center
}

.srvs-pg .contact-band-text {
    flex: 1
}

.srvs-pg .contact-band-text h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.015em;
    color: #1b1b1b;
    margin: 0 0 24px;
    display: inline-block;
    background: #a50e0e12;
    padding: 8px 24px;
    border-radius: 4px
}

.srvs-pg .contact-band-text h2 .accent {
    color: #A50E0E
}

.srvs-pg .contact-band-text p {
    font-size: 18px;
    line-height: 1.6;
    color: #2d2d2d;
    margin: 0 0 24px
}

.srvs-pg .contact-band-text p.sub {
    font-size: 15px;
    color: #555;
    margin: 0
}

.srvs-pg .contact-form-wrap {
    flex: 1;
    background: #FFFBE7;
    border-radius: 10px;
    padding: 48px;
    box-shadow: 0 7px 14px 0 #a50e0e1c
}

.srvs-pg .form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 24px
}

.srvs-pg .form-field label {
    font-size: 15px;
    line-height: 1.6;
    color: #1b1b1b;
    font-weight: 600
}

.srvs-pg .form-field input,
.srvs-pg .form-field textarea {
    border: 1px solid #a50e0e40 !important;
    border-radius: 4px;
    padding: 8px 24px;
    font-size: 15px;
    line-height: 1.6;
    color: #1b1b1b;
    background: #fff;
    outline: none;
    transition: border-color .45s cubic-bezier(0.22, 1, 0.36, 1);
    width: 100%;
    box-sizing: border-box
}

.srvs-pg .form-field input::placeholder,
.srvs-pg .form-field textarea::placeholder {
    color: #1b1b1b61
}

.srvs-pg .form-field input:focus,
.srvs-pg .form-field textarea:focus {
    border-color: #0D8558 !important
}

.srvs-pg .form-field textarea {
    min-height: 96px;
    resize: vertical
}

.srvs-pg .form-submit {
    display: inline-block;
    background: #0D8558;
    color: #fff;
    font-size: 18px;
    line-height: 1.6;
    padding: 8px 48px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    font-weight: 600;
    transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1), background .5s ease-in-out;
    box-shadow: 0 2px 2px 0 #0d85580d
}

.srvs-pg .form-submit:hover {
    background: #0a6b46;
    transform: scale(1.04)
}

.srvs-pg .form-submit:focus {
    outline: 2px solid #A50E0E;
    outline-offset: 2px
}

.srvs-pg .bottom-dash {
    width: 100%;
    height: 2px;
    background: repeating-linear-gradient(90deg, #0D8558 0px, #0D8558 16px, transparent 16px, transparent 20px, #A50E0E 20px, #A50E0E 24px, transparent 24px, transparent 28px);
    opacity: .3
}

@media (max-width: 1024px) {
    .srvs-pg .pg-lead {
        padding: 96px 24px
    }

    .srvs-pg .lead-h1 {
        font-size: 42px
    }

    .srvs-pg .cards-area {
        padding: 96px 24px
    }

    .srvs-pg .card-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .srvs-pg .metrics-strip {
        padding: 96px 24px 48px;
        flex-direction: column
    }

    .srvs-pg .metrics-divider {
        width: 100%;
        height: 1px;
        background: repeating-linear-gradient(90deg, #A50E0E 0px, #A50E0E 6px, transparent 6px, transparent 10px)
    }

    .srvs-pg .process-strip {
        padding: 96px 24px
    }

    .srvs-pg .steps-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .srvs-pg .contact-band {
        padding: 96px 24px;
        flex-direction: column
    }

    .srvs-pg .contact-form-wrap {
        padding: 24px;
        width: 100%;
        box-sizing: border-box
    }
}

@media (max-width: 640px) {
    .srvs-pg .lead-h1 {
        font-size: 30px
    }

    .srvs-pg .card-grid {
        grid-template-columns: 1fr
    }

    .srvs-pg .steps-grid {
        grid-template-columns: 1fr
    }

    .srvs-pg .cards-area-head h2 {
        font-size: 30px
    }

    .srvs-pg .metrics-col h2,
    .srvs-pg .process-strip h2,
    .srvs-pg .contact-band-text h2 {
        font-size: 30px
    }

    .srvs-pg .pg-lead,
    .srvs-pg .cards-area,
    .srvs-pg .metrics-strip,
    .srvs-pg .process-strip,
    .srvs-pg .contact-band {
        padding-left: 24px;
        padding-right: 24px
    }
}

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

.abt-us a {
    text-decoration: underline;
    text-decoration-style: double;
    color: #A50E0E;
    transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us a:hover {
    color: #0D8558
}

.abt-us ::selection {
    background: #0D8558;
    color: #fff
}

.abt-us .pg-strip {
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, #A50E0E 0%, #0D8558 100%)
}

.abt-us .title-band {
    position: relative;
    padding: 48px 24px 96px;
    background: #fff;
    overflow: hidden
}

.abt-us .title-band-img-strip {
    width: 100%;
    height: 220px;
    overflow: hidden;
    border-radius: 4px;
    margin-bottom: 48px;
    position: relative
}

.abt-us .title-band-img-strip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: sepia(0.28) saturate(1.18) brightness(0.94);
    display: block
}

.abt-us .title-band-img-strip::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, #a50e0e14 0%, #0d855838 100%);
    pointer-events: none
}

.abt-us .title-band-img-strip .vignette-layer {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, transparent 40%, #0d855861 100%);
    pointer-events: none
}

.abt-us .title-inner {
    max-width: 1366px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    position: relative
}

.abt-us .dir-arrow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.abt-us .dir-arrow-line {
    width: 48px;
    height: 2px;
    background: #A50E0E;
    border-radius: 1px
}

.abt-us .dir-arrow-head {
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #A50E0E
}

.abt-us .dir-label {
    font-size: 15px;
    letter-spacing: .08em;
    color: #A50E0E;
    text-transform: uppercase
}

.abt-us .t-h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #1b1b1b;
    margin: 0
}

.abt-us .t-h1 span {
    color: #A50E0E
}

.abt-us .t-desc {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    max-width: 620px;
    margin: 0
}

.abt-us .t-link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    font-weight: 600;
    color: #0D8558;
    text-decoration: underline;
    text-decoration-style: double;
    transition: color .45s cubic-bezier(0.22, 1, 0.36, 1), transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us .t-link:hover {
    color: #A50E0E;
    transform: translateX(4px)
}

.abt-us .deco-quote {
    position: absolute;
    right: 24px;
    bottom: -24px;
    font-size: 220px;
    line-height: 1;
    color: #FFFBE7;
    font-family: Georgia, serif;
    pointer-events: none;
    user-select: none;
    z-index: 0
}

.abt-us .story-sec {
    position: relative;
    padding: 96px 24px 48px;
    background: #FFFBE7
}

.abt-us .story-sec::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(148deg, #fff 0%, #FFFBE7 55%, #0d855812 100%);
    pointer-events: none
}

.abt-us .story-grid {
    max-width: 1366px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    position: relative;
    z-index: 1
}

.abt-us .story-divider {
    width: 1px;
    background: linear-gradient(180deg, transparent 0%, #A50E0E 30%, #0D8558 70%, transparent 100%);
    align-self: stretch;
    min-height: 320px
}

.abt-us .story-left {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt-us .story-right {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt-us .sec-label {
    display: inline-block;
    background: #A50E0E;
    color: #fff;
    font-size: 15px;
    letter-spacing: .06em;
    padding: 4px 8px;
    border-radius: 1px;
    text-transform: uppercase
}

.abt-us .sec-label.green {
    background: #0D8558
}

.abt-us .s-h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.015em;
    color: #1b1b1b;
    margin: 0
}

.abt-us .s-h2 em {
    font-style: normal;
    color: #0D8558
}

.abt-us .body-p {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    margin: 0
}

.abt-us .body-p.intro {
    font-size: 22px;
    line-height: 1.6
}

.abt-us .story-img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    border-radius: 4px;
    display: block;
    filter: sepia(0.15) brightness(0.96);
    box-shadow: 0 7px 14px 0 #a50e0e1c;
    transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us .story-img:hover {
    transform: scale(1.02)
}

.abt-us .img-wrap {
    overflow: hidden;
    border-radius: 4px;
    position: relative
}

.abt-us .img-wrap .vig {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, transparent 45%, #0d855847 100%);
    pointer-events: none
}

.abt-us .metrics-sec {
    padding: 96px 24px;
    background: #fff;
    position: relative;
    overflow: hidden
}

.abt-us .metrics-bg-anim {
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(148deg, #a50e0e08 0px, #a50e0e08 1px, transparent 1px, transparent 40px);
    animation: diagdrift 18s linear infinite;
    pointer-events: none
}

@keyframes diagdrift {
    0% {
        background-position: 0 0
    }

    100% {
        background-position: 80px 80px
    }
}

.abt-us .metrics-inner {
    max-width: 1366px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 48px
}

.abt-us .metrics-heading-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center
}

.abt-us .m-h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.015em;
    color: #1b1b1b;
    margin: 0
}

.abt-us .m-h2 span {
    color: #A50E0E
}

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

.abt-us .metric-card {
    background: #FFFBE7;
    border-radius: 10px;
    padding: 48px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    box-shadow: 0 2px 2px 0 #a50e0e0d;
    transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), transform .5s cubic-bezier(0.22, 1, 0.36, 1);
    cursor: default
}

.abt-us .metric-card:hover {
    box-shadow: 0 10px 40px 0 #a50e0e1a;
    transform: translateY(-4px)
}

.abt-us .metric-card:active {
    animation: cardpop .5s cubic-bezier(0.22, 1, 0.36, 1)
}

@keyframes cardpop {
    0% {
        transform: scale(1)
    }

    40% {
        transform: scale(1.04)
    }

    100% {
        transform: scale(1)
    }
}

.abt-us .metric-num {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #A50E0E;
    font-weight: 700
}

.abt-us .metric-unit {
    font-size: 22px;
    color: #0D8558;
    font-weight: 600
}

.abt-us .metric-label {
    font-size: 15px;
    color: #2e2e2e;
    text-align: center;
    line-height: 1.6
}

.abt-us .metrics-img-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px
}

.abt-us .metrics-img-wrap {
    overflow: hidden;
    border-radius: 4px;
    position: relative;
    height: 260px
}

.abt-us .metrics-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us .metrics-img-wrap:hover img {
    transform: scale(1.04)
}

.abt-us .metrics-img-wrap .vig {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, transparent 40%, #a50e0e38 100%);
    pointer-events: none
}

.abt-us .approach-sec {
    padding: 48px 24px 96px;
    position: relative;
    background: #fff
}

.abt-us .approach-sec::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(148deg, #0d85580f 0%, #fff 60%);
    pointer-events: none
}

.abt-us .approach-inner {
    max-width: 1366px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 48px
}

.abt-us .approach-top {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 48px;
    align-items: start
}

.abt-us .approach-text {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt-us .a-h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -.015em;
    color: #1b1b1b;
    margin: 0
}

.abt-us .a-h2 em {
    font-style: normal;
    color: #A50E0E
}

.abt-us .approach-aside {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt-us .aside-card {
    background: #FFFBE7;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 2px 2px 0 #0d85580d;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.abt-us .aside-card-num {
    font-size: 30px;
    font-weight: 700;
    color: #0D8558;
    line-height: 1.1
}

.abt-us .aside-card-label {
    font-size: 15px;
    color: #2e2e2e;
    line-height: 1.6
}

.abt-us .team-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.abt-us .team-card {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 7px 14px 0 #a50e0e1c;
    background: #fff;
    transition: box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us .team-card:hover {
    box-shadow: 0 10px 40px 0 #a50e0e1a
}

.abt-us .team-card-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt-us .team-card:hover .team-card-img {
    transform: scale(1.04)
}

.abt-us .team-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.abt-us .team-card-name {
    font-size: 18px;
    font-weight: 700;
    color: #1b1b1b;
    margin: 0
}

.abt-us .team-card-role {
    font-size: 15px;
    color: #0D8558;
    margin: 0
}

.abt-us .team-card-bio {
    font-size: 15px;
    line-height: 1.6;
    color: #2e2e2e;
    margin: 0
}

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

.abt-us .num-list li {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    border-bottom: 1px solid #a50e0e1a;
    padding-bottom: 8px
}

.abt-us .num-list li:last-child {
    border-bottom: none
}

.abt-us .num-list li .nl-text {
    flex: 1
}

.abt-us .num-list li .nl-num {
    font-size: 22px;
    font-weight: 700;
    color: #A50E0E;
    white-space: nowrap
}

@media (max-width: 1024px) {
    .abt-us .t-h1 {
        font-size: 42px
    }

    .abt-us .story-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .abt-us .story-divider {
        display: none
    }

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

    .abt-us .approach-top {
        grid-template-columns: 1fr
    }

    .abt-us .team-row {
        grid-template-columns: 1fr 1fr
    }

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

@media (max-width: 640px) {
    .abt-us .t-h1 {
        font-size: 30px
    }

    .abt-us .s-h2,
    .abt-us .m-h2,
    .abt-us .a-h2 {
        font-size: 30px
    }

    .abt-us .title-band-img-strip {
        height: 140px
    }

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

    .abt-us .team-row {
        grid-template-columns: 1fr
    }

    .abt-us .metric-num {
        font-size: 42px
    }

    .abt-us .deco-quote {
        font-size: 120px
    }

    .abt-us .title-band {
        padding: 24px 24px 96px
    }
}

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

.succ-page .succ-wrap {
    max-width: 560px;
    width: 100%;
    background: #fff;
    border-radius: 10px;
    padding: 48px;
    box-shadow: 0 10px 40px 0 #a50e0e1a;
    text-align: center
}

.succ-page .succ-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 24px;
    display: block
}

.succ-page .succ-heading {
    font-size: 30px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #1b1b1b;
    margin: 0 0 24px
}

.succ-page .succ-heading span {
    color: #0D8558
}

.succ-page .succ-text {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    margin: 0 0 48px
}

.succ-page .succ-divider {
    width: 48px;
    height: 1px;
    background: #0D8558;
    margin: 0 auto 48px;
    border: none
}

.succ-page .succ-back {
    display: inline-block;
    font-size: 15px;
    line-height: 1.1;
    letter-spacing: .03em;
    color: #fff;
    background: #A50E0E;
    border: none;
    border-radius: 4px;
    padding: 24px 48px;
    text-decoration: none;
    cursor: pointer;
    transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1), background .6s ease-in-out
}

.succ-page .succ-back:hover {
    transform: scale(1.04);
    background: #0D8558
}

.succ-page .succ-back:focus {
    outline: 2px solid #0D8558;
    outline-offset: 4px
}

@media (max-width: 640px) {
    .succ-page {
        padding: 48px 8px
    }

    .succ-page .succ-wrap {
        padding: 48px 24px
    }

    .succ-page .succ-heading {
        font-size: 22px
    }

    .succ-page .succ-text {
        font-size: 15px
    }
}