html {
    box-sizing: border-box
}

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

body {
    margin: 0;
    font-family: 'Rubik', sans-serif;
    background-color: #fff;
    color: #2a1f18
}

.top_bar {
    background: linear-gradient(135deg, #CD7F64 0%, #c4714f 100%);
    padding: 8px 0
}

.top_bar_pod {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px
}

.top_contact_link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.35;
    transition: opacity .15s ease-out
}

.top_contact_link:hover {
    opacity: .8
}

.top_contact_link:focus {
    outline: 2px solid #fff;
    outline-offset: 3px;
    border-radius: 4px
}

.top_contact_icon {
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.top_contact_icon svg {
    width: 16px;
    height: 16px;
    fill: #fff
}

.brand_row {
    background-color: #fff;
    border-bottom: 1px solid #ECE8DF;
    padding: 16px 0
}

.brand_pod {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    gap: 24px
}

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

.logo_cell {
    width: 48px;
    height: 48px;
    border-radius: 0;
    background-color: #ECE8DF;
    border: 1px solid #DCC7A6;
    box-shadow: 1px 2px 5px 1px #cd7f6414 0 0 0 3px #dcc7a62e;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden
}

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

.brand_name_text {
    font-size: 23px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #2a1f18
}

.brand_name_text span {
    color: #CD7F64
}

.brand_tagline {
    font-size: 15px;
    line-height: 1.35;
    color: #7a6358;
    margin-left: auto;
    font-weight: 400
}

.nav_row {
    background: linear-gradient(180deg, #ECE8DF 0%, #f5f2ed 100%);
    border-bottom: 2px solid #DCC7A6
}

.nav_pod {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0
}

.nav_link {
    display: flex;
    align-items: center;
    padding: 16px 24px;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 400;
    color: #3d2b22;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: color .15s ease-out, border-color .18s ease-out, background-color .12s ease;
    white-space: nowrap;
    min-height: 44px;
    border-radius: 0
}

.nav_link:hover {
    color: #CD7F64;
    background-color: #cd7f6412;
    border-bottom-color: #CD7F64
}

.nav_link:focus {
    outline: 2px solid #CD7F64;
    outline-offset: -2px
}

.nav_link.active {
    color: #CD7F64;
    border-bottom-color: #CD7F64;
    font-weight: 700
}

.site_header {
    position: relative
}

.site_footer {
    background-color: #2a1f18;
    color: #ECE8DF
}

.footer_top_strip {
    background: linear-gradient(90deg, #CD7F64 0%, #c06b4e 50%, #b85f40 100%);
    padding: 8px 0
}

.footer_top_pod {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px
}

.footer_top_label {
    font-size: 15px;
    line-height: 1.35;
    color: #fff;
    font-weight: 700;
    letter-spacing: .02em
}

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

.footer_top_link {
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.35;
    transition: opacity .15s ease-out
}

.footer_top_link:hover {
    opacity: .75
}

.footer_top_link:focus {
    outline: 2px solid #fff;
    outline-offset: 3px;
    border-radius: 4px
}

.footer_body {
    padding: 40px 0 24px
}

.footer_body_pod {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px
}

.footer_cols_deck {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 40px
}

.footer_col_about {
    flex: 1 1 280px;
    min-width: 220px
}

.footer_col_links {
    flex: 0 0 200px
}

.footer_col_addr {
    flex: 0 0 220px
}

.footer_about_text {
    font-size: 15px;
    line-height: 1.55;
    color: #c4b5aa;
    margin-top: 16px
}

.footer_col_heading {
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    color: #DCC7A6;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #dcc7a633
}

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

.footer_link_list li a {
    color: #c4b5aa;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.55;
    transition: color .15s ease-out;
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.footer_link_list li a:hover {
    color: #DCC7A6
}

.footer_link_list li a:focus {
    outline: 2px solid #DCC7A6;
    outline-offset: 3px;
    border-radius: 4px
}

.footer_addr_line {
    font-size: 15px;
    line-height: 1.8;
    color: #c4b5aa;
    font-style: normal
}

.footer_addr_link {
    color: #c4b5aa;
    text-decoration: none;
    transition: color .15s ease-out
}

.footer_addr_link:hover {
    color: #DCC7A6
}

.footer_addr_link:focus {
    outline: 2px solid #DCC7A6;
    outline-offset: 3px;
    border-radius: 4px
}

.footer_divider {
    height: 1px;
    background: #dcc7a626;
    margin: 0 0 24px
}

.footer_bottom_strip {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 16px;
    padding-bottom: 24px
}

.footer_logo_cell {
    width: 48px;
    height: 48px;
    border-radius: 0;
    background-color: #ECE8DF;
    border: 1px solid #DCC7A6;
    box-shadow: 1px 2px 5px 1px #cd7f6414 0 0 0 3px #dcc7a61f;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden
}

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

.footer_copy {
    font-size: 15px;
    line-height: 1.35;
    color: #7a6358;
    text-align: center
}

@media (max-width: 1024px) {
    .brand_tagline {
        display: none
    }

    .footer_cols_deck {
        gap: 24px
    }

    .footer_col_links,
    .footer_col_addr {
        flex: 1 1 180px
    }
}

@media (max-width: 768px) {
    .top_bar_pod {
        justify-content: center;
        gap: 16px;
        flex-wrap: wrap
    }

    .brand_pod {
        justify-content: center
    }

    .nav_pod {
        justify-content: center
    }

    .nav_link {
        padding: 12px 16px
    }

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

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

    .footer_col_links,
    .footer_col_addr {
        flex: 1 1 auto
    }
}

@media (max-width: 360px) {
    .brand_pod {
        padding: 0 16px;
        flex-direction: column;
        align-items: flex-start
    }

    .nav_link {
        padding: 12px;
        font-size: 15px
    }

    .footer_body_pod {
        padding: 0 16px
    }

    .top_bar_pod {
        padding: 0 16px;
        flex-direction: column;
        gap: 8px
    }
}

.agreement-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 72px 40px;
    color: #2c2a27
}

.agreement-section h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.02em;
    margin-bottom: 40px;
    color: #1e1c19
}

.agreement-section h2 {
    font-size: 31px;
    line-height: 1.35;
    letter-spacing: -.01em;
    margin-top: 72px;
    margin-bottom: 24px;
    color: #1e1c19;
    padding-bottom: 8px;
    border-bottom: 2px solid #ECE8DF
}

.agreement-section h3 {
    font-size: 23px;
    line-height: 1.35;
    letter-spacing: -.005em;
    margin-top: 40px;
    margin-bottom: 16px;
    color: #2c2a27
}

.agreement-section h4 {
    font-size: 15px;
    line-height: 1.55;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-top: 40px;
    margin-bottom: 16px;
    color: #CD7F64
}

.agreement-section h5 {
    font-size: 15px;
    line-height: 1.55;
    margin-top: 24px;
    margin-bottom: 8px;
    color: #2c2a27
}

.agreement-section h6 {
    font-size: 15px;
    line-height: 1.55;
    margin-top: 16px;
    margin-bottom: 8px;
    color: #6a5e52
}

.agreement-section p {
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 16px;
    color: #2c2a27
}

.agreement-section em,
.agreement-section i {
    font-style: italic;
    color: #5a4e44
}

.agreement-section a {
    color: #CD7F64;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color .15s ease-out, text-decoration-color .15s ease-out
}

.agreement-section a:hover {
    color: #a85e45;
    text-decoration-color: #a85e45
}

.agreement-section a:visited {
    color: #b06b52
}

.agreement-section hr {
    border: none;
    border-top: 1px solid #DCC7A6;
    margin: 40px 0
}

.agreement-section table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 40px;
    box-shadow: 1px 2px 5px 1px #cd7f6414;
    border-radius: 6px;
    overflow: hidden
}

.agreement-section thead {
    background-color: #ECE8DF
}

.agreement-section thead th {
    padding: 16px;
    text-align: left;
    font-size: 15px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #2c2a27;
    border-bottom: 2px solid #DCC7A6
}

.agreement-section tbody tr {
    border-bottom: 1px solid #ECE8DF;
    transition: background-color .15s ease-out
}

.agreement-section tbody tr:last-child {
    border-bottom: none
}

.agreement-section tbody tr:hover {
    background-color: #f7f4f0
}

.agreement-section td {
    padding: 16px;
    color: #2c2a27;
    vertical-align: top
}

.agreement-section th {
    padding: 16px;
    color: #2c2a27;
    vertical-align: top
}

.agreement-section div {
    font-size: 15px;
    line-height: 1.8
}

@media (max-width: 1024px) {
    .agreement-section {
        padding: 72px 40px
    }

    .agreement-section h1 {
        font-size: 31px
    }

    .agreement-section h2 {
        font-size: 23px;
        margin-top: 40px
    }
}

@media (max-width: 768px) {
    .agreement-section {
        padding: 40px 24px
    }

    .agreement-section h1 {
        font-size: 31px;
        line-height: 1.35
    }

    .agreement-section h2 {
        font-size: 23px;
        margin-top: 40px
    }

    .agreement-section h3 {
        font-size: 15px;
        margin-top: 24px
    }

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

@media (max-width: 360px) {
    .agreement-section {
        padding: 24px 16px
    }

    .agreement-section h1 {
        font-size: 23px
    }

    .agreement-section h2 {
        font-size: 15px;
        margin-top: 24px
    }
}

.srv_det {
    background: #fff;
    color: #1e1a16;
    overflow-x: hidden
}

.srv_det .breadcrumb_bar {
    background: #ECE8DF;
    padding: 16px 0;
    border-bottom: 1px solid #DCC7A6
}

.srv_det .breadcrumb_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.srv_det .breadcrumb_inner a {
    font-size: 15px;
    line-height: 1.55;
    color: #CD7F64;
    text-decoration: none;
    transition: opacity .15s ease-out
}

.srv_det .breadcrumb_inner a:visited {
    opacity: .65
}

.srv_det .breadcrumb_inner a:hover {
    opacity: .75
}

.srv_det .bc_sep {
    display: inline-block;
    width: 5px;
    height: 5px;
    border-right: 1.5px solid #CD7F64;
    border-top: 1.5px solid #CD7F64;
    transform: rotate(45deg);
    flex-shrink: 0
}

.srv_det .bc_current {
    font-size: 15px;
    line-height: 1.55;
    color: #1e1a16;
    opacity: .6
}

.srv_det .title_blk {
    background: #1e1a16;
    padding: 72px 0 40px;
    position: relative
}

.srv_det .title_blk_bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none
}

.srv_det .title_blk_bg::before {
    content: '';
    position: absolute;
    top: -40px;
    right: -40px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: #cd7f6412
}

.srv_det .title_blk_bg::after {
    content: '';
    position: absolute;
    bottom: 24px;
    left: 10%;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: #dcc7a60d
}

.srv_det .title_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
    z-index: 1
}

.srv_det .title_meta_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap
}

.srv_det .tag_pill {
    background: #cd7f642e;
    border: 1px solid #cd7f6459;
    color: #DCC7A6;
    font-size: 15px;
    line-height: 1.35;
    padding: 8px 16px;
    border-radius: 4px;
    letter-spacing: .04em;
    text-transform: uppercase
}

.srv_det .meta_dur {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    color: #dcc7a6b3;
    font-size: 15px;
    line-height: 1.35
}

.srv_det .meta_dur svg {
    flex-shrink: 0
}

.srv_det .title_h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.03em;
    color: #fff;
    font-weight: 900;
    margin: 0 0 24px;
    max-width: 820px
}

.srv_det .title_sub {
    font-size: 23px;
    line-height: 1.55;
    color: #dcc7a6d9;
    max-width: 600px;
    margin: 0 0 40px
}

.srv_det .title_stats_row {
    display: flex;
    flex-direction: row;
    gap: 24px;
    flex-wrap: wrap
}

.srv_det .stat_badge {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    color: #ffffff8c;
    font-size: 15px;
    line-height: 1.35
}

.srv_det .stat_badge svg {
    flex-shrink: 0;
    opacity: .7
}

.srv_det .content_grid {
    max-width: 1200px;
    margin: 0 auto;
    padding: 72px 40px;
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 40px;
    align-items: start
}

.srv_det .img_frame {
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 40px;
    box-shadow: 1px 5px 28px 1px #cd7f6414
}

.srv_det .img_frame img {
    width: 100%;
    display: block;
    object-fit: cover;
    max-height: 420px;
    transition: filter .18s ease-out
}

.srv_det .img_frame img:hover {
    filter: saturate(0)
}

.srv_det .desc_body {
    font-size: 15px;
    line-height: 1.8;
    color: #2a2420
}

.srv_det .desc_body p {
    margin: 0 0 16px;
    padding: 0 72px
}

.srv_det .desc_body h2 {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #1e1a16;
    margin: 40px 0 16px;
    padding: 0 72px
}

.srv_det .desc_body h3 {
    font-size: 23px;
    line-height: 1.35;
    font-weight: 700;
    color: #1e1a16;
    margin: 24px 0 8px;
    padding: 0 72px
}

.srv_det .desc_body ul,
.srv_det .desc_body ol {
    padding: 0 72px 0 96px;
    margin: 0 0 16px
}

.srv_det .desc_body li {
    margin-bottom: 8px
}

.srv_det .desc_body em {
    font-style: italic;
    color: #CD7F64
}

.srv_det .desc_body cite {
    display: block;
    border-left: none;
    padding: 16px 72px;
    font-style: italic;
    color: #5a4a3a;
    font-size: 23px;
    line-height: 1.55
}

.srv_det .desc_body details {
    padding: 0 72px;
    margin-bottom: 16px
}

.srv_det .desc_body summary {
    cursor: pointer;
    font-weight: 700;
    color: #CD7F64;
    font-size: 15px;
    line-height: 1.55
}

.srv_det .desc_body dl {
    padding: 0 72px;
    margin: 0 0 16px
}

.srv_det .desc_body dt {
    font-weight: 700;
    color: #1e1a16;
    margin-top: 8px
}

.srv_det .desc_body dd {
    margin-left: 24px;
    color: #2a2420
}

.srv_det .desc_body figure {
    margin: 24px 72px
}

.srv_det .desc_body figcaption {
    font-size: 15px;
    color: #7a6a5a;
    margin-top: 8px;
    line-height: 1.55
}

.srv_det .sidebar_col {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 24px
}

.srv_det .price_card {
    background: #ECE8DF;
    border-radius: 6px;
    padding: 24px;
    box-shadow: 1px 5px 28px 1px #cd7f6414;
    inset: 0;
    box-shadow: inset 0 2px 8px #cd7f6412 1px 5px 28px 1px #cd7f6414
}

.srv_det .price_label {
    font-size: 15px;
    line-height: 1.35;
    color: #7a6a5a;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 8px
}

.srv_det .price_val {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    color: #1e1a16;
    letter-spacing: -.02em;
    margin-bottom: 8px
}

.srv_det .price_desc {
    font-size: 15px;
    line-height: 1.55;
    color: #5a4a3a;
    margin-bottom: 24px
}

.srv_det .dur_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.35;
    color: #5a4a3a;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #DCC7A6
}

.srv_det .btn_primary {
    display: block;
    width: 100%;
    background: #CD7F64;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 16px 24px;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    letter-spacing: .02em;
    box-shadow: 1px 2px 5px 1px #cd7f6414;
    transition: box-shadow .15s ease-out, background .12s ease-out
}

.srv_det .btn_primary:hover {
    background: #b86e54;
    box-shadow: 1px 10px 52px 1px #cd7f641f
}

.srv_det .btn_primary:focus {
    outline: 2px solid #CD7F64;
    outline-offset: 3px
}

.srv_det .btn_secondary_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #fff;
    border: 1px solid #DCC7A6;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: 1px 2px 5px 1px #cd7f6414;
    transition: box-shadow .15s ease-out;
    text-decoration: none;
    color: #CD7F64;
    flex-shrink: 0
}

.srv_det .btn_secondary_icon:hover {
    box-shadow: 1px 5px 28px 1px #cd7f6414
}

.srv_det .sidebar_actions {
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin-top: 8px
}

.srv_det .rating_card {
    background: #fff;
    border: 1px solid #ECE8DF;
    border-radius: 6px;
    padding: 24px;
    box-shadow: inset 0 2px 6px #dcc7a61f 1px 2px 5px 1px #cd7f6414
}

.srv_det .rating_num {
    font-size: 58px;
    line-height: 1.1;
    font-weight: 900;
    color: #CD7F64;
    letter-spacing: -.03em
}

.srv_det .rating_stars {
    display: flex;
    flex-direction: row;
    gap: 4px;
    margin: 8px 0
}

.srv_det .star_full {
    width: 16px;
    height: 16px
}

.srv_det .rating_count {
    font-size: 15px;
    line-height: 1.35;
    color: #7a6a5a
}

.srv_det .program_blk {
    background: linear-gradient(73deg, #ECE8DF 0%, #DCC7A6 55%, #fff 100%);
    padding: 72px 0 40px;
    border-top: 1px solid #DCC7A6;
    border-bottom: 1px solid #DCC7A6
}

.srv_det .program_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px
}

.srv_det .program_label {
    font-size: 15px;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #CD7F64;
    margin-bottom: 16px;
    font-weight: 700
}

.srv_det .program_h2 {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #1e1a16;
    margin: 0 0 40px;
    max-width: 600px
}

.srv_det .prog_body {
    font-size: 15px;
    line-height: 1.8;
    color: #2a2420
}

.srv_det .prog_body p {
    margin: 0 0 16px;
    max-width: 760px
}

.srv_det .prog_body h2 {
    font-size: 23px;
    line-height: 1.35;
    font-weight: 900;
    color: #1e1a16;
    margin: 24px 0 8px;
    letter-spacing: -.01em
}

.srv_det .prog_body h3 {
    font-size: 15px;
    line-height: 1.55;
    font-weight: 700;
    color: #CD7F64;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin: 16px 0 8px
}

.srv_det .prog_body ol {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 760px
}

.srv_det .prog_body ol li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    font-size: 15px;
    line-height: 1.55;
    color: #2a2420;
    counter-increment: prog-counter
}

.srv_det .prog_body ol {
    counter-reset: prog-counter
}

.srv_det .prog_body ol li::before {
    content: counter(prog-counter);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 50%;
    background: #CD7F64;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1
}

.srv_det .prog_body cite {
    display: block;
    font-style: italic;
    color: #5a4a3a;
    font-size: 23px;
    line-height: 1.55;
    max-width: 600px;
    margin: 24px 0
}

.srv_det .prog_body dl {
    max-width: 760px;
    margin: 0 0 16px
}

.srv_det .prog_body dt {
    font-weight: 700;
    color: #1e1a16;
    margin-top: 8px
}

.srv_det .prog_body dd {
    margin-left: 24px
}

.srv_det .prog_body figure {
    margin: 24px 0
}

.srv_det .prog_body figcaption {
    font-size: 15px;
    color: #7a6a5a;
    margin-top: 8px
}

.srv_det .cta_strip {
    background: #1e1a16;
    padding: 72px 0;
    position: relative
}

.srv_det .cta_strip_bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none
}

.srv_det .zigzag_layer {
    position: absolute;
    inset: 0;
    opacity: .04;
    background-image: repeating-linear-gradient(135deg, #CD7F64 0px, #CD7F64 2px, transparent 2px, transparent 14px), repeating-linear-gradient(45deg, #DCC7A6 0px, #DCC7A6 2px, transparent 2px, transparent 14px)
}

.srv_det .cta_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    position: relative;
    z-index: 1
}

.srv_det .cta_text_col {
    max-width: 600px
}

.srv_det .cta_h2 {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #fff;
    margin: 0 0 16px
}

.srv_det .cta_p {
    font-size: 15px;
    line-height: 1.8;
    color: #dcc7a6cc;
    margin: 0
}

.srv_det .cta_actions {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
    flex-shrink: 0
}

.srv_det .btn_cta_main {
    display: inline-block;
    background: #CD7F64;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 16px 40px;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    letter-spacing: .02em;
    box-shadow: 1px 2px 5px 1px #cd7f6414;
    transition: box-shadow .15s ease-out, background .12s ease-out;
    white-space: nowrap
}

.srv_det .btn_cta_main:hover {
    background: #b86e54;
    box-shadow: 1px 10px 52px 1px #cd7f641f
}

.srv_det .btn_cta_main:focus {
    outline: 2px solid #CD7F64;
    outline-offset: 3px
}

.srv_det .cta_link {
    font-size: 15px;
    line-height: 1.35;
    color: #DCC7A6;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity .12s ease-out
}

.srv_det .cta_link:hover {
    opacity: .7
}

.srv_det .cta_link:visited {
    opacity: .6
}

.srv_det .hexagon_stat {
    position: relative;
    flex-shrink: 0
}

.srv_det .hex_shape {
    width: 120px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: #cd7f641f;
    border: 2px solid #cd7f644d;
    border-radius: 10px;
    transform: rotate(15deg)
}

.srv_det .hex_inner {
    transform: rotate(-15deg);
    text-align: center
}

.srv_det .hex_num {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    color: #CD7F64;
    letter-spacing: -.02em
}

.srv_det .hex_lbl {
    font-size: 15px;
    line-height: 1.35;
    color: #dcc7a6b3
}

@media (max-width: 1024px) {
    .srv_det .content_grid {
        grid-template-columns: 1fr;
        padding: 40px 24px
    }

    .srv_det .sidebar_col {
        position: static
    }

    .srv_det .title_h1 {
        font-size: 31px
    }

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

    .srv_det .desc_body p,
    .srv_det .desc_body h2,
    .srv_det .desc_body h3,
    .srv_det .desc_body ul,
    .srv_det .desc_body ol,
    .srv_det .desc_body cite,
    .srv_det .desc_body details,
    .srv_det .desc_body dl,
    .srv_det .desc_body figure {
        padding-left: 0;
        padding-right: 0
    }

    .srv_det .desc_body ul,
    .srv_det .desc_body ol {
        padding-left: 24px
    }
}

@media (max-width: 768px) {
    .srv_det .title_inner {
        padding: 0 16px
    }

    .srv_det .title_blk {
        padding: 40px 0 24px
    }

    .srv_det .breadcrumb_inner {
        padding: 0 16px
    }

    .srv_det .program_inner {
        padding: 0 16px
    }

    .srv_det .cta_inner {
        padding: 0 16px
    }

    .srv_det .content_grid {
        padding: 40px 16px
    }

    .srv_det .program_blk {
        padding: 40px 0 24px
    }

    .srv_det .cta_strip {
        padding: 40px 0
    }

    .srv_det .title_sub {
        font-size: 15px
    }

    .srv_det .hexagon_stat {
        display: none
    }
}

@media (max-width: 360px) {
    .srv_det .title_h1 {
        font-size: 23px
    }

    .srv_det .price_val {
        font-size: 23px
    }
}

.srv_det .card_hover {
    transition: transform .18s ease-out, box-shadow .18s ease-out
}

.srv_det .card_hover:hover {
    transform: translateY(-4px);
    box-shadow: 1px 10px 52px 1px #cd7f641f !important
}

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

.stnb .geo_rotate {
    position: absolute;
    top: 120px;
    right: -60px;
    width: 220px;
    height: 220px;
    border: 1.5px solid #cd7f6421;
    transform: rotate(0deg);
    animation: geo_spin 28s linear infinite;
    pointer-events: none;
    z-index: 0;
    border-radius: 6px
}

.stnb .geo_rotate::before {
    content: '';
    position: absolute;
    inset: 22px;
    border: 1px solid #dcc7a62e;
    border-radius: 4px;
    transform: rotate(22deg)
}

@keyframes geo_spin {
    to {
        transform: rotate(360deg)
    }
}

.stnb .pg_reveal {
    clip-path: inset(0 100% 0 0);
    animation: reveal_clip .7s ease-out .1s forwards
}

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

.stnb .top_band {
    background: linear-gradient(73deg, #ECE8DF 0%, #DCC7A6 38%, #CD7F64 100%);
    padding: 40px 0 0;
    position: relative;
    border-bottom: 2px solid #cd7f6438
}

.stnb .top_band::after {
    content: '';
    display: block;
    height: 3px;
    background: linear-gradient(73deg, #CD7F64 0%, #DCC7A6 55%, #ECE8DF 100%);
    margin-top: 0
}

.stnb .band_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px 40px;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 40px
}

.stnb .band_text {
    flex: 1 1 0
}

.stnb .band_label {
    font-size: 15px;
    line-height: 1.35;
    letter-spacing: .08em;
    color: #3c23149e;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600
}

.stnb .band_h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.03em;
    color: #2b1a0f;
    font-weight: 900;
    margin: 0 0 24px
}

.stnb .band_h1 em {
    font-style: italic;
    font-weight: 400;
    color: #7a3e22
}

.stnb .band_desc {
    font-size: 15px;
    line-height: 1.55;
    color: #3d2414;
    max-width: 480px
}

.stnb .band_edge {
    width: 3px;
    align-self: stretch;
    background: linear-gradient(180deg, #CD7F64 0%, transparent 100%);
    border-radius: 0;
    flex-shrink: 0;
    margin-bottom: 8px
}

.stnb .mid_seg {
    background: #fff;
    padding: 72px 0;
    position: relative
}

.stnb .mid_seg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, #ece8df8c 0%, #cd7f640f 100%);
    pointer-events: none
}

.stnb .mid_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 180px 1fr 180px;
    gap: 40px;
    align-items: start;
    position: relative;
    z-index: 1
}

.stnb .mid_sidebar_l {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-top: 8px
}

.stnb .mid_sidebar_r {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-top: 8px
}

.stnb .stat_pill {
    background: #ECE8DF;
    border-radius: 6px;
    padding: 16px;
    box-shadow: 1px 2px 5px 1px #cd7f6414;
    transition: box-shadow .15s ease-out
}

.stnb .stat_pill:hover {
    box-shadow: 1px 5px 28px 1px #cd7f6414
}

.stnb .stat_num {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    color: #CD7F64;
    letter-spacing: -.02em;
    display: block
}

.stnb .stat_lbl {
    font-size: 15px;
    line-height: 1.35;
    color: #4a2e1a;
    margin-top: 8px;
    display: block
}

.stnb .mid_center {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.stnb .mid_h2 {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.025em;
    color: #2b1a0f;
    margin: 0 0 16px
}

.stnb .mid_para {
    font-size: 15px;
    line-height: 1.55;
    color: #3d2414;
    margin: 0 72px
}

.stnb .mid_para+.mid_para {
    margin-top: 16px
}

.stnb .num_list {
    list-style: none;
    padding: 0;
    margin: 0 72px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.stnb .num_list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.stnb .num_circle {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(73deg, #CD7F64 0%, #DCC7A6 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 900;
    color: #fff;
    box-shadow: 1px 2px 5px 1px #cd7f6414
}

.stnb .num_text {
    font-size: 15px;
    line-height: 1.55;
    color: #3d2414;
    padding-top: 8px
}

.stnb .img_card {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 1px 5px 28px 1px #cd7f6414;
    transition: box-shadow .18s ease-out;
    position: relative;
    cursor: default
}

.stnb .img_card:hover {
    box-shadow: 1px 10px 52px 1px #cd7f641f
}

.stnb .img_card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    filter: saturate(1);
    transition: filter .16s ease-out
}

.stnb .img_card:hover img {
    filter: saturate(0)
}

.stnb .img_card .fold_corner {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 32px 32px;
    border-color: transparent transparent #fff;
    transition: border-width .14s ease-out;
    pointer-events: none
}

.stnb .img_card:hover .fold_corner {
    border-width: 0 0 48px 48px
}

.stnb .low_seg {
    background: #ECE8DF;
    padding: 72px 0;
    position: relative
}

.stnb .low_seg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, #ffffffb3 0%, #cd7f6417 100%);
    pointer-events: none
}

.stnb .low_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
    z-index: 1
}

.stnb .low_top {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
    margin-bottom: 40px
}

.stnb .low_h2 {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.025em;
    color: #2b1a0f;
    margin: 0 0 16px;
    flex: 0 0 340px
}

.stnb .low_desc_col {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.stnb .low_para {
    font-size: 15px;
    line-height: 1.55;
    color: #3d2414;
    margin: 0
}

.stnb .low_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px
}

.stnb .practice_card {
    background: #fff;
    border-radius: 6px;
    padding: 24px;
    box-shadow: inset 1px 2px 5px 1px #cd7f6414 1px 2px 5px 1px #cd7f6414;
    transition: box-shadow .15s ease-out;
    position: relative;
    overflow: hidden
}

.stnb .practice_card:hover {
    box-shadow: inset 1px 2px 5px 1px #cd7f6414 1px 5px 28px 1px #cd7f6414
}

.stnb .practice_card .fold_corner {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 28px 28px;
    border-color: transparent transparent #ECE8DF;
    transition: border-width .14s ease-out;
    pointer-events: none
}

.stnb .practice_card:hover .fold_corner {
    border-width: 0 0 42px 42px
}

.stnb .pc_icon {
    width: 32px;
    height: 32px;
    margin-bottom: 16px;
    position: relative
}

.stnb .pc_icon svg {
    width: 32px;
    height: 32px
}

.stnb .pc_icon .outline_trace {
    stroke-dasharray: 120;
    stroke-dashoffset: 120;
    transition: stroke-dashoffset .8s ease-out
}

.stnb .practice_card:hover .outline_trace {
    stroke-dashoffset: 0
}

.stnb .pc_h4 {
    font-size: 15px;
    line-height: 1.35;
    font-weight: 900;
    color: #2b1a0f;
    margin: 0 0 8px;
    letter-spacing: -.01em
}

.stnb .pc_text {
    font-size: 15px;
    line-height: 1.55;
    color: #4a2e1a;
    margin: 0
}

.stnb .img_card_2 {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 1px 5px 28px 1px #cd7f6414;
    transition: box-shadow .18s ease-out;
    position: relative;
    cursor: default;
    grid-column: span 2;
    margin-top: 8px
}

.stnb .img_card_2:hover {
    box-shadow: 1px 10px 52px 1px #cd7f641f
}

.stnb .img_card_2 img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    filter: saturate(1);
    transition: filter .16s ease-out
}

.stnb .img_card_2:hover img {
    filter: saturate(0)
}

.stnb .img_card_2 .fold_corner {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 32px 32px;
    border-color: transparent transparent #ECE8DF;
    transition: border-width .14s ease-out;
    pointer-events: none
}

.stnb .img_card_2:hover .fold_corner {
    border-width: 0 0 48px 48px
}

@media (max-width: 1024px) {
    .stnb .mid_inner {
        grid-template-columns: 140px 1fr 140px;
        gap: 24px
    }

    .stnb .mid_para,
    .stnb .num_list {
        margin: 0 24px
    }

    .stnb .low_top {
        flex-direction: column
    }

    .stnb .low_h2 {
        flex: none
    }
}

@media (max-width: 768px) {
    .stnb .band_inner {
        flex-direction: column;
        padding: 0 24px 40px;
        gap: 16px
    }

    .stnb .band_h1 {
        font-size: 31px
    }

    .stnb .band_edge {
        display: none
    }

    .stnb .mid_inner {
        grid-template-columns: 1fr;
        padding: 0 24px
    }

    .stnb .mid_sidebar_l,
    .stnb .mid_sidebar_r {
        flex-direction: row;
        flex-wrap: wrap
    }

    .stnb .stat_pill {
        flex: 1 1 120px
    }

    .stnb .mid_para,
    .stnb .num_list {
        margin: 0
    }

    .stnb .low_inner {
        padding: 0 24px
    }

    .stnb .low_grid {
        grid-template-columns: 1fr
    }

    .stnb .img_card_2 {
        grid-column: span 1
    }

    .stnb .geo_rotate {
        display: none
    }
}

@media (max-width: 360px) {
    .stnb .band_h1 {
        font-size: 23px
    }

    .stnb .mid_seg,
    .stnb .low_seg {
        padding: 40px 0
    }

    .stnb .band_inner {
        padding: 0 16px 40px
    }

    .stnb .mid_inner,
    .stnb .low_inner {
        padding: 0 16px
    }
}

.ptl {
    background: #fff;
    color: #1e1a17;
    overflow-x: hidden
}

.ptl .grad_bg {
    background: linear-gradient(73deg, #CD7F64 0%, #DCC7A6 45%, #ECE8DF 100%);
    background-size: 300% 300%;
    animation: gradshift 8s ease infinite;
    padding: 72px 24px;
    position: relative
}

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

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

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

.ptl .grad_bg .inner_cap {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px
}

.ptl .grad_bg .cap_text {
    flex: 1 1 55%
}

.ptl .grad_bg .cap_img_wrap {
    flex: 0 0 38%;
    max-width: 38%
}

.ptl .grad_bg .cap_img_wrap img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    border-radius: 10px;
    clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
    transition: filter .18s ease-out
}

.ptl .grad_bg .cap_img_wrap img:hover {
    filter: saturate(0)
}

.ptl .word_reveal {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px
}

.ptl .word_reveal span {
    font-size: 58px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.03em;
    color: #1e1a17;
    opacity: 0;
    animation: wreveal .5s ease-out forwards
}

.ptl .word_reveal span:nth-child(1) {
    animation-delay: .1s
}

.ptl .word_reveal span:nth-child(2) {
    animation-delay: .25s
}

.ptl .word_reveal span:nth-child(3) {
    animation-delay: .4s
}

.ptl .word_reveal span:nth-child(4) {
    animation-delay: .55s
}

.ptl .word_reveal span:nth-child(5) {
    animation-delay: .7s
}

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

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

.ptl .cap_sub {
    font-size: 23px;
    line-height: 1.55;
    color: #2a2420;
    max-width: 520px;
    margin-bottom: 24px
}

.ptl .cap_sub em {
    font-style: italic
}

.ptl .cap_link {
    display: inline-block;
    background: #1e1a17;
    color: #ECE8DF;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    padding: 16px 40px;
    border-radius: 6px;
    text-decoration: none;
    box-shadow: 1px 2px 5px 1px #cd7f6414;
    transition: box-shadow .15s ease-out, background .15s ease-out
}

.ptl .cap_link:hover {
    background: #CD7F64;
    box-shadow: 1px 10px 52px 1px #cd7f641f
}

.ptl .wave_div {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    margin-top: -1px
}

.ptl .wave_div svg {
    display: block;
    width: 100%;
    height: 56px
}

.ptl .sit_band {
    background: #ECE8DF;
    padding: 72px 24px
}

.ptl .sit_band .sit_cap_row {
    max-width: 1200px;
    margin: 0 auto 40px
}

.ptl .sit_band h2 {
    font-size: 31px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #1e1a17;
    margin-bottom: 16px
}

.ptl .sit_band .sit_lead {
    font-size: 15px;
    line-height: 1.55;
    color: #2a2420;
    max-width: 560px;
    margin: 0 auto 0 0
}

.ptl .sit_grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.ptl .sit_card {
    background: #fff;
    border-radius: 10px;
    padding: 24px;
    box-shadow: inset 1px 2px 5px 1px #cd7f6414;
    border: 1.5px dashed #DCC7A6;
    position: relative;
    overflow: hidden;
    transition: box-shadow .18s ease-out
}

.ptl .sit_card:hover {
    box-shadow: inset 1px 2px 5px 1px #cd7f6414 1px 5px 28px 1px #cd7f6414
}

.ptl .sit_card .fold_corner {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 32px 32px 0;
    border-color: transparent #ECE8DF transparent transparent;
    transition: border-width .15s ease-out
}

.ptl .sit_card:hover .fold_corner {
    border-width: 0 48px 48px 0
}

.ptl .sit_card .sit_num {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: transparent;
    border: 2px solid #CD7F64;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 900;
    color: #CD7F64;
    margin-bottom: 16px;
    flex-shrink: 0
}

.ptl .sit_card h4 {
    font-size: 15px;
    font-weight: 900;
    line-height: 1.35;
    letter-spacing: -.01em;
    color: #1e1a17;
    margin-bottom: 8px
}

.ptl .sit_card p {
    font-size: 15px;
    line-height: 1.55;
    color: #3a3330;
    margin: 0
}

.ptl .obj_band {
    background: #fff;
    padding: 72px 24px
}

.ptl .obj_inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start
}

.ptl .obj_left {
    flex: 0 0 44%;
    max-width: 44%
}

.ptl .obj_left img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 10px;
    clip-path: ellipse(90% 100% at 50% 50%);
    transition: filter .2s ease-out
}

.ptl .obj_left img:hover {
    filter: saturate(0)
}

.ptl .obj_right {
    flex: 1 1 auto
}

.ptl .obj_right h2 {
    font-size: 31px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #1e1a17;
    margin-bottom: 24px
}

.ptl .obj_right p {
    font-size: 15px;
    line-height: 1.8;
    color: #2a2420;
    margin: 0 20% 16px 0
}

.ptl .stat_box {
    display: flex;
    flex-direction: row;
    gap: 24px;
    margin-top: 24px;
    flex-wrap: wrap
}

.ptl .stat_shape {
    width: 96px;
    height: 96px;
    border: 3px solid #CD7F64;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.ptl .stat_shape .stat_num {
    font-size: 23px;
    font-weight: 900;
    line-height: 1.1;
    color: #CD7F64
}

.ptl .stat_shape .stat_lbl {
    font-size: 15px;
    line-height: 1.35;
    color: #3a3330;
    text-align: center;
    padding: 0 8px
}

.ptl .diff_band {
    background: linear-gradient(73deg, #ECE8DF 0%, #DCC7A6 60%, #ECE8DF 100%);
    padding: 72px 24px
}

.ptl .diff_inner {
    max-width: 1200px;
    margin: 0 auto
}

.ptl .diff_inner h2 {
    font-size: 31px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #1e1a17;
    margin-bottom: 40px;
    max-width: 640px
}

.ptl .diff_tl {
    position: relative;
    padding-left: 40px
}

.ptl .diff_tl::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: #CD7F64
}

.ptl .tl_item {
    position: relative;
    margin-bottom: 40px;
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start
}

.ptl .tl_item:last-child {
    margin-bottom: 0
}

.ptl .tl_dot {
    position: absolute;
    left: -34px;
    top: 4px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #CD7F64;
    border: 3px solid #fff;
    box-shadow: 1px 2px 5px 1px #cd7f6414;
    flex-shrink: 0
}

.ptl .tl_item.right_side {
    flex-direction: row-reverse;
    text-align: right
}

.ptl .tl_body {
    flex: 1 1 auto;
    background: #fff;
    border-radius: 6px;
    padding: 24px;
    box-shadow: 1px 2px 5px 1px #cd7f6414
}

.ptl .tl_body h4 {
    font-size: 15px;
    font-weight: 900;
    line-height: 1.35;
    letter-spacing: -.01em;
    color: #1e1a17;
    margin-bottom: 8px
}

.ptl .tl_body p {
    font-size: 15px;
    line-height: 1.55;
    color: #3a3330;
    margin: 0
}

.ptl .rel_band {
    background: #1e1a17;
    padding: 72px 24px
}

.ptl .rel_inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start
}

.ptl .rel_text h2 {
    font-size: 31px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #ECE8DF;
    margin-bottom: 24px
}

.ptl .rel_text p {
    font-size: 15px;
    line-height: 1.8;
    color: #b8b0a8;
    margin: 0 0 16px
}

.ptl .rel_text p:last-of-type {
    margin-bottom: 0
}

.ptl .rel_img_col {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.ptl .rel_img_wrap {
    position: relative;
    overflow: hidden;
    border-radius: 10px
}

.ptl .rel_img_wrap img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    clip-path: polygon(0% 0%, 94% 0%, 100% 8%, 100% 100%, 6% 100%, 0% 92%);
    transition: filter .2s ease-out
}

.ptl .rel_img_wrap img:hover {
    filter: saturate(0)
}

.ptl .rel_steps {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 8px
}

.ptl .rel_step {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.ptl .rel_step .step_num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #CD7F64;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 900;
    color: #fff;
    flex-shrink: 0
}

.ptl .rel_step .step_txt {
    font-size: 15px;
    line-height: 1.55;
    color: #b8b0a8;
    padding-top: 6px
}

@media (max-width: 1024px) {
    .ptl .grad_bg .inner_cap {
        flex-direction: column
    }

    .ptl .grad_bg .cap_img_wrap {
        flex: 0 0 100%;
        max-width: 100%
    }

    .ptl .sit_grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .ptl .obj_inner {
        flex-direction: column
    }

    .ptl .obj_left {
        flex: 0 0 100%;
        max-width: 100%
    }

    .ptl .obj_right p {
        margin-right: 0
    }

    .ptl .rel_inner {
        grid-template-columns: 1fr
    }
}

@media (max-width: 768px) {
    .ptl .word_reveal span {
        font-size: 31px
    }

    .ptl .sit_grid {
        grid-template-columns: 1fr
    }

    .ptl .stat_box {
        flex-direction: column
    }

    .ptl .diff_tl {
        padding-left: 24px
    }

    .ptl .diff_tl::before {
        left: 8px
    }

    .ptl .tl_dot {
        left: -20px
    }

    .ptl .tl_item.right_side {
        flex-direction: row;
        text-align: left
    }
}

@media (max-width: 360px) {
    .ptl .word_reveal span {
        font-size: 23px
    }

    .ptl .cap_sub {
        font-size: 15px
    }
}

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

.abt .grid_bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.abt .grid_bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(#cd7f6412 1px, transparent 1px), linear-gradient(90deg, #cd7f6412 1px, transparent 1px);
    background-size: 48px 48px;
    animation: grid_pulse 6s ease-in-out infinite
}

@keyframes grid_pulse {

    0%,
    100% {
        opacity: .5
    }

    50% {
        opacity: 1
    }
}

.abt .top_wrap {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    padding: 72px 40px
}

.abt .top_row {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start
}

.abt .top_img_col {
    flex: 0 0 320px;
    position: relative
}

.abt .top_img_frame {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 1px 5px 28px 1px #cd7f6414
}

.abt .top_img_frame::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 0% 0%, #1e140a73 0%, transparent 55%), radial-gradient(ellipse at 100% 100%, #1e140a73 0%, transparent 55%);
    z-index: 1;
    pointer-events: none
}

.abt .top_img_frame img {
    display: block;
    width: 100%;
    height: 400px;
    object-fit: cover;
    transition: filter .18s ease-out
}

.abt .top_img_frame:hover img {
    filter: saturate(0)
}

.abt .outer_border {
    position: absolute;
    top: -8px;
    left: -8px;
    right: 8px;
    bottom: 8px;
    border: 1px solid #cd7f6440;
    border-radius: 6px;
    pointer-events: none
}

.abt .inner_border {
    position: absolute;
    top: -4px;
    left: -4px;
    right: 4px;
    bottom: 4px;
    border: 1px solid #cd7f641f;
    border-radius: 6px;
    pointer-events: none
}

.abt .top_text_col {
    flex: 1;
    position: relative;
    padding-left: 24px
}

.abt .quote_mark {
    position: absolute;
    top: -16px;
    left: 16px;
    font-size: 160px;
    line-height: 1.1;
    color: #dcc7a62e;
    font-style: normal;
    pointer-events: none;
    user-select: none;
    z-index: 0
}

.abt .top_label {
    font-size: 15px;
    line-height: 1.55;
    letter-spacing: .08em;
    color: #CD7F64;
    text-transform: uppercase;
    margin-bottom: 16px;
    position: relative;
    z-index: 1
}

.abt .top_h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.03em;
    font-weight: 900;
    color: #1b1410;
    margin: 0 0 24px;
    position: relative;
    z-index: 1
}

.abt .top_h1 em {
    font-style: italic;
    font-weight: 400;
    color: #CD7F64
}

.abt .top_desc {
    font-size: 15px;
    line-height: 1.8;
    color: #3a2e26;
    max-width: 520px;
    margin: 0 0 24px;
    position: relative;
    z-index: 1
}

.abt .top_meta_row {
    display: flex;
    flex-direction: row;
    gap: 40px;
    margin-top: 40px;
    position: relative;
    z-index: 1
}

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

.abt .meta_num {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    color: #CD7F64;
    letter-spacing: -.02em
}

.abt .meta_lbl {
    font-size: 15px;
    line-height: 1.55;
    color: #6b5b4e
}

.abt .top_divider {
    height: 1px;
    background: linear-gradient(73deg, #CD7F64 0%, #DCC7A6 55%, transparent 100%);
    max-width: 1200px;
    margin: 0 auto
}

.abt .detail_section {
    position: relative;
    background: linear-gradient(73deg, #CD7F64 0% 18%, #DCC7A6 52%, #ECE8DF 100%);
    padding: 72px 0
}

.abt .detail_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start
}

.abt .detail_main {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 40px
}

.abt .detail_h2 {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.025em;
    color: #fff;
    margin: 0 0 16px
}

.abt .detail_card {
    background: #ffffffe0;
    border-radius: 6px;
    padding: 24px;
    box-shadow: inset 1px 2px 5px 1px #cd7f6414;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abt .detail_card_h {
    font-size: 23px;
    line-height: 1.35;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #1b1410;
    margin: 0
}

.abt .detail_card_p {
    font-size: 15px;
    line-height: 1.8;
    color: #3a2e26;
    margin: 0;
    max-width: 560px
}

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

.abt .num_list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.abt .num_circle {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #CD7F64;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 32px;
    text-align: center
}

.abt .num_text {
    font-size: 15px;
    line-height: 1.8;
    color: #3a2e26;
    padding-top: 4px
}

.abt .detail_sidebar {
    flex: 0 0 280px;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt .sidebar_img_wrap {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 1px 10px 52px 1px #cd7f641f
}

.abt .sidebar_img_wrap img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: filter .15s ease-out
}

.abt .sidebar_img_wrap:hover img {
    filter: saturate(0)
}

.abt .sidebar_img_overlay {
    position: absolute;
    inset: 0;
    background: #1b141000;
    transition: background .18s ease-out;
    display: flex;
    align-items: center;
    justify-content: center
}

.abt .sidebar_img_wrap:hover .sidebar_img_overlay {
    background: #1b14109e
}

.abt .overlay_txt {
    font-size: 15px;
    line-height: 1.55;
    color: #fff;
    text-align: center;
    padding: 16px;
    opacity: 0;
    transition: opacity .15s ease-out
}

.abt .sidebar_img_wrap:hover .overlay_txt {
    opacity: 1
}

.abt .sidebar_card {
    background: #ffffffe6;
    border-radius: 6px;
    padding: 24px;
    box-shadow: inset 1px 2px 5px 1px #cd7f6414;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abt .sidebar_card_h {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #CD7F64;
    margin: 0
}

.abt .sidebar_card_p {
    font-size: 15px;
    line-height: 1.8;
    color: #3a2e26;
    margin: 0
}

.abt .sidebar_link {
    font-size: 15px;
    line-height: 1.55;
    color: #CD7F64;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity .12s ease-out
}

.abt .sidebar_link:visited {
    opacity: .6
}

.abt .sidebar_link:hover {
    opacity: .75
}

.abt .person_card {
    background: #ffffffe6;
    border-radius: 6px;
    padding: 24px;
    box-shadow: inset 1px 2px 5px 1px #cd7f6414;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abt .person_img_wrap {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    width: 100%
}

.abt .person_img_wrap img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
    transition: filter .18s ease-out
}

.abt .person_img_wrap:hover img {
    filter: saturate(0)
}

.abt .person_name {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    color: #1b1410;
    margin: 0
}

.abt .person_role {
    font-size: 15px;
    line-height: 1.55;
    color: #6b5b4e;
    margin: 0
}

.abt .person_bio {
    font-size: 15px;
    line-height: 1.8;
    color: #3a2e26;
    margin: 0
}

@media (max-width: 1024px) {
    .abt .top_row {
        flex-direction: column
    }

    .abt .top_img_col {
        flex: 0 0 auto;
        width: 100%;
        max-width: 400px
    }

    .abt .detail_inner {
        flex-direction: column
    }

    .abt .detail_sidebar {
        flex: 0 0 auto;
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap
    }

    .abt .sidebar_img_wrap {
        flex: 1 1 240px
    }

    .abt .sidebar_card,
    .abt .person_card {
        flex: 1 1 240px
    }
}

@media (max-width: 768px) {
    .abt .top_wrap {
        padding: 40px 16px
    }

    .abt .top_h1 {
        font-size: 31px
    }

    .abt .top_meta_row {
        flex-wrap: wrap;
        gap: 24px
    }

    .abt .detail_inner {
        padding: 0 16px
    }

    .abt .detail_section {
        padding: 40px 0
    }

    .abt .detail_sidebar {
        flex-direction: column
    }

    .abt .quote_mark {
        font-size: 100px
    }
}

@media (max-width: 360px) {
    .abt .top_h1 {
        font-size: 23px
    }

    .abt .top_wrap {
        padding: 24px 8px
    }

    .abt .detail_inner {
        padding: 0 8px
    }
}

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

.cnt_us .pg_top {
    padding: 72px 40px;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 40px
}

.cnt_us .pg_top_left {
    flex: 1 1 0;
    min-width: 0
}

.cnt_us .pg_top_label {
    font-size: 15px;
    line-height: 1.55;
    letter-spacing: .08em;
    color: #CD7F64;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600
}

.cnt_us .pg_top_h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.03em;
    font-weight: 900;
    color: #1e1a17;
    margin: 0 0 24px
}

.cnt_us .pg_top_h1 em {
    font-style: italic;
    color: #CD7F64
}

.cnt_us .pg_top_desc {
    font-size: 15px;
    line-height: 1.8;
    color: #3a322b;
    max-width: 480px;
    margin: 0
}

.cnt_us .pg_top_right {
    flex: 0 0 320px;
    position: relative
}

.cnt_us .pg_top_img_wrap {
    overflow: hidden;
    border-radius: 6px;
    box-shadow: 1px 10px 52px 1px #cd7f641f
}

.cnt_us .pg_top_img_wrap img {
    width: 320px;
    height: 400px;
    object-fit: cover;
    display: block;
    filter: saturate(0.6) brightness(0.92);
    transition: filter .18s ease-out
}

.cnt_us .pg_top_img_wrap img:hover {
    filter: saturate(1) brightness(1)
}

.cnt_us .pg_top_shape_a {
    width: 120px;
    height: 120px;
    border-radius: 10px;
    background: #cd7f641a;
    position: absolute;
    top: -24px;
    left: -24px;
    z-index: 0;
    pointer-events: none
}

.cnt_us .pg_top_shape_b {
    width: 60px;
    height: 60px;
    border-radius: 4px;
    background: #dcc7a62e;
    position: absolute;
    bottom: -16px;
    right: -16px;
    z-index: 0;
    pointer-events: none
}

.cnt_us .pg_top_img_wrap {
    position: relative;
    z-index: 1
}

.cnt_us .divider_chevron {
    width: 100%;
    line-height: 0;
    overflow: hidden
}

.cnt_us .divider_chevron svg {
    display: block;
    width: 100%
}

.cnt_us .contact_data_strip {
    background: #2a1e17;
    animation: bg_pulse 6s ease-in-out infinite;
    padding: 72px 40px
}

@keyframes bg_pulse {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .88
    }
}

.cnt_us .contact_data_inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start
}

.cnt_us .contact_data_col {
    flex: 1 1 0;
    min-width: 0
}

.cnt_us .contact_data_heading {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #ECE8DF;
    margin: 0 0 24px
}

.cnt_us .contact_data_heading em {
    font-style: italic;
    color: #DCC7A6
}

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

.cnt_us .contact_info_list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.cnt_us .ci_num {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #CD7F64;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    margin-top: 2px
}

.cnt_us .ci_body {
    flex: 1 1 0;
    min-width: 0
}

.cnt_us .ci_label {
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    color: #DCC7A6;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 8px
}

.cnt_us .ci_val {
    font-size: 15px;
    line-height: 1.55;
    color: #ECE8DF;
    margin: 0
}

.cnt_us .ci_val a {
    color: #CD7F64;
    text-decoration: none;
    transition: color .15s ease-out
}

.cnt_us .ci_val a:visited {
    opacity: .72
}

.cnt_us .ci_val a:hover {
    color: #DCC7A6
}

.cnt_us .contact_data_img_col {
    flex: 0 0 340px
}

.cnt_us .contact_data_img_wrap {
    overflow: hidden;
    border-radius: 6px;
    box-shadow: 1px 5px 28px 1px #cd7f6414
}

.cnt_us .contact_data_img_wrap img {
    width: 340px;
    height: 360px;
    object-fit: cover;
    display: block;
    filter: saturate(0.5) brightness(0.8);
    transition: filter .2s ease
}

.cnt_us .contact_data_img_wrap img:hover {
    filter: saturate(0.9) brightness(0.95)
}

.cnt_us .divider_chevron_light svg {
    display: block;
    width: 100%
}

.cnt_us .divider_chevron_light {
    width: 100%;
    line-height: 0;
    overflow: hidden
}

.cnt_us .form_strip {
    background: #ECE8DF;
    padding: 72px 40px
}

.cnt_us .form_inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start
}

.cnt_us .form_text_col {
    flex: 0 0 340px;
    padding-right: 16px
}

.cnt_us .form_heading {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #1e1a17;
    margin: 0 0 16px
}

.cnt_us .form_sub {
    font-size: 15px;
    line-height: 1.8;
    color: #3a322b;
    margin: 0 0 24px
}

.cnt_us .form_metric {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    background: #fff;
    border-radius: 6px;
    box-shadow: inset 1px 2px 5px 1px #cd7f6414
}

.cnt_us .form_metric_num {
    font-size: 58px;
    line-height: 1.1;
    font-weight: 900;
    color: #CD7F64;
    letter-spacing: -.03em
}

.cnt_us .form_metric_num sup {
    font-size: 23px;
    color: #DCC7A6;
    vertical-align: super
}

.cnt_us .form_metric_desc {
    font-size: 15px;
    line-height: 1.55;
    color: #3a322b;
    margin: 0
}

.cnt_us .form_col {
    flex: 1 1 0;
    min-width: 0
}

.cnt_us .contact_form {
    background: #fff;
    border-radius: 10px;
    padding: 40px;
    box-shadow: 1px 5px 28px 1px #cd7f6414
}

.cnt_us .form_row {
    margin-bottom: 16px
}

.cnt_us .form_row label {
    display: block;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    color: #2a1e17;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .05em
}

.cnt_us .form_row input[type="text"],
.cnt_us .form_row input[type="email"],
.cnt_us .form_row input[type="tel"],
.cnt_us .form_row input[type="number"],
.cnt_us .form_row textarea,
.cnt_us .form_row select {
    width: 100%;
    padding: 16px;
    font-size: 15px;
    line-height: 1.55;
    color: #1e1a17;
    background: #ECE8DF;
    border: 1.5px solid #DCC7A6;
    border-radius: 4px;
    outline: none;
    box-sizing: border-box;
    transition: border-color .15s ease-out, box-shadow .15s ease-out;
    appearance: none;
    -webkit-appearance: none
}

.cnt_us .form_row input::placeholder,
.cnt_us .form_row textarea::placeholder {
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: 15px;
    color: #9a8070
}

.cnt_us .form_row input:focus,
.cnt_us .form_row textarea:focus,
.cnt_us .form_row select:focus {
    border-color: #CD7F64;
    box-shadow: 1px 2px 5px 1px #cd7f6414
}

.cnt_us .form_row textarea {
    min-height: 120px;
    resize: vertical
}

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

.cnt_us .form_topic_wrap select {
    width: 100%
}

.cnt_us .cond_field {
    display: none
}

.cnt_us .topic_select:focus+.cond_hint,
.cnt_us .topic_select:not([value=""])~.cond_hint {
    display: block
}

.cnt_us .form_checkbox_row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
    padding: 16px;
    background: #ECE8DF;
    border-radius: 4px
}

.cnt_us .form_checkbox_row input[type="checkbox"] {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    accent-color: #CD7F64;
    margin-top: 2px;
    cursor: pointer
}

.cnt_us .form_checkbox_row .privacy_text {
    font-size: 15px;
    line-height: 1.55;
    color: #3a322b;
    margin: 0
}

.cnt_us .form_checkbox_row .privacy_text a {
    color: #CD7F64;
    text-decoration: underline;
    transition: color .15s ease-out
}

.cnt_us .form_checkbox_row .privacy_text a:visited {
    opacity: .72
}

.cnt_us .form_checkbox_row .privacy_text a:hover {
    color: #2a1e17
}

.cnt_us .btn_submit {
    display: inline-block;
    padding: 16px 40px;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #fff;
    background: #CD7F64;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background .15s ease-out, box-shadow .18s ease-out;
    box-shadow: 1px 2px 5px 1px #cd7f6414
}

.cnt_us .btn_submit:hover {
    background: #b86a50;
    box-shadow: 1px 10px 52px 1px #cd7f641f
}

.cnt_us .btn_submit:focus {
    outline: 2px solid #CD7F64;
    outline-offset: 3px
}

.cnt_us .btn_submit:active {
    background: #a05840
}

.cnt_us .form_two_col {
    display: flex;
    flex-direction: row;
    gap: 16px
}

.cnt_us .form_two_col .form_row {
    flex: 1 1 0;
    min-width: 0
}

.cnt_us .topic_option_fields {
    padding: 16px;
    background: #ECE8DF;
    border-radius: 4px;
    margin-top: 8px;
    border: 1.5px solid #DCC7A6
}

.cnt_us .topic_option_fields p {
    font-size: 15px;
    line-height: 1.55;
    color: #3a322b;
    margin: 0 0 8px
}

.cnt_us .topic_option_fields input {
    width: 100%;
    padding: 16px;
    font-size: 15px;
    color: #1e1a17;
    background: #fff;
    border: 1.5px solid #DCC7A6;
    border-radius: 4px;
    box-sizing: border-box;
    outline: none;
    transition: border-color .15s ease-out
}

.cnt_us .topic_option_fields input::placeholder {
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #9a8070
}

.cnt_us .topic_option_fields input:focus {
    border-color: #CD7F64
}

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

.cnt_us .topic_radio_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #ECE8DF;
    border-radius: 4px;
    cursor: pointer;
    border: 1.5px solid transparent;
    transition: border-color .15s ease-out
}

.cnt_us .topic_radio_item:hover {
    border-color: #DCC7A6
}

.cnt_us .topic_radio_item input[type="radio"] {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    accent-color: #CD7F64;
    cursor: pointer
}

.cnt_us .topic_radio_item span {
    font-size: 15px;
    line-height: 1.35;
    color: #2a1e17
}

.cnt_us .cond_website_field {
    display: none
}

.cnt_us .cond_seo_field {
    display: none
}

.cnt_us .cond_other_field {
    display: none
}

.cnt_us #radio_website:checked~.cond_website_field {
    display: block
}

.cnt_us #radio_seo:checked~.cond_seo_field {
    display: block
}

.cnt_us #radio_other:checked~.cond_other_field {
    display: block
}

@media (max-width: 1024px) {
    .cnt_us .pg_top {
        flex-direction: column;
        padding: 40px 24px
    }

    .cnt_us .pg_top_right {
        flex: 0 0 auto;
        width: 100%
    }

    .cnt_us .pg_top_img_wrap img {
        width: 100%;
        height: 280px
    }

    .cnt_us .contact_data_inner {
        flex-direction: column-reverse;
        padding: 0
    }

    .cnt_us .contact_data_img_col {
        flex: 0 0 auto;
        width: 100%
    }

    .cnt_us .contact_data_img_wrap img {
        width: 100%;
        height: 240px
    }

    .cnt_us .form_inner {
        flex-direction: column
    }

    .cnt_us .form_text_col {
        flex: 0 0 auto;
        width: 100%;
        padding-right: 0
    }

    .cnt_us .contact_data_strip {
        padding: 40px 24px
    }

    .cnt_us .form_strip {
        padding: 40px 24px
    }
}

@media (max-width: 768px) {
    .cnt_us .pg_top_h1 {
        font-size: 31px
    }

    .cnt_us .form_two_col {
        flex-direction: column;
        gap: 0
    }

    .cnt_us .contact_form {
        padding: 24px 16px
    }

    .cnt_us .form_metric_num {
        font-size: 31px
    }

    .cnt_us .contact_data_heading {
        font-size: 23px
    }
}

@media (max-width: 360px) {
    .cnt_us .pg_top {
        padding: 24px 16px
    }

    .cnt_us .contact_data_strip {
        padding: 24px 16px
    }

    .cnt_us .form_strip {
        padding: 24px 16px
    }

    .cnt_us .pg_top_h1 {
        font-size: 23px
    }
}

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

.srv .pg_top {
    padding: 72px 24px 40px;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 40px;
    position: relative
}

.srv .pg_top_txt {
    flex: 1 1 0;
    min-width: 0
}

.srv .pg_top_label {
    font-size: 15px;
    line-height: 1.35;
    letter-spacing: .08em;
    color: #CD7F64;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600
}

.srv .pg_top_h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: -.03em;
    font-weight: 900;
    color: #1b1710;
    margin: 0 0 24px
}

.srv .pg_top_h1 em {
    font-style: normal;
    color: #CD7F64
}

.srv .pg_top_desc {
    font-size: 15px;
    line-height: 1.55;
    color: #3a3530;
    max-width: 520px;
    margin: 0
}

.srv .pg_top_img_wrap {
    flex: 0 0 260px;
    width: 260px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 1px 5px 28px 1px #cd7f6414;
    position: relative
}

.srv .pg_top_img_wrap img {
    width: 260px;
    height: 200px;
    object-fit: cover;
    display: block;
    filter: grayscale(100%) contrast(1.1);
    transition: filter .18s ease-out
}

.srv .pg_top_img_wrap:hover img {
    filter: grayscale(0%) contrast(1)
}

.srv .top_circ {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0
}

.srv .top_circ_a {
    width: 180px;
    height: 180px;
    background: #dcc7a621;
    top: -40px;
    right: 320px
}

.srv .top_circ_b {
    width: 80px;
    height: 80px;
    background: #cd7f6414;
    bottom: 0;
    left: 40px
}

.srv .pg_top_txt,
.srv .pg_top_img_wrap {
    position: relative;
    z-index: 1
}

.srv .tri_tl {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 48px 48px 0 0;
    border-color: #ECE8DF transparent transparent;
    pointer-events: none
}

.srv .tri_tr {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 48px 48px 0;
    border-color: transparent #ECE8DF transparent transparent;
    pointer-events: none
}

.srv .curve_div {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0
}

.srv .curve_div svg {
    display: block;
    width: 100%
}

.srv .cards_belt {
    background: #ECE8DF;
    padding: 40px 0 72px
}

.srv .cards_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px
}

.srv .cards_head {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 24px;
    margin-bottom: 40px
}

.srv .cards_h2 {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #1b1710;
    margin: 0
}

.srv .cards_h2 em {
    font-style: normal;
    color: #CD7F64
}

.srv .cards_count {
    font-size: 15px;
    line-height: 1.35;
    color: #8a7b6e;
    white-space: nowrap
}

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

.srv .svc_card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 1px 2px 5px 1px #cd7f6414;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow .15s ease-out;
    animation: card_up .2s ease-out both
}

.srv .svc_card:nth-child(1) {
    animation-delay: .05s
}

.srv .svc_card:nth-child(2) {
    animation-delay: .1s
}

.srv .svc_card:nth-child(3) {
    animation-delay: .15s
}

.srv .svc_card:nth-child(4) {
    animation-delay: .2s
}

.srv .svc_card:nth-child(5) {
    animation-delay: .25s
}

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

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

.srv .svc_card:hover {
    box-shadow: 1px 10px 52px 1px #cd7f641f
}

.srv .card_img_wrap {
    width: 100%;
    height: 160px;
    overflow: hidden;
    flex-shrink: 0
}

.srv .card_img_wrap img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
    filter: grayscale(20%);
    transition: filter .18s ease-out, transform .18s ease-out
}

.srv .svc_card:hover .card_img_wrap img {
    filter: grayscale(0%);
    transform: scale(1.03)
}

.srv .card_body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 8px;
    box-shadow: inset 0 2px 8px 0 #dcc7a62e
}

.srv .card_dur {
    font-size: 15px;
    line-height: 1.35;
    color: #8a7b6e;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-weight: 600
}

.srv .card_h3 {
    font-size: 23px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #1b1710;
    margin: 0
}

.srv .card_desc {
    font-size: 15px;
    line-height: 1.55;
    color: #3a3530;
    margin: 0;
    flex: 1 1 auto
}

.srv .card_price_row {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
    margin-top: 8px
}

.srv .card_price {
    font-size: 23px;
    line-height: 1.1;
    font-weight: 900;
    color: #CD7F64;
    letter-spacing: -.01em
}

.srv .card_price_terms {
    font-size: 15px;
    line-height: 1.35;
    color: #8a7b6e
}

.srv .card_link {
    display: inline-block;
    margin-top: 8px;
    padding: 8px 16px;
    background: #CD7F64;
    color: #fff;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    border-radius: 4px;
    text-decoration: none;
    text-align: center;
    transition: box-shadow .15s ease-out, background .12s ease;
    align-self: flex-start
}

.srv .card_link:hover {
    background: #b86d52;
    box-shadow: 1px 5px 28px 1px #cd7f642e
}

.srv .card_link:focus {
    outline: 2px solid #CD7F64;
    outline-offset: 2px
}

.srv .curve_div2 {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0
}

.srv .curve_div2 svg {
    display: block;
    width: 100%
}

.srv .how_belt {
    background: #fff;
    padding: 72px 24px
}

.srv .how_inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start
}

.srv .how_left {
    flex: 0 0 340px;
    width: 340px
}

.srv .how_h2 {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #1b1710;
    margin: 0 0 16px
}

.srv .how_h2 em {
    font-style: normal;
    color: #CD7F64
}

.srv .how_desc {
    font-size: 15px;
    line-height: 1.55;
    color: #3a3530;
    margin: 0 0 24px;
    max-width: 300px
}

.srv .how_img_wrap {
    width: 100%;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 1px 5px 28px 1px #cd7f6414
}

.srv .how_img_wrap img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    filter: grayscale(30%);
    transition: filter .18s ease-out
}

.srv .how_img_wrap:hover img {
    filter: grayscale(0%)
}

.srv .how_right {
    flex: 1 1 0;
    min-width: 0
}

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

.srv .step_item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 6px;
    background: #ECE8DF;
    box-shadow: inset 1px 2px 5px 1px #dcc7a62e
}

.srv .step_item:nth-child(even) {
    flex-direction: row-reverse
}

.srv .step_num {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(73deg, #CD7F64 0%, #DCC7A6 60%, #ECE8DF 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 900;
    color: #fff;
    box-shadow: 1px 2px 5px 1px #cd7f6414
}

.srv .step_txt {
    flex: 1 1 0;
    min-width: 0
}

.srv .step_h4 {
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    color: #1b1710;
    margin: 0 0 8px
}

.srv .step_p {
    font-size: 15px;
    line-height: 1.55;
    color: #3a3530;
    margin: 0
}

.srv .curve_div3 {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0
}

.srv .curve_div3 svg {
    display: block;
    width: 100%
}

.srv .contact_belt {
    background: #ECE8DF;
    padding: 72px 24px;
    position: relative
}

.srv .contact_belt .tri_bl {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 48px 0 0 48px;
    border-color: transparent transparent transparent #DCC7A6;
    pointer-events: none
}

.srv .contact_belt .tri_br {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 48px 48px;
    border-color: transparent transparent #DCC7A6;
    pointer-events: none
}

.srv .contact_inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start
}

.srv .contact_left {
    flex: 1 1 0;
    min-width: 0;
    padding-right: 40px
}

.srv .contact_h2 {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #1b1710;
    margin: 0 0 16px
}

.srv .contact_h2 em {
    font-style: normal;
    color: #CD7F64
}

.srv .contact_desc {
    font-size: 15px;
    line-height: 1.55;
    color: #3a3530;
    margin: 0 0 24px;
    max-width: 420px
}

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

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

.srv .contact_icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.srv .contact_val {
    font-size: 15px;
    line-height: 1.35;
    color: #1b1710;
    text-decoration: none;
    transition: color .12s ease
}

.srv .contact_val:hover {
    color: #CD7F64
}

.srv .contact_val:visited {
    opacity: .72
}

.srv .contact_right {
    flex: 0 0 400px;
    width: 400px
}

.srv .form_card {
    background: #fff;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 1px 5px 28px 1px #cd7f6414;
    box-shadow: inset 0 2px 8px 0 #dcc7a624 1px 5px 28px 1px #cd7f6414
}

.srv .form_h4 {
    font-size: 23px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.01em;
    color: #1b1710;
    margin: 0 0 16px
}

.srv .form_field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px
}

.srv .form_label {
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
    color: #3a3530;
    letter-spacing: .04em
}

.srv .form_input,
.srv .form_textarea {
    background: #ECE8DF;
    border: 1.5px solid #DCC7A6;
    border-radius: 4px;
    padding: 8px 16px;
    font-size: 15px;
    line-height: 1.55;
    color: #1b1710;
    outline: none;
    transition: border-color .12s ease, box-shadow .12s ease;
    width: 100%;
    box-sizing: border-box
}

.srv .form_input::placeholder,
.srv .form_textarea::placeholder {
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: 15px;
    color: #8a7b6e
}

.srv .form_input:focus,
.srv .form_textarea:focus {
    border-color: #CD7F64;
    box-shadow: 1px 2px 5px 1px #cd7f6414
}

.srv .form_textarea {
    resize: vertical;
    min-height: 80px
}

.srv .form_btn {
    width: 100%;
    padding: 16px 24px;
    background: #CD7F64;
    color: #fff;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background .12s ease, box-shadow .15s ease-out;
    letter-spacing: .04em
}

.srv .form_btn:hover {
    background: #b86d52;
    box-shadow: 1px 10px 52px 1px #cd7f641f
}

.srv .form_btn:focus {
    outline: 2px solid #CD7F64;
    outline-offset: 2px
}

@media (max-width: 1024px) {
    .srv .pg_top_h1 {
        font-size: 31px
    }

    .srv .pg_top_img_wrap {
        flex: 0 0 200px;
        width: 200px
    }

    .srv .pg_top_img_wrap img {
        width: 200px;
        height: 160px
    }

    .srv .card_grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .srv .how_inner {
        flex-direction: column
    }

    .srv .how_left {
        flex: none;
        width: 100%
    }

    .srv .how_img_wrap img {
        height: 160px
    }

    .srv .contact_inner {
        flex-direction: column
    }

    .srv .contact_right {
        flex: none;
        width: 100%
    }

    .srv .contact_left {
        padding-right: 0
    }
}

@media (max-width: 768px) {
    .srv .pg_top {
        flex-direction: column;
        padding: 40px 16px 24px
    }

    .srv .pg_top_img_wrap {
        flex: none;
        width: 100%
    }

    .srv .pg_top_img_wrap img {
        width: 100%;
        height: 180px
    }

    .srv .pg_top_h1 {
        font-size: 31px
    }

    .srv .card_grid {
        grid-template-columns: 1fr
    }

    .srv .how_belt {
        padding: 40px 16px
    }

    .srv .contact_belt {
        padding: 40px 16px
    }

    .srv .form_card {
        padding: 16px
    }

    .srv .cards_inner {
        padding: 0 16px
    }

    .srv .step_item:nth-child(even) {
        flex-direction: row
    }
}

@media (max-width: 360px) {
    .srv .pg_top_h1 {
        font-size: 23px
    }

    .srv .cards_h2 {
        font-size: 23px
    }

    .srv .how_h2 {
        font-size: 23px
    }

    .srv .contact_h2 {
        font-size: 23px
    }
}

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

.success_page .success_card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 1px 5px 28px 1px #cd7f6414;
    padding: 40px;
    max-width: 560px;
    width: 100%;
    text-align: center
}

.success_page .success_card .icon_wrap {
    width: 56px;
    height: 56px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center
}

.success_page .success_card .icon_wrap svg {
    width: 56px;
    height: 56px
}

.success_page .success_card .success_heading {
    font-size: 31px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #2b2118;
    margin: 0 0 16px
}

.success_page .success_card .success_text {
    font-size: 15px;
    line-height: 1.55;
    color: #4a3b2e;
    margin: 0 0 40px
}

.success_page .success_card .back_link {
    display: inline-block;
    background: #CD7F64;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .01em;
    padding: 16px 40px;
    border-radius: 6px;
    text-decoration: none;
    box-shadow: 1px 2px 5px 1px #cd7f6414;
    transition: box-shadow .15s ease-out, background .12s ease
}

.success_page .success_card .back_link:hover {
    background: #b8694f;
    box-shadow: 1px 10px 52px 1px #cd7f641f
}

.success_page .success_card .back_link:focus {
    outline: 2px solid #CD7F64;
    outline-offset: 3px
}

@media (max-width: 768px) {
    .success_page {
        padding: 40px 16px
    }

    .success_page .success_card {
        padding: 40px 24px
    }

    .success_page .success_card .success_heading {
        font-size: 23px
    }
}