::before,
::after {
    content: none;
    box-sizing: inherit
}

body {
    margin: 0;
    -webkit-text-size-adjust: 100%;
    word-break: break-word;
    overflow-wrap: break-word
}

.brand_pod {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 4px;
    border: 2px solid #BB5F5D;
    background: #fff;
    box-shadow: -1px 3px 2px 0 #bb5f5d12 -1px 5px 22px 0 #bb5f5d1a;
    flex-shrink: 0
}

.brand_pod img {
    width: 46px;
    height: 46px;
    object-fit: contain;
    display: block
}

.hd_frame {
    background: linear-gradient(160deg, #fff 60%, #F0DEDF 100%);
    box-shadow: -1px 5px 22px 0 #bb5f5d1a;
    position: relative;
    z-index: 100
}

.hd_top_strip {
    background: #BB5F5D;
    width: 100%
}

.hd_top_strip_inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    min-height: 36px
}

.hd_contact_item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Roboto Slab', serif;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    letter-spacing: .01em;
    transition: opacity .45s ease-in-out
}

.hd_contact_item:hover {
    opacity: .8
}

.hd_contact_item i {
    font-size: 16px
}

.hd_body {
    max-width: 1024px;
    margin: 0 auto;
    padding: 24px 24px 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.hd_brand_row {
    display: flex;
    align-items: center;
    gap: 24px
}

.hd_brand_rule {
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, #BB5F5D 0%, #E3C7CB 60%, transparent 100%);
    border: none;
    margin: 0
}

.hd_brand_label {
    font-family: 'EB Garamond', serif;
    font-size: 24px;
    font-weight: 700;
    color: #BB5F5D;
    letter-spacing: .02em;
    line-height: 1.1;
    white-space: nowrap
}

.hd_nav_row {
    display: flex;
    align-items: stretch;
    gap: 0;
    border-top: 1px solid #E3C7CB;
    flex-wrap: wrap
}

.hd_nav_link {
    font-family: 'Roboto Slab', serif;
    font-size: 16px;
    font-weight: 400;
    color: #3a1a1a;
    text-decoration: none;
    letter-spacing: .01em;
    line-height: 1.35;
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 3px solid transparent;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .45s ease-in-out;
    position: relative
}

.hd_nav_link:first-child {
    padding-left: 0
}

.hd_nav_link:hover,
.hd_nav_link.active {
    color: #BB5F5D;
    border-bottom-color: #BB5F5D;
    background: #e3c7cb2e
}

.hd_nav_link i {
    font-size: 19px;
    flex-shrink: 0
}

@media (max-width: 992px) {
    .hd_nav_link {
        padding: 24px 16px;
        font-size: 16px
    }
}

@media (max-width: 576px) {
    .hd_top_strip_inner {
        justify-content: center;
        flex-wrap: wrap;
        padding: 8px 24px;
        gap: 8px
    }

    .hd_body {
        padding: 24px 24px 0;
        gap: 8px
    }

    .hd_brand_label {
        font-size: 19px
    }

    .hd_nav_link {
        padding: 24px 8px;
        font-size: 16px
    }
}

.ft_frame {
    background: linear-gradient(175deg, #F0DEDF 0%, #E3C7CB 50%, #BB5F5D 100%);
    box-shadow: -1px 8px 48px 0 #bb5f5d1a
}

.ft_body {
    max-width: 1024px;
    margin: 0 auto;
    padding: 48px 24px 24px
}

.ft_cols {
    display: flex;
    gap: 48px;
    flex-wrap: wrap;
    align-items: flex-start
}

.ft_brand_col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    min-width: 180px
}

.ft_brand_pod {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 4px;
    border: 2px solid #fff;
    background: #ffffffe6;
    box-shadow: -1px 3px 2px 0 #bb5f5d12 inset 0 1px 4px #bb5f5d1f
}

.ft_brand_pod img {
    width: 46px;
    height: 46px;
    object-fit: contain;
    display: block
}

.ft_brand_desc {
    font-family: 'EB Garamond', serif;
    font-size: 16px;
    color: #3a1a1a;
    line-height: 1.6;
    letter-spacing: .01em;
    max-width: 240px
}

.ft_links_col {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 160px
}

.ft_col_label {
    font-family: 'Roboto Slab', serif;
    font-size: 16px;
    font-weight: 700;
    color: #3a1a1a;
    letter-spacing: .02em;
    line-height: 1.35;
    margin-bottom: 8px
}

.ft_nav_link {
    font-family: 'Roboto Slab', serif;
    font-size: 16px;
    color: #3a1a1a;
    text-decoration: none;
    letter-spacing: .01em;
    line-height: 1.6;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ft_nav_link:hover {
    color: #fff
}

.ft_contact_col {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 200px
}

.ft_contact_entry {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: 'EB Garamond', serif;
    font-size: 16px;
    color: #3a1a1a;
    line-height: 1.6;
    letter-spacing: .01em;
    text-decoration: none;
    transition: color .5s ease-in-out
}

.ft_contact_entry:hover {
    color: #fff
}

.ft_contact_entry i {
    font-size: 19px;
    flex-shrink: 0;
    margin-top: 2px;
    color: #BB5F5D
}

a.ft_contact_entry i {
    color: #BB5F5D
}

.ft_bottom_strip {
    border-top: 1px solid #bb5f5d4d;
    margin-top: 48px;
    padding-top: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px
}

.ft_copy {
    font-family: 'Roboto Slab', serif;
    font-size: 16px;
    color: #3a1a1a;
    letter-spacing: .01em;
    line-height: 1.35
}

.ft_legal_links {
    display: flex;
    gap: 24px;
    flex-wrap: wrap
}

.ft_legal_link {
    font-family: 'Roboto Slab', serif;
    font-size: 16px;
    color: #3a1a1a;
    text-decoration: none;
    letter-spacing: .01em;
    line-height: 1.35;
    border-bottom: 1px solid #bb5f5d66;
    transition: color .45s ease-in-out, border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ft_legal_link:hover {
    color: #fff;
    border-bottom-color: #fff
}

@media (max-width: 992px) {
    .ft_cols {
        gap: 24px
    }
}

@media (max-width: 576px) {
    .ft_body {
        padding: 48px 24px 24px
    }

    .ft_cols {
        flex-direction: column;
        gap: 24px
    }

    .ft_bottom_strip {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }
}

.ck_popup {
    position: fixed;
    top: 24px;
    left: 24px;
    z-index: 4000;
    max-width: 420px;
    width: calc(100vw - 48px);
    background: #fff;
    border-radius: 4px;
    border: 2px solid #BB5F5D;
    box-shadow: -1px 8px 48px 0 #bb5f5d1a -1px 5px 22px 0 #bb5f5d1a;
    padding: 24px;
    display: none;
    transition: transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .45s ease-in-out
}

.ck_popup.ck_visible {
    transform: translateX(0);
    opacity: 1
}

.ck_popup.ck_hidden_state {
    transform: translateX(-110%);
    opacity: 0
}

.ck_icon_row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px
}

.ck_icon_row i {
    font-size: 24px;
    color: #BB5F5D
}

.ck_text {
    font-family: 'EB Garamond', serif;
    font-size: 16px;
    color: #3a1a1a;
    line-height: 1.6;
    letter-spacing: .01em;
    margin-bottom: 24px
}

.ck_toggles_deck {
    display: none;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 24px
}

.ck_toggles_deck.ck_expanded {
    display: flex
}

.ck_toggle_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px;
    border-radius: 4px;
    background: #F0DEDF
}

.ck_toggle_label {
    font-family: 'Roboto Slab', serif;
    font-size: 16px;
    color: #3a1a1a;
    letter-spacing: .01em;
    line-height: 1.35
}

.ck_switch {
    position: relative;
    width: 44px;
    height: 24px;
    flex-shrink: 0
}

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

.ck_switch_track {
    position: absolute;
    inset: 0;
    background: #E3C7CB;
    border-radius: 36px;
    cursor: pointer;
    transition: background .45s ease-in-out
}

.ck_switch_track::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 36px;
    background: #fff;
    transition: transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: -1px 3px 2px 0 #bb5f5d12
}

.ck_switch input:checked+.ck_switch_track {
    background: #BB5F5D
}

.ck_switch input:checked+.ck_switch_track::after {
    transform: translateX(20px)
}

.ck_switch input:focus+.ck_switch_track {
    box-shadow: 0 0 0 3px #bb5f5d4d
}

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

.ck_btn {
    font-family: 'Roboto Slab', serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.35;
    padding: 8px 24px;
    border-radius: 4px;
    border: 2px solid #BB5F5D;
    background: transparent;
    color: #BB5F5D;
    cursor: pointer;
    transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    min-height: 44px
}

.ck_btn:hover,
.ck_btn:focus {
    background: #BB5F5D;
    color: #fff;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a;
    outline: none
}

.ck_btn:focus {
    box-shadow: 0 0 0 3px #bb5f5d59
}

.ck_settings_link {
    font-family: 'EB Garamond', serif;
    font-size: 16px;
    color: #BB5F5D;
    letter-spacing: .01em;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    text-decoration: underline;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    transition: opacity .45s ease-in-out
}

.ck_settings_link:hover {
    opacity: .7
}

.doc-duxs-section {
    max-width: 1024px;
    margin: 0 auto;
    padding: 48px 24px;
    color: #2a1a1a
}

.doc-duxs-section h1 {
    font-size: 44px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #BB5F5D;
    margin-bottom: 24px;
    margin-top: 0;
    padding-bottom: 24px;
    border-bottom: 3px solid #E3C7CB
}

.doc-duxs-section h2 {
    font-size: 32px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #8a3a38;
    margin-top: 48px;
    margin-bottom: 24px
}

.doc-duxs-section h3 {
    font-size: 24px;
    line-height: 1.35;
    letter-spacing: .02em;
    color: #7a2e2c;
    margin-top: 48px;
    margin-bottom: 24px
}

.doc-duxs-section h4 {
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #6a2422;
    margin-top: 24px;
    margin-bottom: 8px
}

.doc-duxs-section h5 {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #6a2422;
    margin-top: 24px;
    margin-bottom: 8px;
    text-transform: uppercase
}

.doc-duxs-section h6 {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #BB5F5D;
    margin-top: 24px;
    margin-bottom: 8px
}

.doc-duxs-section p {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #2a1a1a;
    margin-top: 0;
    margin-bottom: 24px
}

.doc-duxs-section ul,
.doc-duxs-section ol {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #2a1a1a;
    margin-top: 0;
    margin-bottom: 24px;
    padding-left: 24px
}

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

.doc-duxs-section ul li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 8px
}

.doc-duxs-section ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 8px;
    height: 8px;
    border-radius: 4px;
    background-color: #BB5F5D
}

.doc-duxs-section ol {
    list-style: decimal;
    padding-left: 48px
}

.doc-duxs-section ol li {
    margin-bottom: 8px;
    padding-left: 8px
}

.doc-duxs-section ul ul,
.doc-duxs-section ol ol,
.doc-duxs-section ul ol,
.doc-duxs-section ol ul {
    margin-top: 8px;
    margin-bottom: 8px
}

.doc-duxs-section ul ul li::before {
    width: 6px;
    height: 6px;
    background-color: transparent;
    border: 2px solid #BB5F5D;
    border-radius: 4px;
    top: 12px
}

.doc-duxs-section a {
    color: #BB5F5D;
    text-decoration: underline;
    text-decoration-color: #E3C7CB;
    text-underline-offset: 3px;
    transition: color .45s ease-in-out, text-decoration-color .55s ease-in-out
}

.doc-duxs-section a:hover {
    color: #8a3a38;
    text-decoration-color: #BB5F5D
}

.doc-duxs-section a:visited {
    color: #9a4a48
}

.doc-duxs-section table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 48px;
    font-size: 16px;
    line-height: 1.6;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a
}

.doc-duxs-section thead {
    background-color: #BB5F5D
}

.doc-duxs-section thead th {
    color: #fff;
    font-size: 16px;
    letter-spacing: .02em;
    padding: 24px;
    text-align: left;
    font-weight: 700;
    border: none
}

.doc-duxs-section tbody tr {
    border-bottom: 1px solid #E3C7CB;
    transition: background-color .45s ease-in-out
}

.doc-duxs-section tbody tr:nth-child(even) {
    background-color: #F0DEDF
}

.doc-duxs-section tbody tr:hover {
    background-color: #E3C7CB
}

.doc-duxs-section td {
    padding: 24px;
    color: #2a1a1a;
    vertical-align: top;
    font-size: 16px;
    line-height: 1.6
}

.doc-duxs-section th {
    padding: 24px;
    vertical-align: top
}

.doc-duxs-section div {
    margin-bottom: 24px
}

@media (max-width: 576px) {
    .doc-duxs-section {
        padding: 24px 8px
    }

    .doc-duxs-section h1 {
        font-size: 32px
    }

    .doc-duxs-section h2 {
        font-size: 24px;
        margin-top: 24px
    }

    .doc-duxs-section h3 {
        font-size: 19px;
        margin-top: 24px
    }

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

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

@media (min-width: 577px) and (max-width: 992px) {
    .doc-duxs-section {
        padding: 48px 24px
    }

    .doc-duxs-section h1 {
        font-size: 44px
    }

    .doc-duxs-section table {
        display: block;
        overflow-x: auto
    }
}

.ct_us {
    background: #fff;
    overflow-x: clip;
    padding: 0
}

.ct_us .fog_layer {
    position: fixed;
    top: 0;
    left: 0;
    width: 200%;
    height: 100%;
    background: linear-gradient(105deg, #f0dedf2e 0%, #ffffff14 40%, #e3c7cb24 80%, transparent 100%);
    pointer-events: none;
    z-index: 0;
    animation: fog_move 18s ease-in-out infinite alternate
}

@keyframes fog_move {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-30%)
    }
}

.ct_us .pg_top {
    position: relative;
    padding: 96px 24px 48px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: conic-gradient(from 83deg at 60% 40%, #F0DEDF 0%, #E3C7CB 18%, #fff 38%, #F0DEDF 55%, #E3C7CB 72%, #fff 90%, #F0DEDF 100%);
    z-index: 1
}

.ct_us .blob_a {
    position: absolute;
    width: 320px;
    height: 320px;
    background: #E3C7CB;
    border-radius: 36px;
    filter: blur(72px);
    opacity: .45;
    top: -48px;
    left: 10%;
    pointer-events: none;
    z-index: 0
}

.ct_us .blob_b {
    position: absolute;
    width: 240px;
    height: 240px;
    background: #BB5F5D;
    border-radius: 36px;
    filter: blur(88px);
    opacity: .18;
    bottom: 0;
    right: 8%;
    pointer-events: none;
    z-index: 0
}

.ct_us .pg_top_img {
    position: relative;
    z-index: 1;
    width: 96px;
    height: 96px;
    border-radius: 36px;
    overflow: hidden;
    margin-bottom: 24px;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a;
    background: #E3C7CB;
    display: flex;
    align-items: center;
    justify-content: center;
    filter: grayscale(1)
}

.ct_us .pg_top_img svg {
    width: 56px;
    height: 56px
}

.ct_us .pg_heading {
    position: relative;
    z-index: 1;
    font-size: 44px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2a1213;
    text-align: center;
    max-width: 600px
}

.ct_us .pg_heading span {
    display: block
}

.ct_us .pg_sub {
    position: relative;
    z-index: 1;
    font-size: 19px;
    line-height: 1.6;
    color: #5a2e2e;
    text-align: center;
    max-width: 480px;
    margin-top: 24px;
    letter-spacing: .01em
}

.ct_us .divider_brush {
    width: 100%;
    line-height: 0;
    position: relative;
    z-index: 2
}

.ct_us .divider_brush svg {
    display: block;
    width: 100%
}

.ct_us .form_area {
    position: relative;
    z-index: 1;
    padding: 96px 24px;
    background: #fff
}

.ct_us .form_area_inner {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 48px;
    align-items: start
}

.ct_us .contact_meta {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.ct_us .meta_num {
    font-size: 70px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #BB5F5D;
    border-bottom: 4px solid #E3C7CB;
    padding-bottom: 24px
}

.ct_us .meta_label {
    font-size: 16px;
    line-height: 1.35;
    color: #7a3a38;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-weight: 700;
    margin-top: -16px
}

.ct_us .meta_block {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    border: 2px solid #E3C7CB;
    border-radius: 4px;
    background: #F0DEDF;
    box-shadow: -1px 3px 2px 0 #bb5f5d12;
    position: relative;
    overflow: hidden
}

.ct_us .meta_block::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 100%;
    background: #BB5F5D;
    border-radius: 0 4px 4px 0
}

.ct_us .meta_block_label {
    font-size: 16px;
    font-weight: 700;
    color: #BB5F5D;
    letter-spacing: .02em
}

.ct_us .meta_block_val {
    font-size: 16px;
    line-height: 1.6;
    color: #2a1213;
    letter-spacing: .01em
}

.ct_us .meta_block_val a {
    color: #BB5F5D;
    text-decoration: none;
    border-bottom: 1px solid #E3C7CB;
    transition: border-color .45s ease-in-out, color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ct_us .meta_block_val a:hover {
    color: #7a3a38;
    border-color: #BB5F5D
}

.ct_us .form_card {
    background: #fff;
    border: 2px solid #E3C7CB;
    border-radius: 4px;
    padding: 48px;
    box-shadow: -1px 8px 48px 0 #bb5f5d1a
}

.ct_us .form_row {
    display: flex;
    flex-direction: column;
    gap: 24px
}

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

.ct_us .field_grp label {
    font-size: 16px;
    font-weight: 700;
    color: #2a1213;
    letter-spacing: .01em
}

.ct_us .field_grp input[type="text"],
.ct_us .field_grp input[type="email"],
.ct_us .field_grp select,
.ct_us .field_grp textarea {
    width: 100%;
    padding: 8px 24px;
    border: 2px solid #E3C7CB;
    border-radius: 4px;
    background: #F0DEDF;
    font-size: 16px;
    line-height: 1.6;
    color: #2a1213;
    letter-spacing: .01em;
    box-shadow: inset -1px 3px 2px 0 #bb5f5d12;
    transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .45s ease-in-out;
    outline: none;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none
}

.ct_us .field_grp input[type="text"]:focus,
.ct_us .field_grp input[type="email"]:focus,
.ct_us .field_grp select:focus,
.ct_us .field_grp textarea:focus {
    border-color: #BB5F5D;
    box-shadow: inset -1px 3px 2px 0 #bb5f5d12 0 0 0 3px #bb5f5d1f
}

.ct_us .field_grp input::placeholder,
.ct_us .field_grp textarea::placeholder {
    font-style: italic;
    opacity: .55;
    color: #5a2e2e
}

.ct_us .field_grp textarea {
    min-height: 120px;
    resize: vertical
}

.ct_us .select_wrap {
    position: relative
}

.ct_us .select_wrap::after {
    content: "";
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #BB5F5D;
    pointer-events: none
}

.ct_us .select_wrap select {
    cursor: pointer;
    padding-right: 48px
}

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

.ct_us .radio_grp_label {
    font-size: 16px;
    font-weight: 700;
    color: #2a1213;
    letter-spacing: .01em;
    margin-bottom: 8px
}

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

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

.ct_us .radio_opt span {
    font-size: 16px;
    line-height: 1.6;
    color: #2a1213;
    letter-spacing: .01em
}

.ct_us .privacy_row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    padding: 24px;
    border: 2px solid #E3C7CB;
    border-radius: 4px;
    background: #F0DEDF
}

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

.ct_us .privacy_text {
    font-size: 16px;
    line-height: 1.6;
    color: #2a1213;
    letter-spacing: .01em
}

.ct_us .privacy_text a {
    color: #BB5F5D;
    text-decoration: none;
    border-bottom: 1px solid #E3C7CB;
    transition: color .45s ease-in-out, border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ct_us .privacy_text a:hover {
    color: #7a3a38;
    border-color: #BB5F5D
}

.ct_us .submit_btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 48px;
    background: #fff;
    border: 3px solid #BB5F5D;
    border-radius: 4px;
    color: #BB5F5D;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: .02em;
    cursor: pointer;
    transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s ease-in-out;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a;
    align-self: flex-start
}

.ct_us .submit_btn:hover {
    background: #BB5F5D;
    color: #fff
}

.ct_us .submit_btn:focus {
    outline: 3px solid #BB5F5D;
    outline-offset: 3px
}

.ct_us .submit_btn:active {
    background: #7a3a38;
    border-color: #7a3a38;
    color: #fff
}

.ct_us .form_heading {
    font-size: 32px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2a1213;
    margin-bottom: 24px
}

.ct_us .form_heading span {
    display: block
}

@media (max-width: 992px) {
    .ct_us .form_area_inner {
        grid-template-columns: 1fr
    }

    .ct_us .contact_meta {
        flex-direction: row;
        flex-wrap: wrap
    }

    .ct_us .meta_num {
        width: 100%
    }

    .ct_us .meta_block {
        flex: 1 1 200px
    }

    .ct_us .form_card {
        padding: 24px
    }
}

@media (max-width: 576px) {
    .ct_us .pg_heading {
        font-size: 32px
    }

    .ct_us .meta_num {
        font-size: 44px
    }

    .ct_us .form_area {
        padding: 48px 24px
    }

    .ct_us .contact_meta {
        flex-direction: column
    }

    .ct_us .submit_btn {
        width: 100%;
        justify-content: center
    }
}

.portf {
    max-width: 100%;
    overflow-x: hidden;
    background: #fff
}

.portf .p_inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 24px
}

.portf .title_strip {
    padding: 48px 0;
    background: #F0DEDF;
    position: relative
}

.portf .title_strip::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(#bb5f5d14 1px, transparent 1px), linear-gradient(90deg, #bb5f5d14 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none
}

.portf .strip_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px;
    position: relative;
    z-index: 1
}

.portf .img_geo_wrap {
    flex: 0 0 320px;
    height: 240px;
    overflow: hidden;
    border-radius: 4px;
    clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
    box-shadow: -1px 5px 22px 0 #bb5f5d1a;
    position: relative
}

.portf .img_geo_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.45) contrast(1.05) brightness(1.02)
}

.portf .strip_text {
    flex: 1;
    min-width: 0
}

.portf .strip_label {
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: .02em;
    color: #BB5F5D;
    font-weight: 600;
    margin-bottom: 8px;
    text-transform: uppercase
}

.portf .strip_h1 {
    font-size: 44px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2a1a1a;
    font-weight: 800;
    margin: 0 0 24px
}

.portf .strip_h1 span {
    display: block
}

.portf .strip_sub {
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4a2f2e;
    margin: 0 0 24px;
    max-width: 420px
}

.portf .strip_problem {
    font-size: 16px;
    line-height: 1.6;
    color: #5a3a39;
    margin: 0;
    border-top: 2px solid #bb5f5d4d;
    padding-top: 24px;
    max-width: 420px
}

.portf .geo_deco {
    position: absolute;
    border-radius: 36px;
    pointer-events: none;
    z-index: 0
}

.portf .geo_deco.d1 {
    width: 180px;
    height: 180px;
    border: 1px solid #bb5f5d1f;
    right: -40px;
    top: -40px
}

.portf .geo_deco.d2 {
    width: 90px;
    height: 90px;
    border: 1px solid #bb5f5d17;
    right: 60px;
    bottom: -20px
}

.portf .coll_section {
    padding: 96px 0 48px;
    background: #fff;
    position: relative
}

.portf .coll_section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 48px;
    background: linear-gradient(to bottom, transparent, #bb5f5d66)
}

.portf .coll_head {
    text-align: center;
    margin-bottom: 48px
}

.portf .coll_head h2 {
    font-size: 32px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2a1a1a;
    font-weight: 700;
    margin: 0 0 8px
}

.portf .coll_head h2 span {
    display: block
}

.portf .coll_head p {
    font-size: 16px;
    line-height: 1.6;
    color: #5a3a39;
    margin: 0 auto;
    max-width: 480px
}

.portf .proj_list {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.portf .proj_card {
    display: flex;
    flex-direction: row;
    border: 2px solid #E3C7CB;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: -1px 3px 2px 0 #bb5f5d12;
    transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .45s ease-in-out;
    cursor: pointer;
    background: #fff
}

.portf .proj_card:active {
    box-shadow: -1px 1px 2px 0 #bb5f5d0d inset;
    transform: translateY(1px);
    transition: transform .15s ease-in-out, box-shadow .15s ease-in-out
}

.portf .proj_card:hover {
    box-shadow: -1px 8px 48px 0 #bb5f5d1a;
    border-color: #BB5F5D
}

.portf .proj_card.wide {
    flex-direction: column
}

.portf .proj_accent {
    flex: 0 0 8px;
    background: conic-gradient(from 83deg, #BB5F5D, #E3C7CB, #BB5F5D)
}

.portf .proj_card.wide .proj_accent {
    flex: 0 0 6px;
    width: 100%
}

.portf .proj_body {
    flex: 1;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.portf .proj_meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.portf .proj_tag {
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: .02em;
    color: #BB5F5D;
    background: #F0DEDF;
    border-radius: 4px;
    padding: 0 8px;
    font-weight: 600;
    font-size: 16px
}

.portf .proj_year {
    font-size: 16px;
    color: #8a5a59;
    letter-spacing: .01em
}

.portf .proj_body h3 {
    font-size: 24px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #2a1a1a;
    font-weight: 700;
    margin: 0
}

.portf .proj_body h4 {
    font-size: 19px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #2a1a1a;
    font-weight: 700;
    margin: 0
}

.portf .proj_desc {
    font-size: 16px;
    line-height: 1.6;
    color: #4a2f2e;
    margin: 0
}

.portf .proj_stats {
    display: flex;
    flex-direction: row;
    gap: 24px;
    margin-top: 8px;
    flex-wrap: wrap
}

.portf .stat_item {
    display: flex;
    flex-direction: column;
    gap: 0
}

.portf .stat_num {
    font-size: 24px;
    line-height: 1.1;
    color: #BB5F5D;
    font-weight: 800;
    letter-spacing: .01em
}

.portf .stat_lbl {
    font-size: 16px;
    line-height: 1.35;
    color: #8a5a59;
    letter-spacing: .01em
}

.portf .compare_block {
    margin-top: 24px;
    display: flex;
    flex-direction: row;
    gap: 0;
    border: 1px solid #E3C7CB;
    border-radius: 4px;
    overflow: hidden
}

.portf .compare_col {
    flex: 1;
    padding: 24px
}

.portf .compare_col.before {
    background: #F0DEDF;
    border-right: 2px solid #BB5F5D
}

.portf .compare_col.after {
    background: #fff
}

.portf .compare_label {
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: .02em;
    font-weight: 700;
    color: #BB5F5D;
    margin-bottom: 8px;
    text-transform: uppercase
}

.portf .compare_item {
    font-size: 16px;
    line-height: 1.6;
    color: #4a2f2e;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px
}

.portf .compare_item .ci_dot {
    flex: 0 0 6px;
    height: 6px;
    width: 6px;
    border-radius: 36px;
    background: #BB5F5D;
    margin-top: 8px
}

.portf .three_col_row {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: stretch
}

.portf .col_outer {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.portf .col_center {
    flex: 0 0 320px
}

.portf .feat_card {
    border: 2px solid #E3C7CB;
    border-radius: 4px;
    padding: 24px;
    background: #F0DEDF;
    box-shadow: -1px 3px 2px 0 #bb5f5d12;
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: 100%
}

.portf .feat_card.center_feat {
    background: #BB5F5D;
    border-color: #BB5F5D;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a;
    height: 100%
}

.portf .feat_card.center_feat h4 {
    color: #fff
}

.portf .feat_card.center_feat p {
    color: #F0DEDF
}

.portf .feat_card.center_feat .stat_num {
    color: #fff
}

.portf .feat_card.center_feat .stat_lbl {
    color: #E3C7CB
}

.portf .feat_icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: #bb5f5d1f;
    color: #BB5F5D;
    font-size: 19px
}

.portf .feat_card.center_feat .feat_icon {
    background: #ffffff2e;
    color: #fff
}

.portf .feat_card h4 {
    font-size: 19px;
    line-height: 1.35;
    color: #2a1a1a;
    font-weight: 700;
    margin: 0
}

.portf .feat_card p {
    font-size: 16px;
    line-height: 1.6;
    color: #4a2f2e;
    margin: 0
}

.portf .prog_row {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.portf .prog_item {
    display: flex;
    flex-direction: column;
    gap: 0
}

.portf .prog_label_row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    font-size: 16px;
    line-height: 1.35;
    color: #fff;
    margin-bottom: 4px
}

.portf .prog_bar_bg {
    height: 6px;
    border-radius: 36px;
    background: #ffffff40;
    overflow: hidden
}

.portf .prog_bar_fill {
    height: 100%;
    border-radius: 36px;
    background: #fff;
    transform-origin: left;
    animation: bar_grow .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

@keyframes bar_grow {
    from {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

.portf .dense_open_row {
    display: flex;
    flex-direction: row;
    gap: 0;
    border: 2px solid #E3C7CB;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a
}

.portf .dense_side {
    flex: 0 0 52%;
    background: #2a1a1a;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.portf .dense_side h4 {
    font-size: 19px;
    line-height: 1.35;
    color: #E3C7CB;
    font-weight: 700;
    margin: 0 0 8px
}

.portf .dense_table {
    width: 100%;
    border-collapse: collapse
}

.portf .dense_table td {
    font-size: 16px;
    line-height: 1.6;
    padding: 4px 8px 4px 0;
    color: #F0DEDF;
    border-bottom: 1px solid #f0dedf1f;
    vertical-align: top
}

.portf .dense_table td:last-child {
    text-align: right;
    color: #E3C7CB;
    font-weight: 600
}

.portf .open_side {
    flex: 1;
    padding: 48px 24px;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px
}

.portf .open_side h4 {
    font-size: 24px;
    line-height: 1.1;
    color: #2a1a1a;
    font-weight: 800;
    margin: 0
}

.portf .open_side h4 span {
    display: block
}

.portf .open_side p {
    font-size: 16px;
    line-height: 1.8;
    color: #4a2f2e;
    margin: 0;
    max-width: 260px
}

.portf .open_link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    color: #BB5F5D;
    text-decoration: none;
    border: 2px solid #BB5F5D;
    border-radius: 4px;
    padding: 8px 24px;
    width: fit-content;
    transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.portf .open_link:hover {
    background: #BB5F5D;
    color: #fff
}

.portf .blur_bg_card {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: -1px 8px 48px 0 #bb5f5d1a
}

.portf .blur_bg_card .bg_img {
    position: absolute;
    inset: 0;
    background-image: url(./visual_archive/20260321_test2.jpg);
    background-size: cover;
    background-position: center;
    filter: blur(6px) saturate(0.4) brightness(0.55);
    transform: scale(1.08);
    pointer-events: none
}

.portf .blur_bg_card .card_fg {
    position: relative;
    z-index: 1;
    padding: 48px 24px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-start
}

.portf .blur_bg_card h4 {
    font-size: 32px;
    line-height: 1.1;
    color: #fff;
    font-weight: 800;
    margin: 0;
    letter-spacing: .01em
}

.portf .blur_bg_card h4 span {
    display: block
}

.portf .blur_bg_card p {
    font-size: 16px;
    line-height: 1.6;
    color: #F0DEDF;
    margin: 0;
    max-width: 480px
}

.portf .skill_chips {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px
}

.portf .skill_chip {
    font-size: 16px;
    line-height: 1.35;
    color: #fff;
    border: 2px solid #f0dedf80;
    border-radius: 4px;
    padding: 4px 8px;
    letter-spacing: .01em;
    transition: border-color .45s ease-in-out, background .45s ease-in-out
}

.portf .skill_chip:hover {
    border-color: #E3C7CB;
    background: #e3c7cb26
}

.portf .fade_in {
    opacity: 0;
    animation: fade_reveal .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.portf .fade_in.d1 {
    animation-delay: .1s
}

.portf .fade_in.d2 {
    animation-delay: .25s
}

.portf .fade_in.d3 {
    animation-delay: .4s
}

.portf .fade_in.d4 {
    animation-delay: .55s
}

@keyframes fade_reveal {
    from {
        opacity: 0;
        transform: translateY(12px)
    }

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

.portf .divider_line {
    height: 2px;
    background: linear-gradient(90deg, transparent, #E3C7CB 30%, #BB5F5D 50%, #E3C7CB 70%, transparent);
    margin: 48px 0 0;
    border: none
}

@media (max-width: 992px) {
    .portf .strip_row {
        flex-direction: column;
        gap: 24px
    }

    .portf .img_geo_wrap {
        flex: none;
        width: 100%;
        height: 200px
    }

    .portf .three_col_row {
        flex-direction: column
    }

    .portf .col_center {
        flex: none;
        width: 100%
    }

    .portf .dense_open_row {
        flex-direction: column
    }

    .portf .dense_side {
        flex: none
    }
}

@media (max-width: 576px) {
    .portf .strip_h1 {
        font-size: 32px
    }

    .portf .compare_block {
        flex-direction: column
    }

    .portf .compare_col.before {
        border-right: none;
        border-bottom: 2px solid #BB5F5D
    }

    .portf .proj_stats {
        gap: 8px
    }

    .portf .blur_bg_card h4 {
        font-size: 24px
    }
}

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

.ab_us .pg_cap {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 24px
}

.ab_us .reveal_rot {
    animation: rot_in .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

@keyframes rot_in {
    from {
        opacity: 0;
        transform: rotate(-4deg) translateY(24px)
    }

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

.ab_us .sec_div_tri {
    width: 100%;
    line-height: 0;
    display: block
}

.ab_us .sec_div_tri svg {
    display: block;
    width: 100%
}

.ab_us ::selection {
    background: #2c1a1a;
    color: #F0DEDF;
    font-weight: 700
}

.ab_us ::-webkit-input-placeholder {
    font-style: italic;
    opacity: .55
}

.ab_us ::-moz-placeholder {
    font-style: italic;
    opacity: .55
}

.ab_us .tit_blk {
    background: #fff;
    padding: 96px 24px 48px;
    text-align: center;
    position: relative
}

.ab_us .tit_blk .atm_spot {
    position: absolute;
    border-radius: 36px;
    filter: blur(72px);
    pointer-events: none;
    z-index: 0
}

.ab_us .tit_blk .atm_spot.sp1 {
    width: 320px;
    height: 320px;
    background: #bb5f5d21;
    top: -48px;
    left: 10%
}

.ab_us .tit_blk .atm_spot.sp2 {
    width: 240px;
    height: 240px;
    background: #e3c7cb2e;
    top: 24px;
    right: 8%
}

.ab_us .tit_blk .atm_spot.sp3 {
    width: 180px;
    height: 180px;
    background: #f0dedf38;
    bottom: 0;
    left: 40%
}

.ab_us .tit_blk .tit_inner {
    position: relative;
    z-index: 1;
    max-width: 1024px;
    margin: 0 auto
}

.ab_us .tit_blk .tit_img_wrap {
    display: inline-block;
    margin-bottom: 48px
}

.ab_us .tit_blk .tit_img_wrap img {
    width: 360px;
    height: 240px;
    object-fit: cover;
    border-radius: 4px;
    display: block
}

.ab_us .tit_blk .eyebrow {
    display: inline-block;
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: .02em;
    color: #BB5F5D;
    border: 2px solid #BB5F5D;
    border-radius: 4px;
    padding: 8px 24px;
    margin-bottom: 24px;
    font-weight: 600
}

.ab_us .tit_blk .tit_h1 {
    font-size: 60px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #1e0f0f;
    font-weight: 800;
    margin: 0 auto;
    max-width: 640px
}

.ab_us .tit_blk .tit_h1 span {
    display: block
}

.ab_us .about_sub {
    background: #F0DEDF;
    padding: 96px 24px;
    position: relative
}

.ab_us .about_sub .pg_cap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start
}

.ab_us .about_sub .sub_left {
    position: relative
}

.ab_us .about_sub .big_punct {
    font-size: 70px;
    line-height: 1.1;
    font-weight: 900;
    color: #bb5f5d1f;
    position: absolute;
    top: -24px;
    left: -8px;
    pointer-events: none;
    user-select: none;
    letter-spacing: -.02em
}

.ab_us .about_sub .sub_head {
    font-size: 32px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1e0f0f;
    font-weight: 700;
    margin-bottom: 24px;
    padding-top: 24px
}

.ab_us .about_sub .sub_head span {
    display: block
}

.ab_us .about_sub .sub_body {
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #2e1616;
    margin: 0 auto 24px
}

.ab_us .about_sub .metric_row {
    display: flex;
    flex-direction: row;
    gap: 24px;
    margin-top: 48px
}

.ab_us .about_sub .metric_card {
    flex: 1;
    background: #fff;
    border: 2px solid #BB5F5D;
    border-radius: 4px;
    padding: 24px;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a 8px 8px 0 0 #bb5f5d2e;
    transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ab_us .about_sub .metric_card:hover {
    box-shadow: -1px 8px 48px 0 #bb5f5d1a 12px 12px 0 0 #bb5f5d47;
    transform: translateY(-4px)
}

.ab_us .about_sub .metric_num {
    font-size: 44px;
    line-height: 1.1;
    font-weight: 800;
    color: #BB5F5D;
    letter-spacing: .01em;
    display: block
}

.ab_us .about_sub .metric_lbl {
    font-size: 16px;
    line-height: 1.35;
    color: #2e1616;
    letter-spacing: .02em;
    margin-top: 8px;
    display: block
}

.ab_us .about_sub .sub_right {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.ab_us .about_sub .sub_img_wrap {
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: -1px 8px 48px 0 #bb5f5d1a
}

.ab_us .about_sub .sub_img_wrap img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    filter: grayscale(100%);
    transition: filter .6s ease-in-out
}

.ab_us .about_sub .sub_img_wrap:hover img {
    filter: grayscale(0%)
}

.ab_us .about_sub .tinted_over {
    position: relative
}

.ab_us .about_sub .tinted_over::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #bb5f5d38;
    pointer-events: none;
    border-radius: 4px;
    transition: opacity .5s ease-in-out
}

.ab_us .about_sub .tinted_over:hover::after {
    opacity: 0
}

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

.ab_us .about_sub .feat_list li {
    font-size: 16px;
    line-height: 1.6;
    color: #2e1616;
    letter-spacing: .01em;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px
}

.ab_us .about_sub .feat_list li .fi {
    color: #BB5F5D;
    font-size: 19px;
    flex-shrink: 0;
    margin-top: 2px
}

.ab_us .team_vals {
    background: #fff;
    padding: 96px 24px;
    position: relative
}

.ab_us .team_vals .pg_cap {
    display: flex;
    flex-direction: column;
    gap: 96px
}

.ab_us .team_vals .tv_head_row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 48px
}

.ab_us .team_vals .tv_head_text {
    flex: 1
}

.ab_us .team_vals .tv_h2 {
    font-size: 44px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #1e0f0f;
    font-weight: 800;
    margin-bottom: 24px
}

.ab_us .team_vals .tv_h2 span {
    display: block
}

.ab_us .team_vals .tv_desc {
    font-size: 19px;
    line-height: 1.6;
    color: #2e1616;
    letter-spacing: .01em;
    max-width: 480px
}

.ab_us .team_vals .tv_img_side {
    flex: 0 0 340px
}

.ab_us .team_vals .tv_img_side img {
    width: 340px;
    height: 220px;
    object-fit: cover;
    border-radius: 4px;
    display: block;
    filter: grayscale(100%);
    box-shadow: -1px 5px 22px 0 #bb5f5d1a;
    position: relative
}

.ab_us .team_vals .tv_img_wrap {
    position: relative;
    display: inline-block
}

.ab_us .team_vals .tv_img_wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background: conic-gradient(from 83deg, #bb5f5d47, #f0dedf2e, #e3c7cb38, #bb5f5d47);
    border-radius: 4px;
    pointer-events: none;
    z-index: 1;
    transition: opacity .55s ease-in-out
}

.ab_us .team_vals .tv_img_wrap:hover::before {
    opacity: 0
}

.ab_us .team_vals .team_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.ab_us .team_vals .person_card {
    border: 2px solid #E3C7CB;
    border-radius: 4px;
    padding: 24px;
    background: #fff;
    box-shadow: -1px 3px 2px 0 #bb5f5d12;
    transition: border-color .45s ease-in-out, box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative
}

.ab_us .team_vals .person_card:hover {
    border-color: #BB5F5D;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a
}

.ab_us .team_vals .person_card .pc_img_wrap {
    width: 72px;
    height: 72px;
    border-radius: 36px;
    overflow: hidden;
    margin-bottom: 24px;
    border: 2px solid #E3C7CB
}

.ab_us .team_vals .person_card .pc_img_wrap img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    display: block
}

.ab_us .team_vals .person_card .pc_name {
    font-size: 19px;
    line-height: 1.35;
    font-weight: 700;
    color: #1e0f0f;
    letter-spacing: .01em;
    margin-bottom: 8px
}

.ab_us .team_vals .person_card .pc_role {
    font-size: 16px;
    line-height: 1.35;
    color: #BB5F5D;
    letter-spacing: .02em;
    font-weight: 600;
    margin-bottom: 8px
}

.ab_us .team_vals .person_card .pc_bio {
    font-size: 16px;
    line-height: 1.6;
    color: #3a1e1e;
    letter-spacing: .01em
}

.ab_us .team_vals .vals_strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px
}

.ab_us .team_vals .val_item {
    padding: 24px;
    background: #F0DEDF;
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    transition: background .5s ease-in-out
}

.ab_us .team_vals .val_item:hover {
    background: #E3C7CB
}

.ab_us .team_vals .val_item .vi_icon {
    font-size: 32px;
    color: #BB5F5D;
    margin-bottom: 8px;
    display: block
}

.ab_us .team_vals .val_item .vi_label {
    font-size: 19px;
    line-height: 1.35;
    font-weight: 700;
    color: #1e0f0f;
    letter-spacing: .01em;
    margin-bottom: 8px;
    display: block
}

.ab_us .team_vals .val_item .vi_text {
    font-size: 16px;
    line-height: 1.6;
    color: #2e1616;
    letter-spacing: .01em
}

.ab_us .team_vals .focus_reveal {
    background: #2c1a1a;
    border-radius: 4px;
    padding: 48px;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px
}

.ab_us .team_vals .focus_reveal .fr_img {
    flex: 0 0 280px
}

.ab_us .team_vals .focus_reveal .fr_img img {
    width: 280px;
    height: 200px;
    object-fit: cover;
    border-radius: 4px;
    display: block;
    filter: grayscale(100%);
    transition: filter .6s ease-in-out
}

.ab_us .team_vals .focus_reveal:hover .fr_img img {
    filter: grayscale(0%)
}

.ab_us .team_vals .focus_reveal .fr_text {
    flex: 1
}

.ab_us .team_vals .focus_reveal .fr_label {
    font-size: 16px;
    line-height: 1.35;
    color: #E3C7CB;
    letter-spacing: .02em;
    font-weight: 600;
    display: block;
    margin-bottom: 8px
}

.ab_us .team_vals .focus_reveal .fr_h3 {
    font-size: 32px;
    line-height: 1.35;
    font-weight: 800;
    color: #F0DEDF;
    letter-spacing: .01em;
    margin-bottom: 24px
}

.ab_us .team_vals .focus_reveal .fr_h3 span {
    display: block
}

.ab_us .team_vals .focus_reveal .fr_body {
    font-size: 16px;
    line-height: 1.6;
    color: #E3C7CB;
    letter-spacing: .01em
}

.ab_us .team_vals .focus_reveal .fr_cta {
    display: inline-block;
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
    color: #1e0f0f;
    background: #F0DEDF;
    border: 3px solid #F0DEDF;
    border-radius: 4px;
    padding: 8px 24px;
    text-decoration: none !important;
    letter-spacing: .02em;
    transition: background .45s ease-in-out, color .45s ease-in-out, border-color .45s ease-in-out
}

.ab_us .team_vals .focus_reveal .fr_cta:hover {
    background: transparent;
    color: #F0DEDF;
    border-color: #F0DEDF
}

@media (max-width: 992px) {
    .ab_us .about_sub .pg_cap {
        grid-template-columns: 1fr
    }

    .ab_us .about_sub .metric_row {
        flex-direction: column
    }

    .ab_us .team_vals .tv_head_row {
        flex-direction: column;
        align-items: flex-start
    }

    .ab_us .team_vals .tv_img_side {
        flex: none;
        width: 100%
    }

    .ab_us .team_vals .tv_img_side img {
        width: 100%;
        height: 220px
    }

    .ab_us .team_vals .team_grid {
        grid-template-columns: 1fr 1fr
    }

    .ab_us .team_vals .vals_strip {
        grid-template-columns: 1fr 1fr
    }

    .ab_us .team_vals .focus_reveal {
        flex-direction: column
    }

    .ab_us .team_vals .focus_reveal .fr_img {
        flex: none;
        width: 100%
    }

    .ab_us .team_vals .focus_reveal .fr_img img {
        width: 100%;
        height: 200px
    }
}

@media (max-width: 576px) {
    .ab_us .tit_blk .tit_h1 {
        font-size: 44px
    }

    .ab_us .tit_blk .tit_img_wrap img {
        width: 100%;
        height: 200px
    }

    .ab_us .team_vals .team_grid {
        grid-template-columns: 1fr
    }

    .ab_us .team_vals .vals_strip {
        grid-template-columns: 1fr
    }

    .ab_us .about_sub .sub_head {
        font-size: 24px
    }

    .ab_us .team_vals .tv_h2 {
        font-size: 32px
    }

    .ab_us .team_vals .focus_reveal {
        padding: 24px
    }
}

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

.lp_prog .reveal {
    opacity: 0;
    transform: rotate(-2deg) translateY(32px);
    transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp_prog .reveal.visible {
    opacity: 1;
    transform: rotate(0deg) translateY(0)
}

.lp_prog .reveal_up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .5s ease-in-out, transform .55s ease-in-out
}

.lp_prog .reveal_up.visible {
    opacity: 1;
    transform: translateY(0)
}

.lp_prog .pg_max {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px
}

.lp_prog .blk_title {
    display: grid;
    grid-template-columns: 280px 1fr;
    min-height: 420px;
    position: relative
}

.lp_prog .blk_title .img_col {
    position: relative;
    overflow: hidden
}

.lp_prog .blk_title .img_col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: slow_zoom 12s ease-in-out infinite alternate
}

@keyframes slow_zoom {
    from {
        transform: scale(1)
    }

    to {
        transform: scale(1.06)
    }
}

.lp_prog .blk_title .img_col::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, transparent 30%, #fff 95%);
    pointer-events: none
}

.lp_prog .blk_title .txt_col {
    padding: 48px 48px 48px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative
}

.lp_prog .blk_title .arr_deco {
    position: absolute;
    top: 50%;
    left: -18px;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    opacity: .18
}

.lp_prog .blk_title .arr_deco svg {
    width: 100%;
    height: 100%
}

.lp_prog .prog_eyebrow {
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: .02em;
    color: #BB5F5D;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 8px;
    display: block
}

.lp_prog .prog_h1 {
    font-size: 44px;
    line-height: 1.1;
    letter-spacing: .01em;
    font-weight: 800;
    color: #2a1a1a;
    margin: 0 0 24px
}

.lp_prog .prog_h1 span {
    display: block
}

.lp_prog .prog_lead {
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4a2e2e;
    max-width: 480px;
    margin-bottom: 24px
}

.lp_prog .prog_lead+.prog_lead {
    margin-top: 0
}

.lp_prog .stat_accent {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    margin-top: 8px
}

.lp_prog .stat_int {
    font-size: 44px;
    line-height: 1.1;
    font-weight: 800;
    color: #BB5F5D;
    letter-spacing: .01em
}

.lp_prog .stat_frac {
    font-size: 24px;
    line-height: 1.35;
    font-weight: 600;
    color: #E3C7CB;
    letter-spacing: .01em
}

.lp_prog .stat_label {
    font-size: 16px;
    line-height: 1.35;
    color: #7a4a4a;
    margin-left: 8px;
    font-weight: 500
}

.lp_prog .blk_detail {
    background: #F0DEDF;
    position: relative;
    padding: 96px 0
}

.lp_prog .blk_detail::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='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E");
    pointer-events: none;
    opacity: .6
}

.lp_prog .blk_detail .pg_max {
    position: relative
}

.lp_prog .detail_grid {
    display: grid;
    grid-template-columns: 80px 1fr 80px 1fr;
    gap: 24px;
    align-items: start;
    margin-bottom: 48px
}

.lp_prog .detail_label_col {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 8px
}

.lp_prog .detail_icon {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background: #BB5F5D;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a;
    margin-bottom: 8px
}

.lp_prog .detail_icon i {
    font-size: 19px;
    color: #fff
}

.lp_prog .detail_icon_label {
    font-size: 16px;
    line-height: 1.35;
    color: #7a4a4a;
    font-weight: 600;
    text-align: center;
    letter-spacing: .01em
}

.lp_prog .detail_text_col {
    padding: 8px 0
}

.lp_prog .detail_text_col p {
    font-size: 16px;
    line-height: 1.6;
    color: #2a1a1a;
    letter-spacing: .01em;
    margin: 0 0 8px
}

.lp_prog .detail_h2 {
    font-size: 32px;
    line-height: 1.1;
    letter-spacing: .01em;
    font-weight: 800;
    color: #2a1a1a;
    margin: 0 0 24px
}

.lp_prog .detail_h2 span {
    display: block
}

.lp_prog .hero_stat_wrap {
    border: 3px solid #BB5F5D;
    border-radius: 4px;
    padding: 48px;
    margin-bottom: 48px;
    background: #fff;
    box-shadow: -1px 8px 48px 0 #bb5f5d1a;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px;
    position: relative
}

.lp_prog .hero_stat_num {
    flex-shrink: 0
}

.lp_prog .hero_stat_big {
    font-size: 70px;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: .01em;
    color: #BB5F5D;
    display: block
}

.lp_prog .hero_stat_big .frac_part {
    color: #E3C7CB;
    font-size: 44px
}

.lp_prog .hero_stat_context {
    flex: 1
}

.lp_prog .hero_stat_context strong {
    font-size: 24px;
    line-height: 1.35;
    font-weight: 700;
    color: #2a1a1a;
    display: block;
    margin-bottom: 8px;
    letter-spacing: .01em
}

.lp_prog .hero_stat_context p {
    font-size: 16px;
    line-height: 1.6;
    color: #4a2e2e;
    margin: 0;
    letter-spacing: .01em
}

.lp_prog .hero_stat_wrap .arr_sm {
    position: absolute;
    bottom: 16px;
    right: 24px;
    opacity: .15;
    pointer-events: none
}

.lp_prog .steps_list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.lp_prog .step_item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
    padding: 24px;
    background: #fff;
    border-radius: 4px;
    box-shadow: -1px 3px 2px 0 #bb5f5d12;
    border: 1.5px solid #E3C7CB;
    transition: box-shadow .45s ease-in-out, border-color .5s ease-in-out
}

.lp_prog .step_item:hover {
    box-shadow: -1px 5px 22px 0 #bb5f5d1a;
    border-color: #BB5F5D
}

.lp_prog .step_num {
    font-size: 32px;
    line-height: 1.1;
    font-weight: 800;
    color: #E3C7CB;
    min-width: 48px;
    letter-spacing: .01em;
    flex-shrink: 0
}

.lp_prog .step_body h4 {
    font-size: 19px;
    line-height: 1.35;
    font-weight: 700;
    color: #2a1a1a;
    margin: 0 0 8px;
    letter-spacing: .01em
}

.lp_prog .step_body p {
    font-size: 16px;
    line-height: 1.6;
    color: #4a2e2e;
    margin: 0;
    letter-spacing: .01em
}

.lp_prog .progress_row {
    margin-top: 48px
}

.lp_prog .progress_row h3 {
    font-size: 24px;
    line-height: 1.35;
    font-weight: 700;
    color: #2a1a1a;
    margin: 0 0 24px;
    letter-spacing: .01em
}

.lp_prog .prog_bar_item {
    margin-bottom: 24px
}

.lp_prog .prog_bar_label {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 8px
}

.lp_prog .prog_bar_label span {
    font-size: 16px;
    line-height: 1.35;
    color: #2a1a1a;
    font-weight: 600;
    letter-spacing: .01em
}

.lp_prog .prog_bar_label em {
    font-size: 16px;
    line-height: 1.35;
    color: #BB5F5D;
    font-weight: 700;
    font-style: normal
}

.lp_prog .prog_track {
    height: 8px;
    background: #E3C7CB;
    border-radius: 4px;
    overflow: hidden
}

.lp_prog .prog_fill {
    height: 100%;
    background: #BB5F5D;
    border-radius: 4px;
    width: 0;
    transition: width .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp_prog .prog_fill.animated {
    width: var(--fill-w)
}

.lp_prog .btn_primary {
    display: inline-block;
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: .02em;
    font-weight: 700;
    color: #BB5F5D;
    background: transparent;
    border: 3px solid #BB5F5D;
    border-radius: 4px;
    padding: 16px 48px;
    cursor: pointer;
    text-decoration: none;
    transition: background .5s ease-in-out, color .45s ease-in-out;
    box-shadow: -1px 3px 2px 0 #bb5f5d12
}

.lp_prog .btn_primary:hover,
.lp_prog .btn_primary:focus {
    background: #BB5F5D;
    color: #fff;
    outline: none
}

.lp_prog .btn_primary:focus-visible {
    outline: 3px solid #BB5F5D;
    outline-offset: 3px
}

@media (max-width: 992px) {
    .lp_prog .blk_title {
        grid-template-columns: 1fr
    }

    .lp_prog .blk_title .img_col {
        height: 240px
    }

    .lp_prog .blk_title .txt_col {
        padding: 48px 24px
    }

    .lp_prog .blk_title .arr_deco {
        display: none
    }

    .lp_prog .detail_grid {
        grid-template-columns: 64px 1fr
    }

    .lp_prog .hero_stat_wrap {
        flex-direction: column;
        gap: 24px;
        padding: 24px
    }
}

@media (max-width: 576px) {
    .lp_prog .prog_h1 {
        font-size: 32px
    }

    .lp_prog .detail_h2 {
        font-size: 24px
    }

    .lp_prog .hero_stat_big {
        font-size: 44px
    }

    .lp_prog .detail_grid {
        grid-template-columns: 1fr
    }

    .lp_prog .detail_label_col {
        flex-direction: row;
        align-items: center;
        gap: 8px
    }

    .lp_prog .blk_detail {
        padding: 48px 0
    }
}

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

.prm .pm_inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 24px
}

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

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

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

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

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

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

.prm .t_block {
    background: #F0DEDF;
    padding: 96px 24px 48px;
    position: relative
}

.prm .t_block::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    background: #BB5F5D
}

.prm .t_block .pm_inner {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.prm .t_img_card {
    flex: 0 0 280px;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a;
    animation: slide_left .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    position: relative
}

.prm .t_img_card img {
    width: 280px;
    height: 340px;
    object-fit: cover;
    display: block;
    filter: saturate(0.7) contrast(1.1) brightness(0.95)
}

.prm .t_img_card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: conic-gradient(from 83deg, #bb5f5d2e, #e3c7cb1a, #bb5f5d14);
    z-index: 1;
    pointer-events: none
}

.prm .t_text {
    flex: 1 1 auto;
    animation: slide_right .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s both;
    border-top: 3px solid #BB5F5D;
    padding-top: 24px
}

.prm .t_label {
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: .02em;
    color: #BB5F5D;
    font-weight: 600;
    margin-bottom: 8px;
    text-transform: uppercase
}

.prm .t_heading {
    font-size: 44px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2d1a19;
    font-weight: 800;
    margin-bottom: 24px
}

.prm .t_heading span {
    display: block
}

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

.prm .t_pts li {
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #3a2020;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px
}

.prm .t_pts li .pt_dot {
    width: 8px;
    height: 8px;
    border-radius: 4px;
    background: #BB5F5D;
    flex-shrink: 0;
    margin-top: 8px
}

.prm .t_deco {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 24px
}

.prm .t_deco span {
    display: block;
    width: 32px;
    height: 2px;
    background: #BB5F5D;
    opacity: .5
}

.prm .t_deco span:nth-child(2) {
    width: 24px
}

.prm .t_deco span:nth-child(3) {
    width: 16px
}

.prm .aud_block {
    background: #fff;
    padding: 96px 24px;
    position: relative
}

.prm .aud_block .pm_inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start
}

.prm .aud_label {
    font-size: 16px;
    letter-spacing: .02em;
    color: #BB5F5D;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 8px
}

.prm .aud_head {
    font-size: 32px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2d1a19;
    font-weight: 700;
    margin-bottom: 24px
}

.prm .aud_head span {
    display: block
}

.prm .aud_desc {
    font-size: 19px;
    line-height: 1.6;
    color: #3a2020;
    margin: 0 0 24px;
    padding: 0 48px
}

.prm .aud_col_right {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.prm .aud_card {
    border-radius: 4px;
    padding: 24px;
    border: 2px solid transparent;
    transition: border-color .5s ease-in-out, box-shadow .45s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    cursor: default
}

.prm .aud_card.yes_card {
    background: #F0DEDF;
    border-color: #E3C7CB;
    box-shadow: -1px 3px 2px 0 #bb5f5d12
}

.prm .aud_card.no_card {
    background: #fdf8f8;
    border-color: #e8d8d8;
    box-shadow: -1px 3px 2px 0 #bb5f5d12
}

.prm .aud_card:hover {
    transform: translateY(-4px);
    box-shadow: -1px 8px 48px 0 #bb5f5d1a;
    border-color: #BB5F5D
}

.prm .card_tag {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .02em;
    margin-bottom: 8px;
    text-transform: uppercase
}

.prm .yes_card .card_tag {
    color: #BB5F5D
}

.prm .no_card .card_tag {
    color: #8a5a5a
}

.prm .aud_card p {
    font-size: 16px;
    line-height: 1.6;
    color: #3a2020;
    margin: 0
}

.prm .rep_block {
    background: #2d1a19;
    padding: 96px 24px;
    position: relative
}

.prm .rep_block::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #BB5F5D, #E3C7CB)
}

.prm .rep_block .pm_inner {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: stretch
}

.prm .rep_main {
    flex: 1 1 auto
}

.prm .rep_label {
    font-size: 16px;
    letter-spacing: .02em;
    color: #E3C7CB;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 8px
}

.prm .rep_head {
    font-size: 32px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #fff;
    font-weight: 700;
    margin-bottom: 24px
}

.prm .rep_head span {
    display: block
}

.prm .rep_text {
    font-size: 19px;
    line-height: 1.6;
    color: #E3C7CB;
    margin: 0 0 24px;
    padding: 0 48px
}

.prm .rep_refs {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 24px
}

.prm .rep_ref_item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    padding: 8px;
    border-radius: 4px;
    background: #e3c7cb14;
    transition: background .5s ease-in-out
}

.prm .rep_ref_item:hover {
    background: #e3c7cb26
}

.prm .ref_ico {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: 4px;
    background: #BB5F5D;
    display: flex;
    align-items: center;
    justify-content: center
}

.prm .ref_ico i {
    font-size: 16px;
    color: #fff
}

.prm .ref_txt {
    font-size: 16px;
    line-height: 1.6;
    color: #E3C7CB
}

.prm .rep_sidebar {
    flex: 0 0 220px;
    background: #BB5F5D;
    border-radius: 4px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a
}

.prm .rep_num {
    font-size: 70px;
    line-height: 1.1;
    font-weight: 800;
    color: #fff;
    letter-spacing: .01em
}

.prm .rep_num_label {
    font-size: 16px;
    line-height: 1.35;
    color: #ffffffd9;
    margin-top: -16px
}

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

.prm .stars_row {
    display: flex;
    flex-direction: row;
    gap: 4px
}

.prm .star_fill {
    width: 16px;
    height: 16px
}

.prm .rep_rating_val {
    font-size: 24px;
    font-weight: 700;
    color: #fff
}

.prm .rep_rating_sub {
    font-size: 16px;
    color: #fffc
}

.prm .rep_img_wrap {
    border-radius: 4px;
    overflow: hidden;
    flex: 0 0 auto
}

.prm .rep_img_wrap img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
    filter: saturate(0.6) brightness(0.9)
}

.prm .ltv_block {
    background: #F0DEDF;
    padding: 48px 24px;
    position: relative
}

.prm .ltv_block .pm_inner {
    max-width: 1024px
}

.prm .ltv_label {
    font-size: 16px;
    letter-spacing: .02em;
    color: #BB5F5D;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 8px
}

.prm .ltv_head {
    font-size: 32px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2d1a19;
    font-weight: 700;
    margin-bottom: 24px
}

.prm .ltv_head span {
    display: block
}

.prm .ltv_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    margin-top: 24px
}

.prm .ltv_item {
    background: #fff;
    border-radius: 4px;
    padding: 24px;
    box-shadow: -1px 3px 2px 0 #bb5f5d12;
    border-top: 3px solid #BB5F5D;
    transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .45s ease-in-out
}

.prm .ltv_item:hover {
    transform: translateY(-6px);
    box-shadow: -1px 8px 48px 0 #bb5f5d1a
}

.prm .ltv_item_icon {
    margin-bottom: 8px
}

.prm .ltv_item_icon i {
    font-size: 24px;
    color: #BB5F5D
}

.prm .ltv_item_title {
    font-size: 19px;
    font-weight: 700;
    color: #2d1a19;
    line-height: 1.35;
    margin-bottom: 8px
}

.prm .ltv_item p {
    font-size: 16px;
    line-height: 1.6;
    color: #3a2020;
    margin: 0
}

.prm .ltv_img_row {
    margin-top: 48px;
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: center
}

.prm .ltv_img_wrap {
    flex: 0 0 320px;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a
}

.prm .ltv_img_wrap img {
    width: 320px;
    height: 220px;
    object-fit: cover;
    display: block
}

.prm .ltv_img_text {
    flex: 1 1 auto
}

.prm .ltv_img_text p {
    font-size: 19px;
    line-height: 1.6;
    color: #3a2020;
    margin: 0 0 24px;
    padding: 0 48px
}

.prm .out_block {
    background: #fff;
    padding: 96px 24px;
    position: relative
}

.prm .out_block::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: #E3C7CB
}

.prm .out_block .pm_inner {
    display: flex;
    flex-direction: column;
    gap: 48px
}

.prm .out_head_row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 48px
}

.prm .out_label {
    font-size: 16px;
    letter-spacing: .02em;
    color: #BB5F5D;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 8px
}

.prm .out_head {
    font-size: 32px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2d1a19;
    font-weight: 700
}

.prm .out_head span {
    display: block
}

.prm .out_sub {
    font-size: 19px;
    line-height: 1.6;
    color: #3a2020;
    flex: 1 1 auto;
    padding: 0 48px
}

.prm .out_panels {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: stretch
}

.prm .out_code_panel {
    flex: 1 1 auto;
    background: #2d1a19;
    border-radius: 4px;
    padding: 24px;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a;
    overflow: hidden
}

.prm .code_bar {
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin-bottom: 24px;
    align-items: center
}

.prm .code_dot {
    width: 10px;
    height: 10px;
    border-radius: 36px
}

.prm .code_dot.red {
    background: #BB5F5D
}

.prm .code_dot.yellow {
    background: #E3C7CB
}

.prm .code_dot.green {
    background: #c5d8b0
}

.prm .code_bar_label {
    font-size: 16px;
    color: #e3c7cb80;
    margin-left: 8px
}

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

.prm .code_line {
    font-size: 16px;
    line-height: 1.6;
    font-family: monospace;
    color: #E3C7CB
}

.prm .code_line .kw {
    color: #BB5F5D
}

.prm .code_line .fn {
    color: #e8b4b3
}

.prm .code_line .str {
    color: #c5d8b0
}

.prm .code_line .cm {
    color: #e3c7cb66
}

.prm .code_line .num {
    color: #f0c4a0
}

.prm .out_result_panel {
    flex: 0 0 280px;
    border-radius: 4px;
    border: 2px solid #E3C7CB;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    background: #fdf8f8;
    box-shadow: -1px 3px 2px 0 #bb5f5d12
}

.prm .result_label {
    font-size: 16px;
    font-weight: 700;
    color: #BB5F5D;
    text-transform: uppercase;
    letter-spacing: .02em
}

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

.prm .result_metric_name {
    font-size: 16px;
    color: #3a2020
}

.prm .result_metric_bar {
    height: 8px;
    border-radius: 4px;
    background: #E3C7CB;
    overflow: hidden
}

.prm .result_metric_fill {
    height: 100%;
    border-radius: 4px;
    background: #BB5F5D;
    transition: width .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prm .result_metric_val {
    font-size: 16px;
    font-weight: 700;
    color: #2d1a19
}

.prm .result_img_wrap {
    border-radius: 4px;
    overflow: hidden
}

.prm .result_img_wrap img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    display: block
}

.prm .hes_block {
    background: #E3C7CB;
    padding: 96px 24px;
    position: relative
}

.prm .hes_block .pm_inner {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.prm .hes_left {
    flex: 1 1 auto
}

.prm .hes_label {
    font-size: 16px;
    letter-spacing: .02em;
    color: #2d1a19;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 8px;
    opacity: .7
}

.prm .hes_head {
    font-size: 32px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2d1a19;
    font-weight: 700;
    margin-bottom: 24px
}

.prm .hes_head span {
    display: block
}

.prm .hes_text {
    font-size: 19px;
    line-height: 1.6;
    color: #2d1a19;
    margin: 0 0 24px;
    padding: 0 48px
}

.prm .hes_qa {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 24px
}

.prm .hes_q {
    font-size: 19px;
    font-weight: 700;
    color: #2d1a19;
    line-height: 1.35
}

.prm .hes_a {
    font-size: 16px;
    line-height: 1.6;
    color: #3a2020;
    margin: 0;
    padding-left: 24px;
    border-left: none;
    position: relative
}

.prm .hes_right {
    flex: 0 0 300px;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.prm .hes_img_wrap {
    border-radius: 4px;
    overflow: hidden;
    box-shadow: -1px 8px 48px 0 #bb5f5d1a
}

.prm .hes_img_wrap img {
    width: 300px;
    height: 200px;
    object-fit: cover;
    display: block;
    filter: saturate(0.8)
}

.prm .hes_note {
    background: #2d1a19;
    border-radius: 4px;
    padding: 24px;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a
}

.prm .hes_note p {
    font-size: 16px;
    line-height: 1.6;
    color: #E3C7CB;
    margin: 0
}

.prm .hes_note strong {
    color: #fff
}

@media (max-width: 992px) {
    .prm .t_block .pm_inner {
        flex-direction: column;
        gap: 24px
    }

    .prm .t_img_card {
        flex: 0 0 auto;
        width: 100%
    }

    .prm .t_img_card img {
        width: 100%;
        height: 240px
    }

    .prm .aud_block .pm_inner {
        grid-template-columns: 1fr
    }

    .prm .rep_block .pm_inner {
        flex-direction: column
    }

    .prm .rep_sidebar {
        flex: 0 0 auto;
        width: 100%
    }

    .prm .ltv_grid {
        grid-template-columns: 1fr 1fr
    }

    .prm .ltv_img_row {
        flex-direction: column
    }

    .prm .ltv_img_wrap {
        flex: 0 0 auto;
        width: 100%
    }

    .prm .ltv_img_wrap img {
        width: 100%;
        height: 200px
    }

    .prm .out_head_row {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px
    }

    .prm .out_sub {
        padding: 0
    }

    .prm .out_panels {
        flex-direction: column
    }

    .prm .out_result_panel {
        flex: 0 0 auto
    }

    .prm .hes_block .pm_inner {
        flex-direction: column
    }

    .prm .hes_right {
        flex: 0 0 auto;
        width: 100%
    }

    .prm .hes_img_wrap img {
        width: 100%;
        height: 200px
    }
}

@media (max-width: 576px) {
    .prm .t_heading {
        font-size: 32px
    }

    .prm .rep_head,
    .prm .aud_head,
    .prm .ltv_head,
    .prm .out_head,
    .prm .hes_head {
        font-size: 24px
    }

    .prm .rep_num {
        font-size: 44px
    }

    .prm .ltv_grid {
        grid-template-columns: 1fr
    }

    .prm .aud_desc,
    .prm .rep_text,
    .prm .ltv_img_text p,
    .prm .hes_text {
        padding: 0
    }
}

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

.success_page .result_card {
    background: #fff;
    border: 2px solid #E3C7CB;
    border-radius: 4px;
    padding: 48px;
    max-width: 1024px;
    width: 100%;
    box-shadow: -1px 5px 22px 0 #bb5f5d1a;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.success_page .icon_wrap {
    width: 64px;
    height: 64px;
    border-radius: 36px;
    background: #F0DEDF;
    border: 2px solid #BB5F5D;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    box-shadow: inset -1px 3px 2px 0 #bb5f5d12;
    flex-shrink: 0
}

.success_page .icon_wrap svg {
    display: block
}

.success_page .result_heading {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2a1213;
    margin-bottom: 24px
}

.success_page .result_text {
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #3d1f20;
    max-width: 560px;
    margin-bottom: 8px
}

.success_page .result_note {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #7a4547;
    max-width: 480px;
    margin-bottom: 48px
}

.success_page .action_row {
    display: flex;
    flex-direction: row;
    gap: 24px;
    flex-wrap: wrap;
    justify-content: center
}

.success_page .btn_primary {
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.35;
    color: #BB5F5D;
    background: #fff;
    border: 2px solid #BB5F5D;
    border-radius: 4px;
    padding: 8px 24px;
    text-decoration: none;
    cursor: pointer;
    transition: background .5s ease-in-out, color .45s ease-in-out, border-color .5s ease-in-out
}

.success_page .btn_primary:hover,
.success_page .btn_primary:focus {
    background: #BB5F5D;
    color: #fff;
    outline: none
}

.success_page .btn_primary:focus-visible {
    outline: 3px solid #BB5F5D;
    outline-offset: 3px
}

.success_page .btn_secondary {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .02em;
    line-height: 1.35;
    color: #7a4547;
    background: #F0DEDF;
    border: 2px solid #E3C7CB;
    border-radius: 4px;
    padding: 8px 24px;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .45s ease-in-out
}

.success_page .btn_secondary:hover,
.success_page .btn_secondary:focus {
    border-color: #BB5F5D;
    background: #E3C7CB;
    outline: none
}

.success_page .btn_secondary:focus-visible {
    outline: 3px solid #BB5F5D;
    outline-offset: 3px
}

.success_page .divider_line {
    width: 48px;
    height: 2px;
    background: #E3C7CB;
    border-radius: 4px;
    margin: 0 auto 24px
}

@media (max-width: 576px) {
    .success_page {
        padding: 48px 8px
    }

    .success_page .result_card {
        padding: 24px 8px
    }

    .success_page .action_row {
        flex-direction: column;
        gap: 8px;
        width: 100%
    }

    .success_page .btn_primary,
    .success_page .btn_secondary {
        width: 100%;
        text-align: center
    }

    .success_page .result_heading {
        font-size: 24px
    }
}