* {
    box-sizing: border-box
}

body {
    margin: 0;
    font-family: 'Public Sans', sans-serif;
    -webkit-text-size-adjust: 100%;
    word-break: break-word;
    overflow-wrap: break-word
}

.site_header {
    background: #fff;
    position: relative;
    border-bottom: 2px solid #D8D2CE;
    box-shadow: 1px 4px 18px -2px #c7633617;
    overflow: hidden
}

.site_header::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #C76336 0%, #A3882B 60%, #D8D2CE 100%);
    pointer-events: none
}

.header_inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 36px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.header_top_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap
}

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

.brand_logo_wrap {
    width: 58px;
    height: 68px;
    border-radius: 4px;
    background: #fff;
    border: 2px solid #D8D2CE;
    box-shadow: inset 0 1px 3px #a3882b1a 1px 3px 6px -2px #c7633612;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    flex-shrink: 0
}

.brand_logo_wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

.brand_text_box {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.brand_name {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.1;
    color: #2a1a0e;
    letter-spacing: .01em
}

.brand_tagline {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.3;
    color: #5a4030
}

.header_credential {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 4px;
    background: linear-gradient(135deg, #fff8f4 0%, #fdf6e8 100%);
    border: 1px solid #D8D2CE;
    box-shadow: 1px 3px 6px -2px #c7633612;
    flex-shrink: 0
}

.header_credential .bx {
    font-size: 19px;
    color: #A3882B
}

.credential_label {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.3;
    color: #3a2a10
}

.header_nav_row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap
}

.nav_pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    border: 2px solid #D8D2CE;
    background: #fff;
    color: #2a1a0e;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.3;
    text-decoration: none;
    transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1), background .22s cubic-bezier(0.0, 0, 0.2, 1);
    position: relative;
    overflow: hidden
}

.nav_pill::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: linear-gradient(0deg, #C76336 0%, #A3882B 100%);
    transition: height .18s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
    pointer-events: none
}

.nav_pill:hover::after,
.nav_pill:focus::after {
    height: 100%
}

.nav_pill:hover,
.nav_pill:focus {
    border-color: #C76336;
    color: #fff;
    outline: none
}

.nav_pill span,
.nav_pill .bx {
    position: relative;
    z-index: 1
}

.nav_pill .bx {
    font-size: 19px;
    color: #C76336;
    transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.nav_pill:hover .bx,
.nav_pill:focus .bx {
    color: #fff
}

.nav_pill:focus-visible {
    outline: 3px solid;
    outline-color: #A3882B;
    outline-offset: 2px
}

@media (max-width: 960px) {
    .header_inner {
        padding: 24px
    }

    .header_top_row {
        gap: 12px
    }
}

@media (max-width: 480px) {
    .header_inner {
        padding: 12px
    }

    .brand_name {
        font-size: 19px
    }

    .header_credential {
        display: none
    }
}

.site_footer {
    background: #f5f1ed;
    position: relative;
    box-shadow: inset 0 4px 18px -2px #a3882b17 inset 0 1px 4px #c7633612;
    border-top: 2px solid #D8D2CE
}

.site_footer::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #A3882B 0%, #C76336 50%, #D8D2CE 100%);
    pointer-events: none
}

.footer_inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 72px 36px 36px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 36px;
    align-items: start
}

.footer_brand_col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px
}

.footer_logo_wrap {
    width: 60px;
    height: 70px;
    border-radius: 4px;
    background: #fff;
    border: 2px solid #D8D2CE;
    box-shadow: inset 0 1px 3px #a3882b1a 1px 4px 18px -2px #c7633617;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px
}

.footer_logo_wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

.footer_brand_name {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.1;
    color: #2a1a0e;
    text-align: center
}

.footer_brand_desc {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.6;
    color: #4a3520;
    text-align: center
}

.footer_contact_col {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.footer_col_heading {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: #2a1a0e;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding-bottom: 6px;
    border-bottom: 2px solid #C76336;
    display: inline-block
}

.footer_contact_item {
    display: flex;
    align-items: flex-start;
    gap: 6px
}

.footer_contact_item .bx {
    font-size: 19px;
    color: #C76336;
    flex-shrink: 0;
    margin-top: 2px
}

.footer_contact_text {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    color: #3a2510;
    text-decoration: none;
    transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

a.footer_contact_text:hover,
a.footer_contact_text:focus {
    color: #C76336;
    outline: none
}

a.footer_contact_text:focus-visible {
    outline: 3px solid #A3882B;
    outline-offset: 2px;
    border-radius: 2px
}

.footer_links_col {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.footer_link_item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    color: #3a2510;
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 4px;
    border: 2px solid transparent;
    background: #fff;
    box-shadow: 1px 3px 6px -2px #c7633612;
    transition: border-color .17s cubic-bezier(0.4, 0, 0.2, 1), color .17s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.0, 0, 0.2, 1)
}

.footer_link_item .bx {
    font-size: 19px;
    color: #A3882B;
    transition: color .17s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer_link_item:hover,
.footer_link_item:focus {
    border-color: #A3882B;
    color: #2a1a0e;
    box-shadow: 1px 4px 18px -2px #a3882b17;
    outline: none
}

.footer_link_item:hover .bx,
.footer_link_item:focus .bx {
    color: #C76336
}

.footer_link_item:focus-visible {
    outline: 3px solid #C76336;
    outline-offset: 2px
}

.footer_bottom {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 36px 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    border-top: 1px solid #D8D2CE
}

.footer_copyright {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.6;
    color: #5a4030
}

.footer_domain_link {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    color: #C76336;
    text-decoration: none;
    transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer_domain_link:hover,
.footer_domain_link:focus {
    color: #A3882B;
    outline: none
}

.footer_domain_link:focus-visible {
    outline: 3px solid #A3882B;
    outline-offset: 2px;
    border-radius: 2px
}

@media (max-width: 960px) {
    .footer_inner {
        grid-template-columns: 1fr 1fr;
        padding: 36px 24px 24px
    }

    .footer_brand_col {
        grid-column: 1 / -1;
        flex-direction: row;
        align-items: flex-start;
        flex-wrap: wrap
    }

    .footer_brand_desc {
        text-align: left
    }

    .footer_brand_name {
        text-align: left
    }

    .footer_bottom {
        padding: 24px 24px 36px
    }
}

@media (max-width: 480px) {
    .footer_inner {
        grid-template-columns: 1fr;
        padding: 36px 12px 24px;
        gap: 24px
    }

    .footer_brand_col {
        grid-column: auto
    }

    .footer_bottom {
        padding: 24px 12px 36px;
        flex-direction: column;
        align-items: flex-start
    }
}

.consent_popup {
    display: none;
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 1200;
    width: 340px;
    max-width: calc(100vw - 48px);
    background: #fff;
    border-radius: 12px;
    border: 2px solid #D8D2CE;
    box-shadow: 1px 12px 44px -2px #c763361f 1px 4px 18px -2px #c7633617;
    padding: 24px;
    opacity: 0;
    transition: opacity .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent_popup.showing {
    opacity: 1
}

.consent_popup_body {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.consent_popup_desc {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    color: #2a1a0e
}

.consent_popup_headline {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
    color: #2a1a0e
}

.consent_popup_actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap
}

.consent_accept_btn {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: #2a1a0e;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
    transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent_accept_btn:hover,
.consent_accept_btn:focus {
    color: #C76336;
    outline: none
}

.consent_accept_btn:focus-visible {
    outline: 3px solid #C76336;
    outline-offset: 2px;
    border-radius: 2px
}

.consent_decline_link {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.3;
    color: #5a4030;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
    transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent_decline_link:hover,
.consent_decline_link:focus {
    color: #A3882B;
    outline: none
}

.consent_decline_link:focus-visible {
    outline: 3px solid #A3882B;
    outline-offset: 2px;
    border-radius: 2px
}

.consent_policy_note {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.6;
    color: #5a4030
}

.consent_policy_note a {
    color: #A3882B;
    text-decoration: underline;
    transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent_policy_note a:hover,
.consent_policy_note a:focus {
    color: #C76336;
    outline: none
}

.consent_policy_note a:focus-visible {
    outline: 3px solid #C76336;
    outline-offset: 2px;
    border-radius: 2px
}

.legal-data {
    max-width: 1100px;
    margin: 0 auto;
    padding: 72px 36px;
    color: #2c2416;
    line-height: 1.9;
    font-size: 15px
}

.legal-data ul,
.legal-data ol {
    margin: 24px 0;
    padding-left: 36px
}

.legal-data ul ul,
.legal-data ol ol,
.legal-data ul ol,
.legal-data ol ul {
    margin: 6px 0;
    padding-left: 24px
}

.legal-data ul {
    list-style: none;
    padding-left: 24px
}

.legal-data ul li {
    position: relative;
    padding-left: 24px
}

.legal-data ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .75em;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background-color: #C76336;
    flex-shrink: 0
}

.legal-data ol {
    list-style: decimal;
    counter-reset: none
}

.legal-data ol li {
    padding-left: 6px
}

.legal-data ol li::marker {
    color: #A3882B;
    font-size: 15px;
    font-weight: 700
}

.legal-data li {
    margin: 6px 0;
    line-height: 1.9;
    font-size: 15px;
    color: #2c2416
}

.legal-data strong,
.legal-data b {
    font-weight: 700;
    color: #1e180f;
    letter-spacing: .01em
}

.legal-data em,
.legal-data i {
    font-style: italic;
    color: #4a3b28
}

.legal-data a {
    color: #C76336;
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .15s cubic-bezier(0.0, 0, 0.2, 1);
    word-break: break-word
}

.legal-data a:hover {
    color: #A3882B;
    text-decoration-color: #A3882B
}

.legal-data a:focus-visible {
    outline: 2px solid #C76336;
    outline-offset: 3px;
    border-radius: 2px
}

.legal-data div {
    margin: 24px 0
}

.legal-data div+div {
    margin-top: 12px
}

@media (max-width: 960px) {
    .legal-data {
        padding: 36px 24px
    }
}

@media (max-width: 480px) {
    .legal-data {
        padding: 24px 12px;
        font-size: 15px
    }

    .legal-data ul,
    .legal-data ol {
        padding-left: 24px
    }

    .legal-data ul {
        padding-left: 12px
    }
}

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

.abt .pg_body {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px
}

.abt .title_block {
    position: relative;
    padding: 72px 24px 0;
    background: #fff
}

.abt .title_img_zone {
    position: relative;
    max-width: 1100px;
    margin: 0 auto;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 16/7
}

.abt .title_img_zone img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: grayscale(30%) brightness(0.82)
}

.abt .title_img_vignette {
    position: absolute;
    inset: 0;
    border-radius: 20px;
    background: radial-gradient(ellipse at 0% 0%, #c7633661 0%, transparent 55%), radial-gradient(ellipse at 100% 0%, #a3882b47 0%, transparent 50%), radial-gradient(ellipse at 0% 100%, #1e140a8c 0%, transparent 50%), radial-gradient(ellipse at 100% 100%, #1e140a8c 0%, transparent 50%);
    pointer-events: none
}

.abt .title_text_zone {
    max-width: 1100px;
    margin: 0 auto;
    padding: 36px 12px 72px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 36px
}

.abt .title_heading_col {
    flex: 1 1 55%
}

.abt .title_tag {
    display: inline-block;
    background: #C76336;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 6px 12px;
    border-radius: 4px;
    margin-bottom: 24px
}

.abt .title_h1 {
    font-size: 56px;
    line-height: 1.1;
    color: #1e1208;
    margin: 0 0 12px;
    font-weight: 900
}

.abt .title_h1 span {
    display: block
}

.abt .title_h1 .accent_line {
    color: #C76336
}

.abt .title_sub_col {
    flex: 1 1 40%;
    padding-top: 12px
}

.abt .title_sub_col p {
    font-size: 19px;
    line-height: 1.6;
    color: #3a2a1a;
    margin: 0 0 24px
}

.abt .title_cta {
    display: inline-block;
    position: relative;
    overflow: hidden;
    border: 3px solid #C76336;
    border-radius: 4px;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #C76336;
    text-decoration: none;
    background: transparent;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1
}

.abt .title_cta::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0;
    background: #C76336;
    transition: height .25s cubic-bezier(0.0, 0, 0.2, 1);
    z-index: -1
}

.abt .title_cta:hover {
    color: #fff
}

.abt .title_cta:hover::before {
    height: 100%
}

.abt .wave_divider {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    margin-top: -2px
}

.abt .wave_divider svg {
    display: block;
    width: 100%
}

.abt .detail_sec {
    background: linear-gradient(287deg, #A3882B18 0%, #D8D2CE30 100%);
    padding: 72px 24px;
    position: relative
}

.abt .detail_grid {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.45fr 1fr;
    gap: 24px;
    align-items: start
}

.abt .detail_side {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt .detail_card {
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 1px 4px 18px -2px #c7633617;
    position: relative
}

.abt .detail_card_tag {
    position: absolute;
    top: -1px;
    right: 16px;
    background: #A3882B;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 0 0 4px 4px
}

.abt .detail_card h4 {
    font-size: 19px;
    line-height: 1.3;
    color: #1e1208;
    margin: 12px 0;
    font-weight: 800
}

.abt .detail_card p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a2a1a;
    margin: 0
}

.abt .detail_center {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt .detail_center_img {
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1/1;
    box-shadow: 1px 12px 44px -2px #c763361f;
    position: relative
}

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

.abt .detail_center_img_overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(287deg, #a3882b2e 0%, #c763361a 100%);
    pointer-events: none
}

.abt .detail_main_card {
    background: #C76336;
    border-radius: 12px;
    padding: 36px 24px;
    box-shadow: 1px 12px 44px -2px #c763361f;
    position: relative
}

.abt .detail_main_card h3 {
    font-size: 24px;
    line-height: 1.3;
    color: #fff;
    font-weight: 900;
    margin: 0 0 12px
}

.abt .detail_main_card p {
    font-size: 15px;
    line-height: 1.6;
    color: #fdf5ee;
    margin: 0
}

.abt .detail_dashed_path {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: 12px
}

.abt .detail_metrics_row {
    display: flex;
    flex-direction: row;
    gap: 12px
}

.abt .metric_pill {
    flex: 1 1 0;
    background: #fff;
    border-radius: 12px;
    padding: 12px 6px;
    text-align: center;
    box-shadow: 1px 3px 6px -2px #c7633612
}

.abt .metric_pill .met_num {
    display: block;
    font-size: 24px;
    font-weight: 900;
    color: #C76336;
    line-height: 1.1
}

.abt .metric_pill .met_lbl {
    display: block;
    font-size: 15px;
    color: #5a3e28;
    line-height: 1.3;
    margin-top: 4px
}

.abt .team_sec {
    background: #fff;
    padding: 72px 24px
}

.abt .team_inner {
    max-width: 1100px;
    margin: 0 auto
}

.abt .team_header {
    text-align: center;
    margin-bottom: 36px
}

.abt .team_header h2 {
    font-size: 56px;
    line-height: 1.1;
    color: #1e1208;
    font-weight: 900;
    margin: 0 0 12px
}

.abt .team_header h2 span {
    display: block
}

.abt .team_header h2 .t_accent {
    color: #A3882B
}

.abt .team_header p {
    font-size: 19px;
    line-height: 1.6;
    color: #3a2a1a;
    max-width: 560px;
    margin: 0 auto;
    text-align: left
}

.abt .team_layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: start
}

.abt .team_cards {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt .person_card {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
    background: linear-gradient(287deg, #D8D2CE22 0%, #fff 100%);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 1px 3px 6px -2px #a3882b12;
    transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative
}

.abt .person_card:hover {
    box-shadow: 1px 12px 44px -2px #a3882b1f
}

.abt .person_img_wrap {
    width: 80px;
    height: 80px;
    min-width: 80px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 1px 4px 18px -2px #c7633617
}

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

.abt .person_info {
    flex: 1
}

.abt .person_name {
    font-size: 19px;
    font-weight: 800;
    color: #1e1208;
    line-height: 1.3;
    margin: 0 0 4px
}

.abt .person_role {
    font-size: 15px;
    color: #C76336;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0 0 8px
}

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

.abt .person_corner_tag {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #D8D2CE;
    color: #5a3e28;
    font-size: 15px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 2px;
    letter-spacing: .05em
}

.abt .table_zone {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt .table_zone h3 {
    font-size: 24px;
    line-height: 1.3;
    color: #1e1208;
    font-weight: 800;
    margin: 0 0 6px
}

.abt .table_zone p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a2a1a;
    margin: 0 0 12px
}

.abt .coord_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 6px
}

.abt .coord_table thead tr th {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #5a3e28;
    padding: 6px 12px;
    background: transparent;
    text-align: left
}

.abt .coord_table tbody tr td {
    font-size: 15px;
    line-height: 1.6;
    padding: 12px;
    color: #1e1208;
    background: #f5f0eb;
    vertical-align: middle
}

.abt .coord_table tbody tr td:first-child {
    border-radius: 4px 0 0 4px;
    font-weight: 700
}

.abt .coord_table tbody tr td:last-child {
    border-radius: 0 4px 4px 0
}

.abt .cell_high {
    background: #c7633624 !important;
    color: #8a3a12 !important;
    font-weight: 700
}

.abt .cell_mid {
    background: #a3882b21 !important;
    color: #5a4210 !important;
    font-weight: 600
}

.abt .cell_low {
    background: #d8d2ce8c !important;
    color: #3a2a1a !important
}

.abt .table_img_accent {
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1/1;
    box-shadow: 1px 4px 18px -2px #c7633617
}

.abt .table_img_accent img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(60%) brightness(0.9);
    transition: filter .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt .table_img_accent:hover img {
    filter: grayscale(0%) brightness(1)
}

@keyframes lift_reveal {
    from {
        opacity: 0;
        transform: translateY(32px)
    }

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

.abt .title_h1 {
    animation: lift_reveal .55s cubic-bezier(0.0, 0, 0.2, 1) both
}

.abt .title_tag {
    animation: lift_reveal .38s cubic-bezier(0.0, 0, 0.2, 1) .08s both
}

.abt .title_sub_col {
    animation: lift_reveal .48s cubic-bezier(0.0, 0, 0.2, 1) .18s both
}

@media (max-width: 960px) {
    .abt .title_text_zone {
        flex-direction: column;
        gap: 24px
    }

    .abt .title_h1 {
        font-size: 56px
    }

    .abt .detail_grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto
    }

    .abt .detail_center {
        grid-column: 1 / -1;
        grid-row: 1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px
    }

    .abt .detail_side:first-child {
        grid-row: 2;
        grid-column: 1
    }

    .abt .detail_side:last-child {
        grid-row: 2;
        grid-column: 2
    }

    .abt .team_layout {
        grid-template-columns: 1fr
    }
}

@media (max-width: 480px) {
    .abt .title_h1 {
        font-size: 24px
    }

    .abt .title_img_zone {
        aspect-ratio: 4/3
    }

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

    .abt .detail_center {
        grid-column: 1;
        grid-template-columns: 1fr
    }

    .abt .detail_side:first-child,
    .abt .detail_side:last-child {
        grid-column: 1
    }

    .abt .detail_metrics_row {
        flex-direction: column
    }

    .abt .team_header h2 {
        font-size: 24px
    }

    .abt .person_card {
        flex-direction: column
    }

    .abt .person_img_wrap {
        width: 100%;
        height: auto;
        aspect-ratio: 1/1
    }

    .abt .coord_table thead {
        display: none
    }

    .abt .coord_table tbody tr {
        display: flex;
        flex-direction: column;
        margin-bottom: 12px;
        border-radius: 4px;
        overflow: hidden
    }

    .abt .coord_table tbody tr td {
        border-radius: 0 !important
    }
}

@media (min-width: 1440px) {
    .abt .title_img_zone {
        aspect-ratio: 16/6
    }
}

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

.entry_pg .pg_wrap {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px
}

.entry_pg ::selection {
    background: #2a1a0e;
    color: #f5ede6
}

.entry_pg .divider_dash {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 0
}

.entry_pg .divider_dash span {
    display: inline-block;
    background: #C76336;
    border-radius: 2px
}

.entry_pg .divider_dash span.dot {
    width: 4px;
    height: 4px;
    border-radius: 2px
}

.entry_pg .divider_dash span.dash {
    width: 14px;
    height: 3px;
    border-radius: 2px
}

.entry_pg .divider_dash span.sm_dot {
    width: 3px;
    height: 3px;
    opacity: .45;
    border-radius: 2px
}

.entry_pg .title_blk {
    position: relative;
    padding-top: 72px;
    padding-bottom: 36px;
    background: #f5ede6;
    overflow: hidden
}

.entry_pg .title_blk .dot_scatter {
    position: absolute;
    inset: 0;
    pointer-events: none
}

.entry_pg .title_blk .dot_scatter circle {
    fill: #C76336;
    opacity: .08
}

.entry_pg .title_blk .txt_upper {
    position: relative;
    z-index: 1;
    text-align: center;
    padding-bottom: 36px
}

.entry_pg .title_blk .lbl_tag {
    display: inline-block;
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #A3882B;
    border: 2px solid #A3882B;
    border-radius: 4px;
    padding: 6px 12px;
    margin-bottom: 24px
}

.entry_pg .title_blk .h_line_a {
    display: block;
    font-size: 70px;
    line-height: 1.1;
    color: #1b1007;
    letter-spacing: -.01em
}

.entry_pg .title_blk .h_line_b {
    display: block;
    font-size: 56px;
    line-height: 1.1;
    color: #C76336
}

.entry_pg .title_blk .h_line_c {
    display: block;
    font-size: 24px;
    line-height: 1.3;
    color: #4a3520;
    margin-top: 12px
}

.entry_pg .title_blk .sub_desc {
    font-size: 19px;
    line-height: 1.6;
    color: #3d2a14;
    max-width: 560px;
    margin: 24px auto 0;
    text-align: left
}

.entry_pg .title_blk .img_lower {
    position: relative;
    z-index: 1;
    margin-top: 36px;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1/1;
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 1px 12px 44px -2px #c763361f
}

.entry_pg .title_blk .img_lower img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
    filter: blur(0px)
}

.entry_pg .title_blk .img_lower::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(287deg, #a3882b2e, #d8d2ce38);
    border-radius: 12px
}

.entry_pg .mirror_sec {
    padding-top: 72px;
    padding-bottom: 72px;
    background: #fff8f3
}

.entry_pg .mirror_sec .grid_two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: center
}

.entry_pg .mirror_sec .bracket_frame {
    position: relative;
    padding: 24px
}

.entry_pg .mirror_sec .bracket_frame::before,
.entry_pg .mirror_sec .bracket_frame::after {
    content: "";
    position: absolute;
    width: 28px;
    height: 28px;
    border-color: #C76336;
    border-style: solid
}

.entry_pg .mirror_sec .bracket_frame::before {
    top: 0;
    left: 0;
    border-width: 3px 0 0 3px;
    border-radius: 4px 0 0 0
}

.entry_pg .mirror_sec .bracket_frame::after {
    bottom: 0;
    right: 0;
    border-width: 0 3px 3px 0;
    border-radius: 0 0 4px 0
}

.entry_pg .mirror_sec .scenario_card {
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 1px 4px 18px -2px #c7633617;
    margin-bottom: 24px
}

.entry_pg .mirror_sec .scenario_card:last-child {
    margin-bottom: 0
}

.entry_pg .mirror_sec .sc_num {
    font-size: 56px;
    line-height: 1.1;
    color: #D8D2CE;
    font-weight: 700;
    display: block;
    margin-bottom: 6px
}

.entry_pg .mirror_sec .sc_text {
    font-size: 15px;
    line-height: 1.6;
    color: #2e1f0d
}

.entry_pg .mirror_sec .sc_accent {
    color: #C76336;
    font-weight: 600
}

.entry_pg .mirror_sec .right_col h2 {
    font-size: 56px;
    line-height: 1.1;
    color: #1b1007;
    margin-bottom: 24px
}

.entry_pg .mirror_sec .right_col h2 em {
    font-style: normal;
    color: #C76336;
    display: block
}

.entry_pg .mirror_sec .right_col p {
    font-size: 19px;
    line-height: 1.6;
    color: #3d2a14;
    margin-bottom: 24px
}

.entry_pg .mirror_sec .right_col .detail_row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px
}

.entry_pg .mirror_sec .right_col .detail_row .d_icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px
}

.entry_pg .mirror_sec .right_col .detail_row .d_txt {
    font-size: 15px;
    line-height: 1.6;
    color: #2e1f0d
}

.entry_pg .people_sec {
    padding-top: 72px;
    padding-bottom: 72px;
    background: #2e1f0d;
    position: relative
}

.entry_pg .people_sec .bg_img_overlay {
    position: absolute;
    inset: 0;
    pointer-events: none
}

.entry_pg .people_sec .bg_img_overlay img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .18;
    display: block
}

.entry_pg .people_sec .rel_wrap {
    position: relative;
    z-index: 1
}

.entry_pg .people_sec .sec_label {
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #A3882B;
    margin-bottom: 12px
}

.entry_pg .people_sec h2 {
    font-size: 56px;
    line-height: 1.1;
    color: #f5ede6;
    margin-bottom: 36px;
    max-width: 600px
}

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

.entry_pg .people_sec .person_card {
    background: #f5ede612;
    border: 1px solid #c763364d;
    border-radius: 12px;
    padding: 24px;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.entry_pg .people_sec .person_card:hover {
    background: #f5ede61f;
    border-color: #c7633699
}

.entry_pg .people_sec .person_card .quote_mark {
    display: block;
    width: 32px;
    height: 24px;
    margin-bottom: 12px
}

.entry_pg .people_sec .person_card .card_quote {
    font-size: 15px;
    line-height: 1.9;
    color: #e8d9cc;
    margin-bottom: 24px;
    font-style: italic
}

.entry_pg .people_sec .person_card .card_result {
    font-size: 19px;
    line-height: 1.3;
    color: #C76336;
    font-weight: 700;
    margin-bottom: 12px
}

.entry_pg .people_sec .person_card .person_name {
    font-size: 15px;
    line-height: 1.3;
    color: #D8D2CE
}

.entry_pg .people_sec .person_card .person_role {
    font-size: 15px;
    line-height: 1.3;
    color: #d8d2ce99
}

.entry_pg .rep_sec {
    padding-top: 72px;
    padding-bottom: 72px;
    background: #f5ede6
}

.entry_pg .rep_sec .four_col {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 24px;
    align-items: start
}

.entry_pg .rep_sec .accent_col {
    border: 2px solid #C76336;
    border-radius: 12px;
    padding: 36px 24px;
    position: relative;
    background: #fff;
    box-shadow: 1px 4px 18px -2px #c7633617
}

.entry_pg .rep_sec .accent_col::before {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid #c7633659;
    border-radius: 8px;
    pointer-events: none
}

.entry_pg .rep_sec .accent_col h2 {
    font-size: 56px;
    line-height: 1.1;
    color: #1b1007;
    margin-bottom: 12px
}

.entry_pg .rep_sec .accent_col h2 span {
    display: block;
    color: #C76336
}

.entry_pg .rep_sec .accent_col p {
    font-size: 15px;
    line-height: 1.6;
    color: #3d2a14
}

.entry_pg .rep_sec .stat_col {
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 1px 3px 6px -2px #c7633612;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.entry_pg .rep_sec .stat_num {
    font-size: 56px;
    line-height: 1.1;
    color: #C76336;
    font-weight: 700
}

.entry_pg .rep_sec .stat_label {
    font-size: 15px;
    line-height: 1.6;
    color: #3d2a14
}

.entry_pg .rep_sec .chart_area {
    margin-top: 36px;
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 1px 3px 6px -2px #c7633612
}

.entry_pg .rep_sec .chart_area h4 {
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #A3882B;
    margin-bottom: 12px
}

.entry_pg .rep_sec .chart_area svg {
    width: 100%;
    height: auto;
    display: block
}

.entry_pg .avail_sec {
    padding-top: 72px;
    padding-bottom: 72px;
    background: #fff
}

.entry_pg .avail_sec .sec_head {
    text-align: center;
    margin-bottom: 36px
}

.entry_pg .avail_sec .sec_head h2 {
    font-size: 56px;
    line-height: 1.1;
    color: #1b1007;
    margin-bottom: 12px
}

.entry_pg .avail_sec .sec_head p {
    font-size: 19px;
    line-height: 1.6;
    color: #3d2a14;
    max-width: 520px;
    margin: 0 auto
}

.entry_pg .avail_sec .courses_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px
}

.entry_pg .avail_sec .course_card {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 1px 4px 18px -2px #c7633617;
    background: #fff8f3;
    transition: box-shadow .25s cubic-bezier(0.0, 0, 0.2, 1), transform .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.entry_pg .avail_sec .course_card:hover {
    box-shadow: 1px 12px 44px -2px #c763361f;
    transform: translateY(-3px)
}

.entry_pg .avail_sec .course_card .card_img {
    aspect-ratio: 1/1;
    overflow: hidden
}

.entry_pg .avail_sec .course_card .card_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.entry_pg .avail_sec .course_card:hover .card_img img {
    transform: scale(1.04)
}

.entry_pg .avail_sec .course_card .card_body {
    padding: 24px
}

.entry_pg .avail_sec .course_card .card_tag {
    display: inline-block;
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: #A3882B;
    margin-bottom: 12px
}

.entry_pg .avail_sec .course_card h3 {
    font-size: 24px;
    line-height: 1.3;
    color: #1b1007;
    margin-bottom: 12px
}

.entry_pg .avail_sec .course_card p {
    font-size: 15px;
    line-height: 1.6;
    color: #3d2a14;
    margin-bottom: 12px
}

.entry_pg .avail_sec .course_card .meta_row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.entry_pg .avail_sec .course_card .meta_item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    line-height: 1.3;
    color: #6b4c2a
}

.entry_pg .avail_sec .course_card .meta_item i {
    color: #C76336;
    font-size: 15px
}

.entry_pg .avail_sec .course_btn {
    display: inline-block;
    margin-top: 36px;
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #C76336;
    border: 2px solid #C76336;
    border-radius: 4px;
    padding: 12px 24px;
    background: transparent;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none
}

.entry_pg .avail_sec .course_btn::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0;
    background: #C76336;
    transition: height .2s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.entry_pg .avail_sec .course_btn:hover {
    color: #fff
}

.entry_pg .avail_sec .course_btn:hover::after {
    height: 100%
}

.entry_pg .avail_sec .course_btn span {
    position: relative;
    z-index: 1
}

.entry_pg .avail_sec .btn_center {
    text-align: center
}

.entry_pg .support_sec {
    padding-top: 72px;
    padding-bottom: 72px;
    background: linear-gradient(287deg, #A3882B, #D8D2CE)
}

.entry_pg .support_sec .sup_inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: center
}

.entry_pg .support_sec .sup_img {
    aspect-ratio: 1/1;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 1px 12px 44px -2px #a3882b1f
}

.entry_pg .support_sec .sup_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.entry_pg .support_sec .sup_text h2 {
    font-size: 56px;
    line-height: 1.1;
    color: #1b1007;
    margin-bottom: 24px
}

.entry_pg .support_sec .sup_text h2 em {
    font-style: normal;
    display: block;
    color: #fff
}

.entry_pg .support_sec .sup_text p {
    font-size: 19px;
    line-height: 1.6;
    color: #2a1a0e;
    margin-bottom: 24px
}

.entry_pg .support_sec .sup_items {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.entry_pg .support_sec .sup_item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #ffffff73;
    border-radius: 8px;
    padding: 12px
}

.entry_pg .support_sec .sup_item .si_icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    background: #C76336;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center
}

.entry_pg .support_sec .sup_item .si_icon i {
    color: #fff;
    font-size: 19px
}

.entry_pg .support_sec .sup_item .si_body h5 {
    font-size: 15px;
    line-height: 1.3;
    color: #1b1007;
    margin-bottom: 6px
}

.entry_pg .support_sec .sup_item .si_body p {
    font-size: 15px;
    line-height: 1.6;
    color: #2a1a0e;
    margin: 0
}

.entry_pg .cond_sec {
    padding-top: 72px;
    padding-bottom: 72px;
    background: #fff8f3
}

.entry_pg .cond_sec .cond_head {
    margin-bottom: 36px
}

.entry_pg .cond_sec .cond_head h2 {
    font-size: 56px;
    line-height: 1.1;
    color: #1b1007;
    margin-bottom: 12px
}

.entry_pg .cond_sec .cond_head p {
    font-size: 19px;
    line-height: 1.6;
    color: #3d2a14;
    max-width: 540px
}

.entry_pg .cond_sec .faq_list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 720px
}

.entry_pg .cond_sec .faq_item {
    border-radius: 12px;
    background: #fff;
    box-shadow: 1px 3px 6px -2px #c7633612;
    overflow: hidden
}

.entry_pg .cond_sec .faq_item summary {
    list-style: none;
    padding: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 19px;
    line-height: 1.3;
    color: #1b1007;
    font-weight: 600;
    transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.entry_pg .cond_sec .faq_item summary::-webkit-details-marker {
    display: none
}

.entry_pg .cond_sec .faq_item summary:hover {
    color: #C76336
}

.entry_pg .cond_sec .faq_item summary .faq_arrow {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.entry_pg .cond_sec .faq_item[open] summary .faq_arrow {
    transform: rotate(180deg)
}

.entry_pg .cond_sec .faq_item[open] summary {
    color: #C76336
}

.entry_pg .cond_sec .faq_body {
    padding: 0 24px 24px;
    font-size: 15px;
    line-height: 1.9;
    color: #3d2a14
}

.entry_pg .cond_sec .cond_img_wrap {
    aspect-ratio: 1/1;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 1px 12px 44px -2px #c763361f;
    max-width: 360px;
    margin-left: auto
}

.entry_pg .cond_sec .cond_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.entry_pg .cond_sec .cond_layout {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 36px;
    align-items: start
}

@keyframes ring_expand {
    0% {
        r: 60;
        opacity: .18
    }

    100% {
        r: 200;
        opacity: 0
    }
}

.entry_pg .pulse_ring_1 {
    animation: ring_expand 3.2s cubic-bezier(0.0, 0, 0.2, 1) infinite
}

.entry_pg .pulse_ring_2 {
    animation: ring_expand 3.2s cubic-bezier(0.0, 0, 0.2, 1) 1.1s infinite
}

.entry_pg .pulse_ring_3 {
    animation: ring_expand 3.2s cubic-bezier(0.0, 0, 0.2, 1) 2.1s infinite
}

@media (max-width: 960px) {
    .entry_pg .title_blk .h_line_a {
        font-size: 56px
    }

    .entry_pg .title_blk .h_line_b {
        font-size: 40px
    }

    .entry_pg .mirror_sec .grid_two {
        grid-template-columns: 1fr
    }

    .entry_pg .people_sec .cards_row {
        grid-template-columns: 1fr 1fr
    }

    .entry_pg .rep_sec .four_col {
        grid-template-columns: 1fr 1fr
    }

    .entry_pg .avail_sec .courses_grid {
        grid-template-columns: 1fr
    }

    .entry_pg .support_sec .sup_inner {
        grid-template-columns: 1fr
    }

    .entry_pg .cond_sec .cond_layout {
        grid-template-columns: 1fr
    }

    .entry_pg .cond_sec .cond_img_wrap {
        max-width: 100%;
        margin-left: 0
    }
}

@media (max-width: 480px) {
    .entry_pg .title_blk .h_line_a {
        font-size: 40px
    }

    .entry_pg .title_blk .h_line_b {
        font-size: 24px
    }

    .entry_pg .title_blk {
        padding-top: 36px
    }

    .entry_pg .mirror_sec {
        padding-top: 36px;
        padding-bottom: 36px
    }

    .entry_pg .people_sec .cards_row {
        grid-template-columns: 1fr
    }

    .entry_pg .rep_sec .four_col {
        grid-template-columns: 1fr
    }

    .entry_pg .rep_sec h2 {
        font-size: 40px
    }

    .entry_pg .people_sec h2 {
        font-size: 40px
    }

    .entry_pg .support_sec .sup_text h2 {
        font-size: 40px
    }

    .entry_pg .cond_sec .cond_head h2 {
        font-size: 40px
    }

    .entry_pg .avail_sec .sec_head h2 {
        font-size: 40px
    }
}

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

.ct-us .pg-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px
}

.ct-us .reveal {
    opacity: 0;
    animation: fadeIn .25s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.ct-us .reveal-d1 {
    animation-delay: .1s
}

.ct-us .reveal-d2 {
    animation-delay: .18s
}

.ct-us .reveal-d3 {
    animation-delay: .26s
}

@keyframes fadeIn {
    to {
        opacity: 1
    }
}

.ct-us .top-band {
    background: linear-gradient(287deg, #A3882B 0%, #D8D2CE 100%);
    padding: 72px 24px 36px;
    position: relative
}

.ct-us .top-band-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 36px
}

.ct-us .top-img-col {
    flex: 0 0 340px;
    position: relative
}

.ct-us .top-img-wrap {
    width: 340px;
    height: 340px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 1px 12px 44px -2px #c763361f;
    position: relative
}

.ct-us .top-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.ct-us .top-img-overlay {
    position: absolute;
    inset: 0;
    background: #c7633661;
    border-radius: 12px
}

.ct-us .img-counter {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #C76336;
    color: #fff;
    font-size: 15px;
    line-height: 1.1;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 4px;
    letter-spacing: .03em;
    z-index: 2
}

.ct-us .top-text-col {
    flex: 1 1 0;
    padding-top: 24px
}

.ct-us .top-eyebrow {
    font-size: 15px;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #5a3a10;
    margin-bottom: 12px;
    display: block
}

.ct-us .top-heading {
    font-size: 56px;
    line-height: 1.1;
    color: #1b1006;
    margin: 0 0 24px;
    font-weight: 900
}

.ct-us .top-heading span {
    display: block
}

.ct-us .top-slogan {
    font-size: 19px;
    line-height: 1.6;
    color: #2e1e06;
    max-width: 480px;
    margin: 0
}

.ct-us .top-curl {
    position: absolute;
    bottom: 18px;
    right: 36px;
    width: 60px;
    height: 60px;
    opacity: .13;
    pointer-events: none
}

.ct-us .divider-arch {
    height: 36px;
    background: #fff;
    border-radius: 20px 20px 0 0;
    margin-top: -20px;
    position: relative;
    z-index: 1
}

.ct-us .contact-grid-sec {
    background: #fff;
    padding: 72px 24px
}

.ct-us .contact-grid {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.7fr;
    gap: 36px;
    align-items: start
}

.ct-us .info-col {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.ct-us .info-label {
    font-size: 15px;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #A3882B;
    margin-bottom: 6px;
    display: block
}

.ct-us .info-heading {
    font-size: 24px;
    line-height: 1.3;
    color: #1b1006;
    margin: 0 0 12px;
    font-weight: 800
}

.ct-us .info-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #3a2a12;
    margin: 0
}

.ct-us .contact-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    background: #f5f0eb;
    border-radius: 12px;
    box-shadow: 1px 3px 6px -2px #c7633612;
    transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .contact-item:hover {
    box-shadow: 1px 4px 18px -2px #c7633617
}

.ct-us .ci-icon {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    background: #C76336;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.ct-us .ci-icon i {
    color: #fff;
    font-size: 19px
}

.ct-us .ci-text {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.ct-us .ci-label {
    font-size: 15px;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #A3882B;
    font-weight: 700
}

.ct-us .ci-val {
    font-size: 15px;
    line-height: 1.3;
    color: #1b1006;
    text-decoration: none;
    font-weight: 500;
    transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .ci-val:hover {
    color: #C76336
}

.ct-us .form-col {
    background: #fff;
    border-radius: 12px;
    box-shadow: 1px 4px 18px -2px #c7633617 inset 0 2px 8px 0 #a3882b0a;
    padding: 36px
}

.ct-us .form-heading {
    font-size: 24px;
    line-height: 1.3;
    color: #1b1006;
    margin: 0 0 6px;
    font-weight: 800
}

.ct-us .form-sub {
    font-size: 15px;
    line-height: 1.6;
    color: #5a3a10;
    margin: 0 0 24px
}

.ct-us .ct-form {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.ct-us .field-group {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.ct-us .field-label {
    font-size: 15px;
    line-height: 1.3;
    color: #1b1006;
    font-weight: 600
}

.ct-us .field-input {
    border: 2px solid #D8D2CE;
    border-radius: 4px;
    padding: 12px;
    font-size: 15px;
    line-height: 1.6;
    color: #1b1006;
    background: #fdf9f5;
    outline: none;
    transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    box-sizing: border-box
}

.ct-us .field-input::placeholder {
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: 15px;
    color: #9a8878
}

.ct-us .field-input:focus {
    border-color: #C76336;
    box-shadow: 1px 4px 18px -2px #c7633617;
    background: #fff
}

.ct-us .services-label {
    font-size: 15px;
    line-height: 1.3;
    color: #1b1006;
    font-weight: 600;
    margin-bottom: 6px;
    display: block
}

.ct-us .services-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

.ct-us .svc-check {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    padding: 12px;
    border: 2px solid #D8D2CE;
    border-radius: 4px;
    background: #fdf9f5;
    transition: border-color .18s cubic-bezier(0.4, 0, 0.2, 1), background .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .svc-check:hover {
    border-color: #C76336;
    background: #fef5ef
}

.ct-us .svc-check input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #C76336;
    flex-shrink: 0;
    cursor: pointer
}

.ct-us .svc-check-text {
    font-size: 15px;
    line-height: 1.3;
    color: #1b1006
}

.ct-us .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    background: #f5f0eb;
    border-radius: 4px
}

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

.ct-us .privacy-text {
    font-size: 15px;
    line-height: 1.6;
    color: #3a2a12
}

.ct-us .privacy-text a {
    color: #C76336;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .privacy-text a:hover {
    color: #A3882B
}

.ct-us .submit-btn {
    position: relative;
    overflow: hidden;
    border: 3px solid #C76336;
    background: transparent;
    color: #C76336;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    padding: 12px 36px;
    border-radius: 4px;
    cursor: pointer;
    align-self: flex-start;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.ct-us .submit-btn::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #C76336;
    z-index: -1;
    transition: height .22s cubic-bezier(0.0, 0, 0.2, 1);
    border-radius: 2px
}

.ct-us .submit-btn:hover {
    color: #fff
}

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

.ct-us .submit-btn:focus {
    outline: 3px solid #A3882B;
    outline-offset: 3px
}

.ct-us .submit-btn:active {
    border-color: #A3882B
}

.ct-us .alt-contact-sec {
    background: linear-gradient(287deg, #D8D2CE 0%, #f5f0eb 100%);
    padding: 72px 24px;
    position: relative
}

.ct-us .alt-contact-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 36px
}

.ct-us .alt-text-side {
    flex: 1 1 0
}

.ct-us .alt-heading {
    font-size: 24px;
    line-height: 1.3;
    color: #1b1006;
    margin: 0 0 12px;
    font-weight: 800
}

.ct-us .alt-body {
    font-size: 15px;
    line-height: 1.6;
    color: #3a2a12;
    margin: 0 0 24px
}

.ct-us .alt-accent-line {
    font-size: 19px;
    line-height: 1.3;
    color: #C76336;
    font-weight: 700;
    margin: 0 0 24px
}

.ct-us .alt-cta-link {
    display: inline-block;
    border: 3px solid #A3882B;
    color: #A3882B;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    padding: 12px 24px;
    border-radius: 4px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.ct-us .alt-cta-link::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #A3882B;
    z-index: -1;
    transition: height .2s cubic-bezier(0.0, 0, 0.2, 1);
    border-radius: 2px
}

.ct-us .alt-cta-link:hover {
    color: #fff
}

.ct-us .alt-cta-link:hover::before {
    height: 100%
}

.ct-us .alt-cta-link:focus {
    outline: 3px solid #C76336;
    outline-offset: 3px
}

.ct-us .metrics-side {
    flex: 0 0 340px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.ct-us .metric-card {
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 1px 3px 6px -2px #c7633612;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    position: relative;
    transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .metric-card:hover {
    box-shadow: 1px 4px 18px -2px #c7633617
}

.ct-us .metric-num {
    font-size: 56px;
    line-height: 1.1;
    color: #C76336;
    font-weight: 900;
    flex-shrink: 0
}

.ct-us .metric-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #3a2a12
}

.ct-us .metric-corner {
    position: absolute;
    top: 6px;
    right: 12px;
    font-size: 15px;
    line-height: 1.1;
    color: #D8D2CE;
    font-weight: 700
}

.ct-us .sec-curl {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 70px;
    height: 70px;
    opacity: .1;
    pointer-events: none
}

@media (max-width: 960px) {
    .ct-us .top-band-inner {
        flex-direction: column;
        gap: 24px
    }

    .ct-us .top-img-col {
        flex: none;
        width: 100%
    }

    .ct-us .top-img-wrap {
        width: 100%;
        height: 260px
    }

    .ct-us .top-heading {
        font-size: 56px
    }

    .ct-us .contact-grid {
        grid-template-columns: 1fr
    }

    .ct-us .alt-contact-inner {
        flex-direction: column
    }

    .ct-us .metrics-side {
        flex: none;
        width: 100%
    }
}

@media (max-width: 480px) {
    .ct-us .top-heading {
        font-size: 24px
    }

    .ct-us .top-band {
        padding: 36px 12px 24px
    }

    .ct-us .contact-grid-sec {
        padding: 36px 12px
    }

    .ct-us .form-col {
        padding: 24px 12px
    }

    .ct-us .services-grid {
        grid-template-columns: 1fr
    }

    .ct-us .alt-contact-sec {
        padding: 36px 12px
    }

    .ct-us .metric-num {
        font-size: 24px
    }
}

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

.srv_pg .pg_bound {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px
}

.srv_pg .strip_img {
    width: 100%;
    height: 120px;
    position: relative;
    overflow: hidden
}

.srv_pg .strip_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
    filter: saturate(0.4) sepia(0.5) hue-rotate(0deg) brightness(0.7) contrast(1.2);
    display: block
}

.srv_pg .strip_img .pattern_row {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 28px;
    display: flex;
    align-items: flex-end;
    gap: 6px;
    padding-left: 24px;
    overflow: hidden
}

.srv_pg .strip_img .pat_dot {
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: #c763368c;
    flex-shrink: 0;
    margin-bottom: 6px
}

.srv_pg .strip_img .pat_dot.alt {
    background: #a3882b73;
    width: 4px;
    height: 4px
}

.srv_pg .title_zone {
    background: #fff;
    padding-top: 36px;
    padding-bottom: 36px;
    text-align: center;
    position: relative
}

.srv_pg .title_zone .abbr_anchor {
    position: absolute;
    top: 12px;
    right: 36px;
    font-size: 70px;
    line-height: 1.1;
    font-weight: 900;
    color: #c763360f;
    letter-spacing: .08em;
    pointer-events: none;
    user-select: none;
    z-index: 0
}

.srv_pg .title_zone .tag_label {
    display: inline-block;
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #A3882B;
    border: 2px solid #A3882B;
    border-radius: 4px;
    padding: 6px 12px;
    margin-bottom: 24px;
    position: relative;
    z-index: 1
}

.srv_pg .title_zone .main_head {
    font-size: 56px;
    line-height: 1.1;
    color: #1e1a17;
    font-weight: 900;
    margin-bottom: 24px;
    position: relative;
    z-index: 1;
    text-align: center
}

.srv_pg .title_zone .main_head .line_accent {
    display: block;
    color: #C76336
}

.srv_pg .title_zone .sub_text {
    font-size: 19px;
    line-height: 1.6;
    color: #3a3028;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    position: relative;
    z-index: 1
}

.srv_pg .title_zone .pat_row_bottom {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 24px;
    position: relative;
    z-index: 1
}

.srv_pg .title_zone .pat_sq {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: #D8D2CE
}

.srv_pg .title_zone .pat_sq.hi {
    background: #C76336;
    width: 20px
}

.srv_pg .title_zone .pat_sq.mid {
    background: #A3882B
}

.srv_pg .offer_band {
    background: linear-gradient(287deg, #A3882B 0%, #D8D2CE 100%);
    padding-top: 72px;
    padding-bottom: 72px
}

.srv_pg .offer_band .band_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: start
}

.srv_pg .offer_band .band_left .sect_label {
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 12px;
    display: block
}

.srv_pg .offer_band .band_left .sect_head {
    font-size: 24px;
    line-height: 1.3;
    color: #fff;
    font-weight: 800;
    margin-bottom: 24px
}

.srv_pg .offer_band .band_left .sect_head span {
    display: block
}

.srv_pg .offer_band .band_left .desc_text {
    font-size: 15px;
    line-height: 1.9;
    color: #fff;
    margin-bottom: 36px
}

.srv_pg .offer_band .band_left .stat_row {
    display: flex;
    flex-direction: row;
    gap: 24px
}

.srv_pg .offer_band .band_left .stat_item {
    background: #ffffff2e;
    border-radius: 12px;
    padding: 12px 24px;
    text-align: center;
    border: 2px solid #ffffff59
}

.srv_pg .offer_band .band_left .stat_num {
    font-size: 24px;
    line-height: 1.1;
    font-weight: 900;
    color: #fff;
    display: block
}

.srv_pg .offer_band .band_left .stat_desc {
    font-size: 15px;
    line-height: 1.3;
    color: #ffffffe0;
    display: block;
    margin-top: 6px
}

.srv_pg .offer_band .band_right {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.srv_pg .offer_band .svc_card {
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 1px 4px 18px -2px #c7633617;
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: flex-start;
    transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.0, 0, 0.2, 1);
    position: relative
}

.srv_pg .offer_band .svc_card:hover {
    box-shadow: 1px 12px 44px -2px #c763361f;
    transform: translateY(-2px)
}

.srv_pg .offer_band .svc_card .card_ico {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(287deg, #C76336 0%, #A3882B 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.srv_pg .offer_band .svc_card .card_ico i {
    color: #fff;
    font-size: 22px
}

.srv_pg .offer_band .svc_card .card_body .card_name {
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    color: #1e1a17;
    margin-bottom: 6px
}

.srv_pg .offer_band .svc_card .card_body .card_note {
    font-size: 15px;
    line-height: 1.6;
    color: #4a3f35
}

.srv_pg .offer_band .svc_card .hover_label {
    position: absolute;
    top: -28px;
    right: 12px;
    background: #C76336;
    color: #fff;
    font-size: 15px;
    line-height: 1.3;
    padding: 6px 12px;
    border-radius: 4px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap
}

.srv_pg .offer_band .svc_card:hover .hover_label,
.srv_pg .offer_band .svc_card:focus-within .hover_label {
    opacity: 1
}

.srv_pg .process_sect {
    background: #f5f1ee;
    padding-top: 72px;
    padding-bottom: 72px
}

.srv_pg .process_sect .proc_head_row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 36px;
    margin-bottom: 36px
}

.srv_pg .process_sect .proc_head_row .ph_left {
    flex: 0 0 auto
}

.srv_pg .process_sect .proc_head_row .ph_label {
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: #A3882B;
    display: block;
    margin-bottom: 12px
}

.srv_pg .process_sect .proc_head_row .ph_title {
    font-size: 24px;
    line-height: 1.3;
    font-weight: 800;
    color: #1e1a17
}

.srv_pg .process_sect .proc_head_row .ph_title span {
    display: block
}

.srv_pg .process_sect .proc_head_row .ph_right {
    flex: 1;
    font-size: 15px;
    line-height: 1.9;
    color: #4a3f35;
    padding-bottom: 6px
}

.srv_pg .process_sect .checker_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: start
}

.srv_pg .process_sect .checker_grid .checker_img {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 1px 4px 18px -2px #a3882b17;
    position: relative
}

.srv_pg .process_sect .checker_grid .checker_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.srv_pg .process_sect .checker_grid .checker_img .img_badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: #C76336;
    color: #fff;
    font-size: 15px;
    line-height: 1.3;
    padding: 6px 12px;
    border-radius: 4px;
    font-weight: 700
}

.srv_pg .process_sect .steps_col {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.srv_pg .process_sect .step_item {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: flex-start;
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 1px 3px 6px -2px #c7633612;
    transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.srv_pg .process_sect .step_item:hover {
    box-shadow: 1px 4px 18px -2px #c7633617
}

.srv_pg .process_sect .step_num {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    background: #1e1a17;
    color: #fff;
    font-size: 15px;
    line-height: 1.1;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.srv_pg .process_sect .step_body .step_name {
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    color: #1e1a17;
    margin-bottom: 6px
}

.srv_pg .process_sect .step_body .step_desc {
    font-size: 15px;
    line-height: 1.6;
    color: #4a3f35
}

.srv_pg .detail_sect {
    background: #1e1a17;
    padding-top: 72px;
    padding-bottom: 72px;
    position: relative
}

.srv_pg .detail_sect .bg_overlay_img {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none
}

.srv_pg .detail_sect .bg_overlay_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .12;
    display: block
}

.srv_pg .detail_sect .det_inner {
    position: relative;
    z-index: 1
}

.srv_pg .detail_sect .det_top {
    text-align: center;
    margin-bottom: 36px
}

.srv_pg .detail_sect .det_top .det_label {
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: #A3882B;
    display: block;
    margin-bottom: 12px
}

.srv_pg .detail_sect .det_top .det_title {
    font-size: 24px;
    line-height: 1.3;
    font-weight: 800;
    color: #fff
}

.srv_pg .detail_sect .det_top .det_title span {
    display: block
}

.srv_pg .detail_sect .det_top .det_title .accent_line {
    color: #C76336
}

.srv_pg .detail_sect .pkg_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px
}

.srv_pg .detail_sect .pkg_card {
    background: #ffffff0d;
    border-radius: 12px;
    border: 2px solid #ffffff1f;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 1px 4px 18px -2px #c7633617;
    transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.0, 0, 0.2, 1);
    position: relative
}

.srv_pg .detail_sect .pkg_card:hover {
    border-color: #C76336;
    box-shadow: 1px 12px 44px -2px #c763361f
}

.srv_pg .detail_sect .pkg_card .pkg_ico {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    border: 2px solid #c7633680;
    display: flex;
    align-items: center;
    justify-content: center
}

.srv_pg .detail_sect .pkg_card .pkg_ico i {
    color: #C76336;
    font-size: 24px
}

.srv_pg .detail_sect .pkg_card .pkg_name {
    font-size: 19px;
    line-height: 1.3;
    font-weight: 800;
    color: #fff
}

.srv_pg .detail_sect .pkg_card .pkg_desc {
    font-size: 15px;
    line-height: 1.6;
    color: #c5bdb7
}

.srv_pg .detail_sect .pkg_card .pkg_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.srv_pg .detail_sect .pkg_card .pkg_list li {
    font-size: 15px;
    line-height: 1.6;
    color: #e0d8d2;
    display: flex;
    flex-direction: row;
    gap: 6px;
    align-items: flex-start
}

.srv_pg .detail_sect .pkg_card .pkg_list li .li_dot {
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: #A3882B;
    flex-shrink: 0;
    margin-top: 7px
}

.srv_pg .detail_sect .pkg_card .pkg_cta {
    display: inline-block;
    margin-top: 6px;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    color: #C76336;
    border: 2px solid #C76336;
    border-radius: 4px;
    padding: 12px 24px;
    text-align: center;
    text-decoration: none;
    background: transparent;
    position: relative;
    overflow: hidden;
    transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.srv_pg .detail_sect .pkg_card .pkg_cta::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0;
    background: #C76336;
    transition: height .22s cubic-bezier(0.0, 0, 0.2, 1);
    z-index: 0
}

.srv_pg .detail_sect .pkg_card .pkg_cta:hover::before {
    height: 100%
}

.srv_pg .detail_sect .pkg_card .pkg_cta:hover {
    color: #fff
}

.srv_pg .detail_sect .pkg_card .pkg_cta span {
    position: relative;
    z-index: 1
}

.srv_pg .detail_sect .pkg_card.featured {
    border-color: #C76336;
    background: #c7633614
}

.srv_pg .detail_sect .pkg_card.featured .feat_badge {
    position: absolute;
    top: -1px;
    right: 20px;
    background: #C76336;
    color: #fff;
    font-size: 15px;
    line-height: 1.3;
    padding: 6px 12px;
    border-radius: 0 0 4px 4px;
    font-weight: 700
}

.srv_pg .rating_strip {
    background: #fff;
    padding-top: 36px;
    padding-bottom: 36px;
    border-top: 2px solid #D8D2CE
}

.srv_pg .rating_strip .rate_inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 36px;
    flex-wrap: wrap
}

.srv_pg .rating_strip .rate_score {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px
}

.srv_pg .rating_strip .rate_num {
    font-size: 56px;
    line-height: 1.1;
    font-weight: 900;
    color: #C76336
}

.srv_pg .rating_strip .rate_stars {
    display: flex;
    flex-direction: row;
    gap: 6px
}

.srv_pg .rating_strip .rate_stars i {
    color: #A3882B;
    font-size: 19px
}

.srv_pg .rating_strip .rate_count {
    font-size: 15px;
    line-height: 1.3;
    color: #6b5e52
}

.srv_pg .rating_strip .rate_divider {
    width: 2px;
    height: 72px;
    background: #D8D2CE;
    border-radius: 2px;
    flex-shrink: 0
}

.srv_pg .rating_strip .rate_text {
    flex: 1;
    min-width: 200px
}

.srv_pg .rating_strip .rate_text .rt_head {
    font-size: 19px;
    line-height: 1.3;
    font-weight: 800;
    color: #1e1a17;
    margin-bottom: 6px
}

.srv_pg .rating_strip .rate_text .rt_body {
    font-size: 15px;
    line-height: 1.6;
    color: #4a3f35
}

.srv_pg .rating_strip .rate_link {
    display: inline-block;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    color: #1e1a17;
    border: 2px solid #1e1a17;
    border-radius: 4px;
    padding: 12px 24px;
    text-decoration: none;
    background: transparent;
    position: relative;
    overflow: hidden;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0
}

.srv_pg .rating_strip .rate_link::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0;
    background: #1e1a17;
    transition: height .18s cubic-bezier(0.0, 0, 0.2, 1);
    z-index: 0
}

.srv_pg .rating_strip .rate_link:hover::before {
    height: 100%
}

.srv_pg .rating_strip .rate_link:hover {
    color: #fff
}

.srv_pg .rating_strip .rate_link span {
    position: relative;
    z-index: 1
}

.srv_pg .fade_in {
    animation: srv_fadein .28s cubic-bezier(0.4, 0, 0.2, 1) both
}

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

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

.srv_pg .fade_in.d1 {
    animation-delay: .05s
}

.srv_pg .fade_in.d2 {
    animation-delay: .12s
}

.srv_pg .fade_in.d3 {
    animation-delay: .18s
}

.srv_pg .fade_in.d4 {
    animation-delay: .24s
}

@media (max-width: 960px) {
    .srv_pg .offer_band .band_grid {
        grid-template-columns: 1fr
    }

    .srv_pg .process_sect .checker_grid {
        grid-template-columns: 1fr
    }

    .srv_pg .process_sect .proc_head_row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }

    .srv_pg .detail_sect .pkg_grid {
        grid-template-columns: 1fr 1fr
    }

    .srv_pg .title_zone .main_head {
        font-size: 56px
    }

    .srv_pg .rating_strip .rate_inner {
        gap: 24px
    }
}

@media (max-width: 480px) {
    .srv_pg .title_zone .main_head {
        font-size: 24px
    }

    .srv_pg .detail_sect .pkg_grid {
        grid-template-columns: 1fr
    }

    .srv_pg .offer_band .band_left .stat_row {
        flex-direction: column;
        gap: 12px
    }

    .srv_pg .rating_strip .rate_divider {
        display: none
    }

    .srv_pg .strip_img {
        height: 72px
    }

    .srv_pg .title_zone .abbr_anchor {
        font-size: 56px;
        right: 12px
    }
}

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

.success_page .success_wrapper {
    max-width: 1100px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px
}

.success_page .success_card {
    background: #fff;
    border-top: 4px solid #C76336;
    border-radius: 12px;
    box-shadow: 1px 12px 44px -2px #c763361f;
    padding: 72px 36px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    text-align: center;
    max-width: 560px;
    width: 100%
}

.success_page .success_icon_wrap {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    background: linear-gradient(287deg, #A3882B, #D8D2CE);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 1px 4px 18px -2px #a3882b17
}

.success_page .success_icon_wrap svg {
    width: 36px;
    height: 36px;
    display: block
}

.success_page .success_heading {
    font-size: 56px;
    line-height: 1.1;
    color: #1e1410;
    margin: 0;
    letter-spacing: -.5px
}

.success_page .success_heading span {
    display: block;
    color: #C76336
}

.success_page .success_body {
    font-size: 19px;
    line-height: 1.6;
    color: #3a2e28;
    margin: 0;
    max-width: 420px
}

.success_page .success_divider {
    width: 48px;
    height: 4px;
    border-radius: 2px;
    background: linear-gradient(287deg, #A3882B, #D8D2CE)
}

.success_page .success_note {
    font-size: 15px;
    line-height: 1.6;
    color: #6a5a4e;
    margin: 0
}

.success_page .success_note strong {
    color: #A3882B;
    font-weight: 700
}

.success_page .btn_home {
    display: inline-block;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #C76336;
    background: transparent;
    border: 3px solid #C76336;
    border-radius: 4px;
    padding: 12px 36px;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.success_page .btn_home::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #C76336;
    transform: translateY(100%);
    transition: transform .25s cubic-bezier(0.0, 0, 0.2, 1);
    z-index: -1;
    border-radius: 2px
}

.success_page .btn_home:hover {
    color: #fff;
    border-color: #C76336
}

.success_page .btn_home:hover::before {
    transform: translateY(0)
}

.success_page .btn_home:focus {
    outline: 3px solid #A3882B;
    outline-offset: 3px
}

.success_page .btn_home:active {
    opacity: .88
}

.success_page .success_meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    background: #f5f2ef;
    border-radius: 12px;
    padding: 12px 24px;
    box-shadow: 1px 3px 6px -2px #c7633612
}

.success_page .success_meta_icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.success_page .success_meta_text {
    font-size: 15px;
    line-height: 1.3;
    color: #3a2e28;
    margin: 0
}

@media (max-width: 480px) {
    .success_page {
        padding: 36px 12px
    }

    .success_page .success_card {
        padding: 36px 24px;
        gap: 24px
    }

    .success_page .success_heading {
        font-size: 24px;
        line-height: 1.3
    }

    .success_page .success_body {
        font-size: 15px
    }

    .success_page .success_meta {
        flex-direction: column;
        text-align: center;
        gap: 6px
    }
}