@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:ital,wght@0,400;1,400;0,700;1,700&display=swap";

* {
    box-sizing: border-box
}

body {
    margin: 0;
    min-height: 100dvh;
    font-family: 'IBM Plex Serif', serif;
    font-size: 15px;
    line-height: 1.6;
    color: #1a1a1a;
    background-color: #fff;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%
}

.top_bar {
    background: linear-gradient(135deg, #F0F1EA 0%, #fff 100%);
    padding: 12px 24px;
    border-bottom: 1px solid #0059721f
}

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

.region_indicator {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    line-height: 1.4;
    color: #005972;
    font-weight: 700
}

.region_indicator svg {
    width: 16px;
    height: 16px;
    fill: #FF732B;
    flex-shrink: 0
}

.brand_row {
    background-color: #fff;
    padding: 24px;
    border-bottom: 2px solid #F0F1EA
}

.brand_row_inner {
    max-width: 1170px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px
}

.logo_container {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #005972;
    border-radius: 40px;
    padding: 6px;
    background-color: #fff;
    box-shadow: -1px 2px 6px 1px #0059720f
}

.logo_container img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.company_name {
    font-size: 26px;
    line-height: 1.15;
    font-weight: 700;
    color: #005972;
    letter-spacing: -.02em;
    text-align: center
}

.nav_row {
    background: linear-gradient(to bottom, #fff 0%, #F0F1EA 100%);
    padding: 6px 24px;
    box-shadow: -1px 2px 6px 1px #0059720f
}

.nav_row_inner {
    max-width: 1170px;
    margin: 0 auto
}

.primary_nav {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 24px;
    list-style: none;
    margin: 0;
    padding: 0
}

.primary_nav>li {
    position: relative;
    margin: 0;
    padding: 0
}

.primary_nav>li>a {
    display: block;
    padding: 12px 24px;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
    color: #005972;
    text-decoration: none;
    border-radius: 2px;
    transition: background-color .28s cubic-bezier(0.4, 0, 0.2, 1), color .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.primary_nav>li>a:hover {
    background-color: #FF732B;
    color: #fff
}

.primary_nav>li>a:focus {
    outline: none;
    border-bottom: 4px solid #FF732B
}

.dropdown_parent {
    position: relative
}

.dropdown_parent::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 0;
    right: 0;
    height: 12px;
    background: transparent;
    pointer-events: auto
}

.sub_nav {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 6px;
    min-width: 280px;
    background-color: #fff;
    border: 1px solid #0059721f;
    border-radius: 2px;
    box-shadow: -1px 5px 22px 1px #00597214;
    list-style: none;
    padding: 6px;
    margin-left: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    transition: opacity .32s ease-in-out, transform .32s ease-in-out, visibility .32s;
    z-index: 100
}

.dropdown_parent:hover .sub_nav,
.dropdown_parent:focus-within .sub_nav {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.sub_nav li {
    margin: 0;
    padding: 0
}

.sub_nav li a {
    display: block;
    padding: 12px 24px;
    font-size: 14px;
    line-height: 1.4;
    color: #005972;
    text-decoration: none;
    border-radius: 2px;
    transition: background-color .27s ease-in-out, color .27s ease-in-out
}

.sub_nav li a:hover {
    background-color: #F0F1EA;
    color: #FF732B
}

.sub_nav li a:focus {
    outline: none;
    border-bottom: 4px solid #FF732B
}

.site_footer {
    background: linear-gradient(135deg, #005972 0%, #003d4d 100%);
    color: #F0F1EA;
    padding: 52px 24px 24px
}

.footer_top {
    max-width: 1170px;
    margin: 0 auto 52px;
    padding-bottom: 52px;
    border-bottom: 1px solid #f0f1ea33
}

.footer_tagline {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin: 0;
    letter-spacing: -.01em
}

.footer_columns {
    max-width: 1170px;
    margin: 0 auto 52px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 52px
}

.footer_col h3 {
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
    color: #FF732B;
    margin: 0 0 24px;
    text-transform: uppercase;
    letter-spacing: .05em
}

.footer_col p {
    font-size: 14px;
    line-height: 1.6;
    color: #F0F1EA;
    margin: 0 0 12px
}

.footer_col ul {
    list-style: none;
    padding: 0;
    margin: 0
}

.footer_col ul li {
    margin: 0 0 12px;
    padding: 0
}

.footer_col ul li a {
    font-size: 14px;
    line-height: 1.6;
    color: #F0F1EA;
    text-decoration: none;
    transition: color .26s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-block
}

.footer_col ul li a:hover {
    color: #FF732B
}

.footer_col ul li a:focus {
    outline: none;
    border-bottom: 4px solid #FF732B
}

.contact_item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px
}

.contact_item svg {
    width: 18px;
    height: 18px;
    fill: #FF732B;
    flex-shrink: 0;
    margin-top: 2px
}

.contact_item a {
    font-size: 14px;
    line-height: 1.6;
    color: #F0F1EA;
    text-decoration: none;
    transition: color .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.contact_item a:hover {
    color: #FF732B
}

.contact_item a:focus {
    outline: none;
    border-bottom: 4px solid #FF732B
}

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

.footer_logo_box {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f0f1ea4d;
    border-radius: 40px;
    padding: 6px;
    background-color: #ffffff0d
}

.footer_logo_box img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.copyright_text {
    font-size: 14px;
    line-height: 1.4;
    color: #f0f1eab3;
    margin: 0
}

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

.footer_legal_links li {
    margin: 0;
    padding: 0
}

.footer_legal_links li a {
    font-size: 14px;
    line-height: 1.4;
    color: #f0f1eacc;
    text-decoration: none;
    transition: color .29s ease-in-out
}

.footer_legal_links li a:hover {
    color: #FF732B
}

.footer_legal_links li a:focus {
    outline: none;
    border-bottom: 4px solid #FF732B
}

.consent_bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to right, #005972 0%, #003d4d 100%);
    color: #F0F1EA;
    padding: 24px;
    box-shadow: -1px 5px 22px 1px #00597221;
    z-index: 8000;
    display: none;
    opacity: 0;
    transition: opacity .26s ease-in-out
}

.consent_bar.visible_state {
    opacity: 1
}

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

.consent_text_box {
    flex: 1 1 400px
}

.consent_intro {
    font-size: 14px;
    line-height: 1.6;
    color: #F0F1EA;
    margin: 0 0 12px
}

.consent_list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #f0f1ead9
}

.consent_list li {
    margin: 0 0 6px;
    padding-left: 20px;
    position: relative
}

.consent_list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    background-color: #FF732B;
    border-radius: 40px
}

.consent_actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.consent_btn {
    padding: 12px 24px;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
    font-family: 'IBM Plex Serif', serif;
    border-radius: 2px;
    cursor: pointer;
    transition: background-color .3s cubic-bezier(0.4, 0, 0.2, 1), color .3s cubic-bezier(0.4, 0, 0.2, 1), border-color .3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent
}

.accept_all_btn {
    background-color: #FF732B;
    color: #fff;
    border-color: #FF732B
}

.accept_all_btn:hover {
    background-color: #e65a1a;
    border-color: #e65a1a;
    box-shadow: 0 0 0 4px #ff732b33
}

.accept_all_btn:focus {
    outline: none;
    border-bottom: 4px solid #fff
}

.decline_all_btn {
    background-color: transparent;
    color: #F0F1EA;
    border-color: #F0F1EA
}

.decline_all_btn:hover {
    background-color: #f0f1ea1a;
    border-color: #FF732B;
    color: #FF732B;
    box-shadow: 0 0 0 4px #ff732b26
}

.decline_all_btn:focus {
    outline: none;
    border-bottom: 4px solid #FF732B
}

@media (max-width: 1024px) {
    .top_bar_inner {
        justify-content: center
    }

    .footer_columns {
        grid-template-columns: 1fr;
        gap: 52px
    }

    .footer_bottom {
        flex-direction: column;
        text-align: center
    }

    .consent_bar_inner {
        flex-direction: column;
        align-items: stretch
    }

    .consent_actions {
        justify-content: center
    }
}

@media (max-width: 640px) {
    .top_bar {
        padding: 12px
    }

    .brand_row {
        padding: 24px 12px
    }

    .nav_row {
        padding: 6px 12px
    }

    .company_name {
        font-size: 20px
    }

    .primary_nav {
        gap: 6px 12px
    }

    .primary_nav>li>a {
        padding: 12px;
        font-size: 14px
    }

    .sub_nav {
        min-width: 240px;
        left: 50%;
        transform: translateX(-50%) translateY(-12px)
    }

    .dropdown_parent:hover .sub_nav,
    .dropdown_parent:focus-within .sub_nav {
        transform: translateX(-50%) translateY(0)
    }

    .site_footer {
        padding: 52px 12px 24px
    }

    .footer_tagline {
        font-size: 15px
    }

    .consent_bar {
        padding: 12px
    }

    .consent_actions {
        flex-direction: column
    }

    .consent_btn {
        width: 100%
    }
}

.rules-content {
    max-width: 1170px;
    margin: 0 auto;
    padding: 52px 24px;
    background: #fff
}

.rules-content p {
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 24px;
    color: #2a2a2a
}

.rules-content p:last-child {
    margin-bottom: 0
}

.rules-content ul,
.rules-content ol {
    margin: 0 0 24px;
    padding-left: 24px;
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a2a
}

.rules-content ul ul,
.rules-content ul ol,
.rules-content ol ul,
.rules-content ol ol {
    margin: 12px 0 0
}

.rules-content li {
    margin: 0 0 12px;
    padding-left: 6px
}

.rules-content li:last-child {
    margin-bottom: 0
}

.rules-content em,
.rules-content i {
    font-style: italic;
    color: #005972
}

.rules-content a {
    color: #FF732B;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color .28s ease-in-out
}

.rules-content a:hover {
    border-bottom-color: #FF732B
}

.rules-content a:focus {
    outline: 2px solid #FF732B;
    outline-offset: 2px;
    border-radius: 2px
}

.rules-content hr {
    border: none;
    height: 1px;
    background: #e8e8e8;
    margin: 52px 0
}

.rules-content div {
    margin: 0 0 24px
}

@media (max-width: 640px) {
    .rules-content {
        padding: 24px 12px
    }

    .rules-content p,
    .rules-content ul,
    .rules-content ol {
        font-size: 14px
    }

    .rules-content hr {
        margin: 24px 0
    }
}

.case_study_dtl {
    background: #fff;
    color: #1a1a1a;
    max-width: 1170px;
    margin: 0 auto;
    padding: 0
}

.case_study_dtl .article_hdr {
    padding: 52px 24px;
    background: linear-gradient(112deg, #FF732B 0%, #ff732b00 100%);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 52px
}

.case_study_dtl .article_hdr::before {
    content: '';
    position: absolute;
    top: -40%;
    left: 10%;
    width: 280px;
    height: 280px;
    background: #0059721f;
    border-radius: 40px;
    filter: blur(60px);
    pointer-events: none
}

.case_study_dtl .article_hdr::after {
    content: '';
    position: absolute;
    bottom: -30%;
    right: 15%;
    width: 320px;
    height: 320px;
    background: #f0f1ea2e;
    border-radius: 40px;
    filter: blur(70px);
    pointer-events: none
}

.case_study_dtl .txt_zone {
    flex: 1;
    z-index: 2;
    position: relative
}

.case_study_dtl .article_hdr h1 {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0 0 12px;
    color: #fff
}

.case_study_dtl .sub_desc {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #ffffffeb;
    margin: 0 0 24px
}

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

.case_study_dtl .meta_item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    line-height: 1.4;
    color: #ffffffe0;
    letter-spacing: .02em
}

.case_study_dtl .meta_icon {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.case_study_dtl .tag_badge {
    display: inline-block;
    padding: 6px 12px;
    background: #ffffff38;
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .03em;
    border-radius: 2px;
    text-transform: uppercase;
    font-weight: 500
}

.case_study_dtl .img_card {
    width: 340px;
    flex-shrink: 0;
    position: relative;
    z-index: 2
}

.case_study_dtl .img_card img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 2px;
    display: block;
    box-shadow: -1px 8px 36px 1px #00597221;
    filter: blur(0px);
    position: relative
}

.case_study_dtl .img_card::before {
    content: '';
    position: absolute;
    inset: -8px;
    background: inherit;
    filter: blur(12px);
    opacity: .3;
    z-index: -1;
    pointer-events: none
}

.case_study_dtl .dot_frame {
    position: absolute;
    top: -12px;
    right: -12px;
    width: 120px;
    height: 120px;
    pointer-events: none;
    z-index: 3
}

.case_study_dtl .dot_frame span {
    position: absolute;
    background: #f0f1ea99;
    border-radius: 50%
}

.case_study_dtl .dot_frame span:nth-child(1) {
    width: 4px;
    height: 4px;
    top: 0;
    right: 0
}

.case_study_dtl .dot_frame span:nth-child(2) {
    width: 7px;
    height: 7px;
    top: 18px;
    right: 12px
}

.case_study_dtl .dot_frame span:nth-child(3) {
    width: 5px;
    height: 5px;
    top: 40px;
    right: 6px
}

.case_study_dtl .dot_frame span:nth-child(4) {
    width: 6px;
    height: 6px;
    top: 8px;
    right: 28px
}

.case_study_dtl .dot_frame span:nth-child(5) {
    width: 3px;
    height: 3px;
    top: 32px;
    right: 24px
}

.case_study_dtl .article_body {
    padding: 96px 24px;
    background: #fff
}

.case_study_dtl .content_wrap {
    max-width: 820px;
    margin: 0 auto
}

.case_study_dtl .content_wrap p {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    margin: 0 0 24px;
    color: #2a2a2a
}

.case_study_dtl .content_wrap h2 {
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: -.01em;
    margin: 52px 0 24px;
    color: #005972;
    font-weight: 600
}

.case_study_dtl .content_wrap h3 {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0;
    margin: 24px 0 12px;
    color: #005972;
    font-weight: 600
}

.case_study_dtl .content_wrap ul {
    margin: 0 0 24px;
    padding: 0;
    list-style: none
}

.case_study_dtl .content_wrap li {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    margin: 0 0 12px;
    padding-left: 24px;
    position: relative;
    color: #2a2a2a;
    border-left: 2px solid #FF732B;
    padding-left: 18px
}

.case_study_dtl .content_wrap blockquote {
    margin: 24px 0;
    padding: 24px;
    background: #F0F1EA;
    border-left: 4px solid #FF732B;
    border-radius: 2px;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #2a2a2a;
    font-style: italic
}

.case_study_dtl .content_wrap ins {
    text-decoration: none;
    background: #ff732b26;
    padding: 2px 4px;
    border-radius: 2px;
    color: #005972;
    font-weight: 500
}

.case_study_dtl .content_wrap abbr {
    text-decoration: none;
    border-bottom: 1px dotted #FF732B;
    cursor: help
}

.case_study_dtl .content_wrap details {
    margin: 24px 0;
    padding: 24px;
    background: #F0F1EA;
    border-radius: 2px;
    border: 1px solid #0059721f
}

.case_study_dtl .content_wrap summary {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #005972;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 12px
}

.case_study_dtl .content_wrap details[open] summary {
    margin-bottom: 12px
}

.case_study_dtl .pros_cons_grid {
    padding: 52px 24px;
    background: linear-gradient(90deg, #F0F1EA 0%, #fff 100%);
    position: relative;
    overflow: hidden
}

.case_study_dtl .pros_cons_grid::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, #FF732B 0%, transparent 100%)
}

.case_study_dtl .comparison_wrap {
    max-width: 1170px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 52px
}

.case_study_dtl .col_pros,
.case_study_dtl .col_cons {
    background: #fff;
    padding: 24px;
    border-radius: 2px;
    box-shadow: -1px 5px 22px 1px #00597214;
    position: relative
}

.case_study_dtl .col_pros::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #005972;
    border-radius: 2px 0 0 2px
}

.case_study_dtl .col_cons::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #FF732B;
    border-radius: 2px 0 0 2px
}

.case_study_dtl .col_head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px
}

.case_study_dtl .col_icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 40px;
    flex-shrink: 0
}

.case_study_dtl .col_pros .col_icon {
    background: #0059721f
}

.case_study_dtl .col_cons .col_icon {
    background: #ff732b1f
}

.case_study_dtl .icon_svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.case_study_dtl .col_pros .icon_svg {
    stroke: #005972
}

.case_study_dtl .col_cons .icon_svg {
    stroke: #FF732B
}

.case_study_dtl .col_head h3 {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: .02em;
    margin: 0;
    color: #1a1a1a;
    font-weight: 600;
    text-transform: uppercase
}

.case_study_dtl .comp_list {
    list-style: none;
    margin: 0;
    padding: 0
}

.case_study_dtl .comp_list li {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    margin: 0 0 12px;
    padding-left: 24px;
    position: relative;
    color: #2a2a2a
}

.case_study_dtl .comp_list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%
}

.case_study_dtl .col_pros .comp_list li::before {
    background: #005972
}

.case_study_dtl .col_cons .comp_list li::before {
    background: #FF732B
}

.case_study_dtl .animated_icons {
    display: flex;
    gap: 24px;
    justify-content: center;
    margin-top: 52px
}

.case_study_dtl .anim_icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 40px;
    box-shadow: -1px 2px 6px 1px #0059720f;
    animation: icon_rotate .8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    opacity: 0
}

.case_study_dtl .anim_icon:nth-child(1) {
    animation-delay: .1s
}

.case_study_dtl .anim_icon:nth-child(2) {
    animation-delay: .25s
}

.case_study_dtl .anim_icon:nth-child(3) {
    animation-delay: .4s
}

.case_study_dtl .anim_icon:nth-child(4) {
    animation-delay: .55s
}

@keyframes icon_rotate {
    0% {
        opacity: 0;
        transform: rotate(-180deg) scale(0.6)
    }

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

.case_study_dtl .anim_icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: #FF732B;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.case_study_dtl .print_action {
    padding: 52px 24px;
    background: #fff;
    text-align: center
}

.case_study_dtl .print_btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 12px 24px;
    background: #FF732B;
    color: #fff;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .02em;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    box-shadow: -1px 5px 22px 1px #ff732b14;
    transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), transform .28s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 500
}

.case_study_dtl .print_btn:hover {
    box-shadow: -1px 8px 36px 1px #ff732b21 0 0 0 3px #ff732b26;
    transform: translateY(-2px)
}

.case_study_dtl .print_btn:active {
    transform: translateY(0);
    box-shadow: -1px 2px 6px 1px #ff732b0f
}

.case_study_dtl .print_btn svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

@media (max-width: 1024px) {
    .case_study_dtl .article_hdr {
        padding: 52px 24px;
        gap: 24px
    }

    .case_study_dtl .img_card {
        width: 280px
    }

    .case_study_dtl .article_hdr h1 {
        font-size: 26px
    }

    .case_study_dtl .sub_desc {
        font-size: 15px
    }

    .case_study_dtl .comparison_wrap {
        gap: 24px
    }

    .case_study_dtl .article_body {
        padding: 52px 24px
    }

    .case_study_dtl .pros_cons_grid {
        padding: 52px 24px
    }
}

@media (max-width: 640px) {
    .case_study_dtl .article_hdr {
        flex-direction: column;
        padding: 24px 12px;
        gap: 24px
    }

    .case_study_dtl .img_card {
        width: 100%
    }

    .case_study_dtl .article_hdr h1 {
        font-size: 26px
    }

    .case_study_dtl .sub_desc {
        font-size: 15px
    }

    .case_study_dtl .meta_row {
        gap: 12px
    }

    .case_study_dtl .comparison_wrap {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .case_study_dtl .article_body {
        padding: 24px 12px
    }

    .case_study_dtl .pros_cons_grid {
        padding: 24px 12px
    }

    .case_study_dtl .content_wrap h2 {
        font-size: 20px;
        margin: 24px 0 12px
    }

    .case_study_dtl .animated_icons {
        gap: 12px;
        margin-top: 24px
    }

    .case_study_dtl .anim_icon {
        width: 40px;
        height: 40px
    }

    .case_study_dtl .anim_icon svg {
        width: 20px;
        height: 20px
    }

    .case_study_dtl .print_action {
        padding: 24px 12px
    }
}

@media print {
    .case_study_dtl {
        background: #fff;
        max-width: 100%
    }

    .case_study_dtl .article_hdr {
        background: none;
        padding: 12px 0;
        page-break-after: avoid
    }

    .case_study_dtl .article_hdr::before,
    .case_study_dtl .article_hdr::after {
        display: none
    }

    .case_study_dtl .article_hdr h1 {
        color: #1a1a1a;
        font-size: 26px
    }

    .case_study_dtl .sub_desc {
        color: #2a2a2a;
        font-size: 14px
    }

    .case_study_dtl .meta_item {
        color: #2a2a2a
    }

    .case_study_dtl .tag_badge {
        background: #F0F1EA;
        color: #1a1a1a
    }

    .case_study_dtl .img_card {
        display: none
    }

    .case_study_dtl .dot_frame {
        display: none
    }

    .case_study_dtl .article_body {
        padding: 12px 0
    }

    .case_study_dtl .content_wrap p,
    .case_study_dtl .content_wrap li {
        font-size: 12px;
        line-height: 1.6;
        page-break-inside: avoid
    }

    .case_study_dtl .content_wrap h2 {
        font-size: 20px;
        page-break-after: avoid;
        margin-top: 24px
    }

    .case_study_dtl .content_wrap h3 {
        font-size: 15px;
        page-break-after: avoid
    }

    .case_study_dtl .content_wrap blockquote {
        background: none;
        border-left: 2px solid #1a1a1a;
        padding: 6px 12px;
        page-break-inside: avoid
    }

    .case_study_dtl .pros_cons_grid {
        background: none;
        padding: 12px 0;
        page-break-inside: avoid
    }

    .case_study_dtl .pros_cons_grid::before {
        display: none
    }

    .case_study_dtl .comparison_wrap {
        gap: 24px
    }

    .case_study_dtl .col_pros,
    .case_study_dtl .col_cons {
        box-shadow: none;
        border: 1px solid #e0e0e0;
        page-break-inside: avoid
    }

    .case_study_dtl .animated_icons {
        display: none
    }

    .case_study_dtl .print_action {
        display: none
    }

    .case_study_dtl .col_head h3 {
        font-size: 15px
    }

    .case_study_dtl .comp_list li {
        font-size: 12px
    }
}

.stats_archive {
    background: #fff;
    color: #1d1d1d;
    max-width: 100%;
    overflow-x: clip
}

.stats_archive * {
    box-sizing: border-box
}

.stats_archive .stats_intro {
    position: relative;
    padding: 96px 24px 52px;
    background: linear-gradient(162deg, #FF732B 0%, #ff732b00 100%);
    overflow: hidden
}

.stats_archive .intro_limiter {
    max-width: 1170px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 52px
}

.stats_archive .intro_visual {
    position: relative;
    width: 100%;
    max-width: 720px
}

.stats_archive .intro_img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 2px;
    filter: blur(0px);
    box-shadow: -1px 8px 36px 1px #00597221;
    animation: flip_reveal .8s cubic-bezier(0.4, 0, 0.2, 1) backwards
}

@keyframes flip_reveal {
    0% {
        transform: perspective(800px) rotateY(-90deg);
        opacity: 0
    }

    100% {
        transform: perspective(800px) rotateY(0deg);
        opacity: 1
    }
}

.stats_archive .intro_shapes {
    position: absolute;
    top: -24px;
    right: -24px;
    width: 120px;
    height: 120px;
    pointer-events: none
}

.stats_archive .shape_circle {
    position: absolute;
    width: 52px;
    height: 52px;
    border: 2px solid #005972;
    border-radius: 40px;
    top: 0;
    right: 0;
    animation: float_shape 3s ease-in-out infinite
}

@keyframes float_shape {

    0%,
    100% {
        transform: translate(0, 0)
    }

    50% {
        transform: translate(-12px, 12px)
    }
}

.stats_archive .shape_triangle {
    position: absolute;
    width: 0;
    height: 0;
    border-left: 24px solid transparent;
    border-right: 24px solid transparent;
    border-bottom: 42px solid #f0f1eacc;
    bottom: 12px;
    left: 24px;
    animation: float_shape_alt 3.5s ease-in-out infinite
}

@keyframes float_shape_alt {

    0%,
    100% {
        transform: translate(0, 0) rotate(0deg)
    }

    50% {
        transform: translate(12px, -12px) rotate(15deg)
    }
}

.stats_archive .intro_text {
    text-align: center;
    max-width: 680px
}

.stats_archive .intro_headline {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0 0 24px;
    color: #1d1d1d
}

.stats_archive .intro_desc {
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: .01em;
    margin: 0 0 52px;
    color: #2d2d2d
}

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

.stats_archive .intro_link {
    display: inline-block;
    padding: 12px 24px;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .02em;
    text-decoration: none;
    border-radius: 2px;
    transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.stats_archive .intro_link.primary {
    background: #005972;
    color: #fff;
    box-shadow: -1px 2px 6px 1px #0059720f
}

.stats_archive .intro_link.primary:hover {
    transform: translateY(-2px);
    box-shadow: -1px 5px 22px 1px #00597214
}

.stats_archive .intro_link.secondary {
    background: transparent;
    color: #005972;
    border: 2px solid #005972;
    box-shadow: none
}

.stats_archive .intro_link.secondary:hover {
    box-shadow: 0 0 0 4px #00597226
}

.stats_archive .metric_grid {
    padding: 96px 24px;
    background: #F0F1EA
}

.stats_archive .metric_limiter {
    max-width: 1170px;
    margin: 0 auto
}

.stats_archive .metric_header {
    text-align: center;
    margin-bottom: 52px;
    animation: slide_up .6s cubic-bezier(0.4, 0, 0.2, 1) backwards;
    animation-delay: .2s
}

@keyframes slide_up {
    0% {
        transform: translateY(40px);
        opacity: 0
    }

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

.stats_archive .metric_title {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0 0 12px;
    color: #1d1d1d
}

.stats_archive .metric_subtitle {
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: .01em;
    margin: 0;
    color: #3d3d3d
}

.stats_archive .metric_cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px
}

.stats_archive .metric_card {
    background: #fff;
    padding: 24px;
    border-radius: 2px;
    box-shadow: -1px 2px 6px 1px #ff732b0f;
    transition: box-shadow .32s ease-in-out, transform .32s ease-in-out;
    animation: slide_up .6s cubic-bezier(0.4, 0, 0.2, 1) backwards
}

.stats_archive .metric_card:nth-child(1) {
    animation-delay: .3s
}

.stats_archive .metric_card:nth-child(2) {
    animation-delay: .4s
}

.stats_archive .metric_card:nth-child(3) {
    animation-delay: .5s
}

.stats_archive .metric_card:nth-child(4) {
    animation-delay: .6s
}

.stats_archive .metric_card:nth-child(5) {
    animation-delay: .7s
}

.stats_archive .metric_card:nth-child(6) {
    animation-delay: .8s
}

.stats_archive .metric_card:hover {
    box-shadow: -1px 8px 36px 1px #ff732b21;
    transform: translateY(-6px)
}

.stats_archive .card_num {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.03em;
    margin: 0 0 6px;
    color: #FF732B;
    font-weight: 700
}

.stats_archive .card_label {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .02em;
    margin: 0;
    color: #4d4d4d;
    text-transform: uppercase;
    font-weight: 600
}

.stats_archive .analysis_block {
    padding: 96px 24px;
    background: #fff;
    position: relative
}

.stats_archive .analysis_limiter {
    max-width: 1170px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 52px;
    align-items: start
}

.stats_archive .analysis_text_zone {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.stats_archive .analysis_heading {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0;
    color: #1d1d1d
}

.stats_archive .analysis_para {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    margin: 0;
    color: #2d2d2d
}

.stats_archive .analysis_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.stats_archive .analysis_item {
    padding-left: 24px;
    border-left: 3px solid #FF732B;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #2d2d2d
}

.stats_archive .analysis_visual_zone {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.stats_archive .analysis_img_wrap {
    position: relative;
    overflow: hidden;
    border-radius: 2px;
    box-shadow: -1px 5px 22px 1px #00597214
}

.stats_archive .analysis_img {
    width: 100%;
    height: auto;
    display: block;
    transition: border .35s ease-in-out;
    border: 0 solid transparent
}

.stats_archive .analysis_img_wrap:hover .analysis_img {
    border: 6px solid #005972
}

.stats_archive .analysis_status_bar {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #F0F1EA;
    padding: 24px;
    border-radius: 2px
}

.stats_archive .status_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px
}

.stats_archive .status_label {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .02em;
    color: #4d4d4d;
    min-width: 120px
}

.stats_archive .status_bar_track {
    flex: 1;
    height: 12px;
    background: #fff;
    border-radius: 40px;
    overflow: hidden;
    position: relative
}

.stats_archive .status_bar_fill {
    height: 100%;
    border-radius: 40px;
    transition: width .6s cubic-bezier(0.4, 0, 0.2, 1)
}

.stats_archive .status_bar_fill.high {
    background: #FF732B
}

.stats_archive .status_bar_fill.medium {
    background: #005972
}

.stats_archive .status_bar_fill.low {
    background: #F0F1EA;
    border: 2px solid #005972
}

.stats_archive .status_val {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .02em;
    color: #1d1d1d;
    font-weight: 600;
    min-width: 52px;
    text-align: right
}

.stats_archive .path_section {
    padding: 96px 24px;
    background: url(./feature_images/slideshow-menu-panel.jpg) center/cover no-repeat;
    position: relative
}

.stats_archive .path_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #005972e0;
    pointer-events: none
}

.stats_archive .path_limiter {
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.stats_archive .path_header {
    text-align: center;
    margin-bottom: 52px
}

.stats_archive .path_headline {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0 0 12px;
    color: #fff
}

.stats_archive .path_subline {
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: .01em;
    margin: 0;
    color: #F0F1EA
}

.stats_archive .path_flow {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.stats_archive .path_step {
    background: #f0f1eaf2;
    padding: 24px;
    border-radius: 2px;
    position: relative;
    box-shadow: -1px 5px 22px 1px #ff732b14;
    transition: box-shadow .3s ease-in-out;
    border: 0 solid transparent;
    animation: border_draw 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-play-state: paused
}

.stats_archive .path_step:hover {
    animation-play-state: running;
    box-shadow: -1px 8px 36px 1px #ff732b21
}

@keyframes border_draw {
    0% {
        border-top: 3px solid #FF732B;
        border-right: 0 solid transparent;
        border-bottom: 0 solid transparent;
        border-left: 0 solid transparent
    }

    25% {
        border-top: 3px solid #FF732B;
        border-right: 3px solid #FF732B;
        border-bottom: 0 solid transparent;
        border-left: 0 solid transparent
    }

    50% {
        border-top: 3px solid #FF732B;
        border-right: 3px solid #FF732B;
        border-bottom: 3px solid #FF732B;
        border-left: 0 solid transparent
    }

    100% {
        border-top: 3px solid #FF732B;
        border-right: 3px solid #FF732B;
        border-bottom: 3px solid #FF732B;
        border-left: 3px solid #FF732B
    }
}

.stats_archive .step_num {
    font-size: 26px;
    line-height: 1.15;
    letter-spacing: -.01em;
    margin: 0 0 6px;
    color: #FF732B;
    font-weight: 700
}

.stats_archive .step_title {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0;
    margin: 0 0 12px;
    color: #1d1d1d;
    font-weight: 600
}

.stats_archive .step_desc {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    margin: 0;
    color: #2d2d2d
}

.stats_archive .path_dashed_line {
    position: absolute;
    top: 0;
    left: 52px;
    width: 2px;
    height: 100%;
    pointer-events: none
}

.stats_archive .dashed_svg {
    width: 100%;
    height: 100%
}

.stats_archive .dashed_path {
    stroke: #FF732B;
    stroke-width: 2;
    stroke-dasharray: 8 6;
    fill: none;
    opacity: .4
}

.stats_archive .divider_band {
    height: 12px;
    background: linear-gradient(90deg, #FF732B 0%, #005972 100%);
    margin: 0;
    padding: 0
}

@media (max-width: 1024px) {
    .stats_archive .stats_intro {
        padding: 52px 24px
    }

    .stats_archive .intro_limiter {
        gap: 24px
    }

    .stats_archive .intro_headline {
        font-size: 26px
    }

    .stats_archive .intro_desc {
        font-size: 15px;
        margin-bottom: 24px
    }

    .stats_archive .metric_grid {
        padding: 52px 24px
    }

    .stats_archive .metric_header {
        margin-bottom: 24px
    }

    .stats_archive .metric_title {
        font-size: 26px
    }

    .stats_archive .metric_subtitle {
        font-size: 15px
    }

    .stats_archive .metric_cards {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .stats_archive .analysis_block {
        padding: 52px 24px
    }

    .stats_archive .analysis_limiter {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .stats_archive .analysis_heading {
        font-size: 26px
    }

    .stats_archive .path_section {
        padding: 52px 24px
    }

    .stats_archive .path_header {
        margin-bottom: 24px
    }

    .stats_archive .path_headline {
        font-size: 26px
    }

    .stats_archive .path_subline {
        font-size: 15px
    }

    .stats_archive .step_title {
        font-size: 15px
    }
}

@media (max-width: 640px) {
    .stats_archive .stats_intro {
        padding: 24px 12px
    }

    .stats_archive .intro_limiter {
        gap: 12px
    }

    .stats_archive .intro_headline {
        font-size: 20px
    }

    .stats_archive .intro_desc {
        font-size: 14px;
        margin-bottom: 12px
    }

    .stats_archive .intro_actions {
        flex-direction: column;
        gap: 12px
    }

    .stats_archive .intro_link {
        padding: 12px 24px;
        width: 100%;
        text-align: center
    }

    .stats_archive .metric_grid {
        padding: 24px 12px
    }

    .stats_archive .metric_header {
        margin-bottom: 12px
    }

    .stats_archive .metric_title {
        font-size: 20px
    }

    .stats_archive .metric_subtitle {
        font-size: 14px
    }

    .stats_archive .metric_cards {
        gap: 6px
    }

    .stats_archive .card_num {
        font-size: 26px
    }

    .stats_archive .card_label {
        font-size: 14px
    }

    .stats_archive .analysis_block {
        padding: 24px 12px
    }

    .stats_archive .analysis_limiter {
        gap: 12px
    }

    .stats_archive .analysis_heading {
        font-size: 20px
    }

    .stats_archive .analysis_para {
        font-size: 14px
    }

    .stats_archive .analysis_list {
        gap: 6px
    }

    .stats_archive .analysis_item {
        font-size: 14px;
        padding-left: 12px
    }

    .stats_archive .analysis_visual_zone {
        gap: 12px
    }

    .stats_archive .analysis_status_bar {
        padding: 12px;
        gap: 6px
    }

    .stats_archive .status_label {
        min-width: 80px;
        font-size: 14px
    }

    .stats_archive .status_val {
        min-width: 40px;
        font-size: 14px
    }

    .stats_archive .path_section {
        padding: 24px 12px
    }

    .stats_archive .path_header {
        margin-bottom: 12px
    }

    .stats_archive .path_headline {
        font-size: 20px
    }

    .stats_archive .path_subline {
        font-size: 14px
    }

    .stats_archive .path_flow {
        gap: 12px
    }

    .stats_archive .path_step {
        padding: 12px
    }

    .stats_archive .step_num {
        font-size: 20px
    }

    .stats_archive .step_title {
        font-size: 14px
    }

    .stats_archive .step_desc {
        font-size: 14px
    }
}

.front_pg {
    max-width: 1170px;
    margin: 0 auto;
    background: #fff
}

.front_pg .title_strip {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 12px 24px;
    background: #F0F1EA;
    position: relative;
    overflow: hidden
}

.front_pg .title_strip::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle, #00597214 1px, transparent 1px);
    background-size: 12px 12px;
    pointer-events: none;
    z-index: 1
}

.front_pg .title_img_col {
    flex: 0 0 280px;
    position: relative;
    z-index: 2
}

.front_pg .title_img_col img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 2px;
    filter: saturate(0.4) brightness(1.1);
    box-shadow: -1px 2px 6px 1px #0059720f
}

.front_pg .title_txt_zone {
    flex: 1;
    position: relative;
    z-index: 2
}

.front_pg .title_txt_zone h1 {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #005972;
    margin: 0 0 12px
}

.front_pg .title_txt_zone ul {
    list-style: none;
    padding: 0;
    margin: 0
}

.front_pg .title_txt_zone li {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    padding: 6px 0 6px 24px;
    position: relative;
    border-left: 2px solid #FF732B;
    margin-bottom: 6px
}

.front_pg .title_txt_zone li::before {
    content: '';
    position: absolute;
    left: -2px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background: #FF732B;
    border-radius: 40px
}

.front_pg .support_grid {
    padding: 96px 24px;
    background: linear-gradient(142deg, #F0F1EA 0%, #f0f1ea00 100%)
}

.front_pg .support_grid h2 {
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #005972;
    margin: 0 0 52px;
    text-transform: uppercase;
    font-weight: 300;
    letter-spacing: .08em
}

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

.front_pg .support_card {
    background: #fff;
    padding: 24px;
    border-radius: 2px;
    box-shadow: -1px 5px 22px 1px #00597214;
    transition: transform .32s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.front_pg .support_card:hover {
    transform: translateY(-3px);
    box-shadow: -1px 8px 36px 1px #00597221
}

.front_pg .support_card h3 {
    font-size: 20px;
    line-height: 1.4;
    color: #FF732B;
    margin: 0 0 12px
}

.front_pg .support_card p {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    margin: 0
}

.front_pg .approach_split {
    display: flex;
    gap: 52px;
    padding: 96px 24px;
    background: #fff;
    align-items: flex-start
}

.front_pg .approach_main {
    flex: 1
}

.front_pg .approach_main h2 {
    font-size: 26px;
    line-height: 1.4;
    color: #005972;
    margin: 0 0 24px
}

.front_pg .approach_main p {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    margin: 0 0 24px
}

.front_pg .approach_main p:last-child {
    margin-bottom: 0
}

.front_pg .approach_side {
    flex: 0 0 340px;
    background: #F0F1EA;
    padding: 24px;
    border-radius: 2px;
    position: relative;
    overflow: hidden
}

.front_pg .approach_side::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(217deg, #ff732b0f 0%, transparent 100%);
    pointer-events: none
}

.front_pg .approach_side h3 {
    font-size: 20px;
    line-height: 1.4;
    color: #005972;
    margin: 0 0 12px;
    position: relative;
    z-index: 1
}

.front_pg .approach_side ul {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
    z-index: 1
}

.front_pg .approach_side li {
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    padding: 6px 0 6px 18px;
    border-left: 2px solid #FF732B;
    margin-bottom: 6px
}

.front_pg .reputation_bg {
    position: relative;
    padding: 96px 24px;
    overflow: hidden;
    background: #1a1a1a
}

.front_pg .reputation_bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(./feature_images/container-carousel-displayalt.jpg);
    background-size: cover;
    background-position: center;
    opacity: .12;
    z-index: 1
}

.front_pg .reputation_content {
    position: relative;
    z-index: 2;
    max-width: 820px;
    margin: 0 auto
}

.front_pg .reputation_content h2 {
    font-size: 26px;
    line-height: 1.4;
    color: #F0F1EA;
    margin: 0 0 52px;
    text-align: center;
    text-transform: uppercase;
    font-weight: 300;
    letter-spacing: .08em
}

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

.front_pg .reputation_item {
    background: #f0f1ea14;
    padding: 24px;
    border-radius: 2px;
    border: 1px solid #ff732b33;
    transition: background .28s ease-in-out, border-color .28s ease-in-out
}

.front_pg .reputation_item:hover {
    background: #f0f1ea24;
    border-color: #ff732b66
}

.front_pg .reputation_item h3 {
    font-size: 20px;
    line-height: 1.4;
    color: #FF732B;
    margin: 0 0 12px
}

.front_pg .reputation_item p {
    font-size: 15px;
    line-height: 1.6;
    color: #F0F1EA;
    margin: 0
}

.front_pg .community_asymmetric {
    display: flex;
    gap: 0;
    background: #F0F1EA
}

.front_pg .community_left {
    flex: 1;
    padding: 96px 52px;
    background: #fff;
    position: relative
}

.front_pg .community_left::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background: repeating-linear-gradient(to bottom, #005972 0px, #005972 6px, transparent 6px, transparent 12px)
}

.front_pg .community_left h2 {
    font-size: 26px;
    line-height: 1.4;
    color: #005972;
    margin: 0 0 24px
}

.front_pg .community_left p {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    margin: 0 0 24px
}

.front_pg .community_left p:last-child {
    margin-bottom: 0
}

.front_pg .community_right {
    flex: 0 0 380px;
    padding: 96px 24px;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.front_pg .community_img_box {
    width: 100%;
    height: 160px;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: -1px 2px 6px 1px #ff732b0f
}

.front_pg .community_img_box img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.front_pg .graduation_reveal {
    padding: 96px 24px;
    background: #fff;
    position: relative
}

.front_pg .graduation_reveal h2 {
    font-size: 26px;
    line-height: 1.4;
    color: #005972;
    margin: 0 0 52px;
    text-align: center
}

.front_pg .graduation_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 52px;
    max-width: 920px;
    margin: 0 auto
}

.front_pg .graduation_block {
    position: relative;
    padding: 24px;
    background: #F0F1EA;
    border-radius: 2px;
    transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer
}

.front_pg .graduation_block::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: #ff732b14;
    border-radius: 40px;
    transform: translate(-50%, -50%);
    transition: width .38s cubic-bezier(0.4, 0, 0.2, 1), height .38s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
    z-index: 1
}

.front_pg .graduation_block:hover::before {
    width: 100%;
    height: 100%
}

.front_pg .graduation_block::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: #0059720a;
    border-radius: 40px;
    transform: translate(-50%, -50%);
    transition: width .42s cubic-bezier(0.4, 0, 0.2, 1) 0.05s, height .42s cubic-bezier(0.4, 0, 0.2, 1) .05s;
    pointer-events: none;
    z-index: 2
}

.front_pg .graduation_block:hover::after {
    width: 90%;
    height: 90%
}

.front_pg .graduation_block h3 {
    font-size: 20px;
    line-height: 1.4;
    color: #FF732B;
    margin: 0 0 12px;
    position: relative;
    z-index: 3
}

.front_pg .graduation_block p {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    margin: 0;
    position: relative;
    z-index: 3
}

.front_pg .experience_timeline {
    padding: 96px 24px;
    background: linear-gradient(168deg, #005972 0%, #00597200 100%);
    position: relative;
    overflow: hidden
}

.front_pg .experience_timeline::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(ellipse at 20% 30%, #ff732b26 0%, transparent 60%);
    animation: radial_shift 8s ease-in-out infinite;
    pointer-events: none
}

@keyframes radial_shift {
    0% {
        background: radial-gradient(ellipse at 20% 30%, #ff732b26 0%, transparent 60%)
    }

    50% {
        background: radial-gradient(ellipse at 80% 70%, #ff732b26 0%, transparent 60%)
    }

    100% {
        background: radial-gradient(ellipse at 20% 30%, #ff732b26 0%, transparent 60%)
    }
}

.front_pg .experience_timeline h2 {
    font-size: 26px;
    line-height: 1.4;
    color: #F0F1EA;
    margin: 0 0 52px;
    text-align: center;
    text-transform: uppercase;
    font-weight: 300;
    letter-spacing: .08em;
    position: relative;
    z-index: 2
}

.front_pg .experience_content {
    max-width: 780px;
    margin: 0 auto;
    position: relative;
    z-index: 2
}

.front_pg .experience_content p {
    font-size: 15px;
    line-height: 1.6;
    color: #F0F1EA;
    margin: 0 0 24px
}

.front_pg .experience_content p:last-child {
    margin-bottom: 0
}

.front_pg .experience_visual {
    margin: 52px 0 0;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center
}

.front_pg .exp_dot {
    width: 8px;
    height: 8px;
    background: #ff732b99;
    border-radius: 40px;
    transition: width .3s ease-in-out, background .3s ease-in-out
}

.front_pg .exp_dot:nth-child(1) {
    animation: dot_pulse 2.4s ease-in-out infinite
}

.front_pg .exp_dot:nth-child(2) {
    animation: dot_pulse 2.4s ease-in-out infinite .3s
}

.front_pg .exp_dot:nth-child(3) {
    animation: dot_pulse 2.4s ease-in-out infinite .6s
}

.front_pg .exp_dot:nth-child(4) {
    animation: dot_pulse 2.4s ease-in-out infinite .9s
}

.front_pg .exp_dot:nth-child(5) {
    animation: dot_pulse 2.4s ease-in-out infinite 1.2s
}

@keyframes dot_pulse {

    0%,
    100% {
        width: 8px;
        background: #ff732b99
    }

    50% {
        width: 24px;
        background: #ff732bff
    }
}

.front_pg .metric_bar_wrapper {
    margin: 24px 0;
    padding: 24px;
    background: #f0f1ea14;
    border-radius: 2px
}

.front_pg .metric_bar_label {
    font-size: 14px;
    line-height: 1.4;
    color: #F0F1EA;
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: .05em
}

.front_pg .metric_bar_track {
    width: 100%;
    height: 24px;
    background: #0059724d;
    border-radius: 2px;
    overflow: hidden;
    position: relative
}

.front_pg .metric_bar_fill {
    height: 100%;
    background: linear-gradient(90deg, #FF732B 0%, #005972 100%);
    width: 68%;
    transition: width .6s cubic-bezier(0.4, 0, 0.2, 1)
}

.front_pg .metric_bar_values {
    display: flex;
    justify-content: space-between;
    margin-top: 6px
}

.front_pg .metric_bar_values span {
    font-size: 14px;
    line-height: 1.4;
    color: #F0F1EA
}

@media (max-width: 1024px) {
    .front_pg .title_strip {
        flex-direction: column;
        padding: 24px
    }

    .front_pg .title_img_col {
        flex: 0 0 auto;
        width: 100%
    }

    .front_pg .title_img_col img {
        height: 240px
    }

    .front_pg .title_txt_zone h1 {
        font-size: 26px
    }

    .front_pg .support_cards {
        grid-template-columns: 1fr
    }

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

    .front_pg .approach_side {
        flex: 1
    }

    .front_pg .reputation_items {
        grid-template-columns: 1fr
    }

    .front_pg .community_asymmetric {
        flex-direction: column
    }

    .front_pg .community_left::after {
        display: none
    }

    .front_pg .community_right {
        flex: 1
    }

    .front_pg .graduation_grid {
        grid-template-columns: 1fr;
        gap: 24px
    }
}

@media (max-width: 640px) {
    .front_pg .title_txt_zone h1 {
        font-size: 20px
    }

    .front_pg .title_txt_zone li {
        font-size: 14px
    }

    .front_pg .support_grid {
        padding: 52px 12px
    }

    .front_pg .support_grid h2 {
        font-size: 20px;
        margin-bottom: 24px
    }

    .front_pg .approach_split {
        padding: 52px 12px
    }

    .front_pg .approach_main h2 {
        font-size: 20px
    }

    .front_pg .reputation_bg {
        padding: 52px 12px
    }

    .front_pg .reputation_content h2 {
        font-size: 20px;
        margin-bottom: 24px
    }

    .front_pg .community_left {
        padding: 52px 12px
    }

    .front_pg .community_right {
        padding: 52px 12px
    }

    .front_pg .graduation_reveal {
        padding: 52px 12px
    }

    .front_pg .graduation_reveal h2 {
        font-size: 20px;
        margin-bottom: 24px
    }

    .front_pg .experience_timeline {
        padding: 52px 12px
    }

    .front_pg .experience_timeline h2 {
        font-size: 20px;
        margin-bottom: 24px
    }
}

.case_studies_pg {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0;
    background: #fff
}

.case_studies_pg .title_strip {
    background: #005972;
    padding: 52px 24px;
    position: relative;
    overflow: hidden
}

.case_studies_pg .title_strip::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: #FF732B
}

.case_studies_pg .title_strip h1 {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #F0F1EA;
    margin: 0 0 24px;
    font-weight: 700
}

.case_studies_pg .title_strip .tagline {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #F0F1EA;
    margin: 0;
    opacity: .92;
    font-style: italic
}

.case_studies_pg .metric_showcase {
    background: linear-gradient(117deg, #F0F1EA 0%, #fff 100%);
    padding: 96px 24px;
    position: relative;
    overflow: hidden
}

.case_studies_pg .metric_showcase::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: repeating-linear-gradient(to right, #005972 0px, #005972 2px, transparent 2px, transparent 6px, #005972 6px, #005972 8px, transparent 8px, transparent 40px)
}

.case_studies_pg .metric_grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 24px;
    align-items: start
}

.case_studies_pg .metric_primary {
    background: #fff;
    padding: 52px;
    border-radius: 40px;
    box-shadow: -1px 8px 36px 1px #00597221;
    position: relative;
    animation: drop_bounce .7s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

@keyframes drop_bounce {
    0% {
        transform: translateY(-120px);
        opacity: 0
    }

    70% {
        transform: translateY(6px)
    }

    85% {
        transform: translateY(-2px)
    }

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

.case_studies_pg .metric_primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: 52px;
    right: 52px;
    height: 3px;
    background: #FF732B
}

.case_studies_pg .metric_value {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: #005972;
    font-weight: 700;
    margin: 0 0 12px
}

.case_studies_pg .metric_label {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .02em;
    color: #005972;
    text-transform: uppercase;
    margin: 0 0 24px;
    font-weight: 600
}

.case_studies_pg .metric_context {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #333;
    margin: 0
}

.case_studies_pg .metric_secondary {
    background: #fff;
    padding: 24px;
    border-radius: 2px;
    box-shadow: -1px 2px 6px 1px #0059720f;
    border-top: 3px solid #FF732B
}

.case_studies_pg .metric_secondary .metric_value {
    font-size: 26px;
    margin: 0 0 6px
}

.case_studies_pg .metric_secondary .metric_label {
    font-size: 14px;
    margin: 0
}

.case_studies_pg .posts_container {
    padding: 96px 24px;
    background: #fff
}

.case_studies_pg .posts_intro {
    margin: 0 0 52px
}

.case_studies_pg .posts_intro h2 {
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #005972;
    margin: 0 0 12px;
    font-weight: 600;
    text-transform: uppercase
}

.case_studies_pg .posts_intro p {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #333;
    margin: 0
}

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

.case_studies_pg .post_card {
    background: #F0F1EA;
    border-radius: 2px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: -1px 2px 6px 1px #0059720f;
    transition: box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1), transform .32s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative
}

.case_studies_pg .post_card:hover {
    box-shadow: -1px 8px 36px 1px #00597221;
    transform: translateY(-6px)
}

.case_studies_pg .post_card:hover+.post_card,
.case_studies_pg .post_card:has(+ .post_card:hover) {
    box-shadow: -1px 5px 22px 1px #00597214
}

.case_studies_pg .post_img_wrap {
    width: 100%;
    height: 180px;
    overflow: hidden;
    position: relative
}

.case_studies_pg .post_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.case_studies_pg .post_card:hover .post_img_wrap img {
    transform: scale(1.08)
}

.case_studies_pg .post_tag {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #FF732B;
    color: #fff;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.15;
    letter-spacing: .02em;
    font-weight: 600;
    border-radius: 2px;
    text-transform: uppercase
}

.case_studies_pg .post_content {
    padding: 24px;
    flex-grow: 1;
    display: flex;
    flex-direction: column
}

.case_studies_pg .post_content h3 {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: .005em;
    color: #005972;
    margin: 0 0 6px;
    font-weight: 600
}

.case_studies_pg .post_subtitle {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #666;
    margin: 0 0 12px;
    font-style: italic
}

.case_studies_pg .post_description {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .005em;
    color: #333;
    margin: 0 0 24px;
    flex-grow: 1
}

.case_studies_pg .post_meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    line-height: 1.4;
    color: #666;
    padding-top: 12px;
    border-top: 1px solid #00597226
}

.case_studies_pg .post_author {
    font-weight: 600;
    color: #005972
}

.case_studies_pg .post_stats {
    display: flex;
    gap: 12px;
    align-items: center
}

.case_studies_pg .post_link {
    display: inline-block;
    margin-top: 12px;
    padding: 12px 24px;
    background: #005972;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.15;
    letter-spacing: .02em;
    font-weight: 600;
    border-radius: 2px;
    transition: background .28s ease-in-out, box-shadow .28s ease-in-out;
    box-shadow: 0 0 0 0 #0059724d;
    text-transform: uppercase;
    align-self: flex-start
}

.case_studies_pg .post_link:hover {
    background: #004158;
    box-shadow: 0 0 0 6px #00597226
}

.case_studies_pg .post_link:active {
    background: #003345
}

.case_studies_pg .frosted_section {
    padding: 96px 24px;
    background: linear-gradient(164deg, #F0F1EA 0%, #fff 100%);
    position: relative;
    overflow: hidden
}

.case_studies_pg .frosted_section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, #ff732b26 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none
}

.case_studies_pg .frosted_card {
    background: #ffffffb3;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 52px;
    border-radius: 40px;
    box-shadow: -1px 5px 22px 1px #00597214;
    border: 1px solid #ffffff80;
    max-width: 900px;
    margin: 0 auto
}

.case_studies_pg .frosted_card h2 {
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #005972;
    margin: 0 0 24px;
    font-weight: 600;
    text-transform: uppercase;
    position: relative;
    padding-bottom: 12px
}

.case_studies_pg .frosted_card h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 96px;
    height: 3px;
    background: #FF732B
}

.case_studies_pg .frosted_card p {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #333;
    margin: 0 0 24px
}

.case_studies_pg .frosted_card p:last-child {
    margin-bottom: 0
}

.case_studies_pg .process_flow {
    padding: 96px 24px;
    background: #fff
}

.case_studies_pg .process_flow h2 {
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #005972;
    margin: 0 0 52px;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center
}

.case_studies_pg .flow_diagram {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 52px;
    align-items: start
}

.case_studies_pg .flow_visual {
    background: #F0F1EA;
    border-radius: 2px;
    padding: 52px 24px;
    position: relative;
    box-shadow: -1px 2px 6px 1px #0059720f
}

.case_studies_pg .flow_visual::before {
    content: '';
    position: absolute;
    top: 24px;
    bottom: 24px;
    left: 50%;
    width: 3px;
    background: linear-gradient(180deg, #FF732B 0%, #005972 100%);
    transform: translateX(-50%)
}

.case_studies_pg .flow_node {
    position: relative;
    margin: 0 0 52px;
    text-align: center
}

.case_studies_pg .flow_node:last-child {
    margin-bottom: 0
}

.case_studies_pg .flow_node_circle {
    width: 52px;
    height: 52px;
    background: #fff;
    border: 3px solid #FF732B;
    border-radius: 50%;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    color: #005972;
    position: relative;
    z-index: 2
}

.case_studies_pg .flow_node_label {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .02em;
    color: #005972;
    font-weight: 600;
    text-transform: uppercase
}

.case_studies_pg .flow_legend {
    background: #fff;
    padding: 52px;
    border-radius: 40px;
    box-shadow: -1px 5px 22px 1px #00597214;
    border-left: 6px solid #FF732B
}

.case_studies_pg .flow_legend h3 {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #005972;
    margin: 0 0 24px;
    font-weight: 600
}

.case_studies_pg .legend_item {
    margin: 0 0 24px;
    padding-left: 24px;
    position: relative
}

.case_studies_pg .legend_item:last-child {
    margin-bottom: 0
}

.case_studies_pg .legend_item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 12px;
    height: 2px;
    background: #FF732B
}

.case_studies_pg .legend_item h4 {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #005972;
    margin: 0 0 6px;
    font-weight: 600
}

.case_studies_pg .legend_item p {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: .005em;
    color: #333;
    margin: 0
}

.case_studies_pg .img_text_mosaic {
    padding: 96px 24px;
    background: #F0F1EA
}

.case_studies_pg .mosaic_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 24px
}

.case_studies_pg .mosaic_text_block {
    background: #fff;
    padding: 24px;
    border-radius: 2px;
    box-shadow: -1px 2px 6px 1px #0059720f;
    position: relative
}

.case_studies_pg .mosaic_text_block::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 24px;
    right: 24px;
    height: 2px;
    background: repeating-linear-gradient(to right, #FF732B 0px, #FF732B 6px, transparent 6px, transparent 12px)
}

.case_studies_pg .mosaic_text_block h3 {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #005972;
    margin: 0 0 12px;
    font-weight: 600;
    text-transform: uppercase
}

.case_studies_pg .mosaic_text_block p {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .005em;
    color: #333;
    margin: 0
}

.case_studies_pg .mosaic_img_block {
    border-radius: 2px;
    overflow: hidden;
    box-shadow: -1px 2px 6px 1px #0059720f
}

.case_studies_pg .mosaic_img_block img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.case_studies_pg .mosaic_grid .mosaic_text_block:nth-child(1) {
    grid-column: 1 / 3
}

.case_studies_pg .mosaic_grid .mosaic_img_block:nth-child(2) {
    grid-column: 3 / 4;
    grid-row: 1 / 3
}

.case_studies_pg .mosaic_grid .mosaic_text_block:nth-child(3) {
    grid-column: 1 / 2
}

.case_studies_pg .mosaic_grid .mosaic_img_block:nth-child(4) {
    grid-column: 2 / 3
}

@media (max-width: 1024px) {
    .case_studies_pg .title_strip {
        padding: 52px 24px
    }

    .case_studies_pg .title_strip h1 {
        font-size: 26px
    }

    .case_studies_pg .title_strip .tagline {
        font-size: 15px
    }

    .case_studies_pg .metric_showcase {
        padding: 52px 24px
    }

    .case_studies_pg .metric_grid {
        grid-template-columns: 1fr 1fr;
        gap: 24px
    }

    .case_studies_pg .metric_primary {
        grid-column: 1 / 3;
        padding: 24px
    }

    .case_studies_pg .metric_value {
        font-size: 26px
    }

    .case_studies_pg .posts_container {
        padding: 52px 24px
    }

    .case_studies_pg .posts_grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .case_studies_pg .frosted_section {
        padding: 52px 24px
    }

    .case_studies_pg .frosted_card {
        padding: 24px
    }

    .case_studies_pg .process_flow {
        padding: 52px 24px
    }

    .case_studies_pg .flow_diagram {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .case_studies_pg .flow_legend {
        padding: 24px
    }

    .case_studies_pg .img_text_mosaic {
        padding: 52px 24px
    }

    .case_studies_pg .mosaic_grid {
        grid-template-columns: 1fr 1fr
    }

    .case_studies_pg .mosaic_grid .mosaic_text_block:nth-child(1) {
        grid-column: 1 / 3
    }

    .case_studies_pg .mosaic_grid .mosaic_img_block:nth-child(2) {
        grid-column: 1 / 3;
        grid-row: auto
    }

    .case_studies_pg .mosaic_grid .mosaic_text_block:nth-child(3) {
        grid-column: 1 / 2
    }

    .case_studies_pg .mosaic_grid .mosaic_img_block:nth-child(4) {
        grid-column: 2 / 3
    }
}

@media (max-width: 640px) {
    .case_studies_pg .title_strip {
        padding: 24px 12px
    }

    .case_studies_pg .title_strip h1 {
        font-size: 20px;
        margin-bottom: 12px
    }

    .case_studies_pg .title_strip .tagline {
        font-size: 14px
    }

    .case_studies_pg .metric_showcase {
        padding: 24px 12px
    }

    .case_studies_pg .metric_grid {
        grid-template-columns: 1fr
    }

    .case_studies_pg .metric_primary {
        grid-column: 1;
        padding: 24px
    }

    .case_studies_pg .metric_primary::before {
        left: 24px;
        right: 24px
    }

    .case_studies_pg .posts_container {
        padding: 24px 12px
    }

    .case_studies_pg .posts_intro {
        margin-bottom: 24px
    }

    .case_studies_pg .posts_grid {
        grid-template-columns: 1fr
    }

    .case_studies_pg .frosted_section {
        padding: 24px 12px
    }

    .case_studies_pg .frosted_card {
        padding: 24px
    }

    .case_studies_pg .frosted_card h2 {
        font-size: 20px
    }

    .case_studies_pg .process_flow {
        padding: 24px 12px
    }

    .case_studies_pg .process_flow h2 {
        margin-bottom: 24px;
        font-size: 20px
    }

    .case_studies_pg .flow_visual {
        padding: 24px 12px
    }

    .case_studies_pg .flow_legend {
        padding: 24px
    }

    .case_studies_pg .img_text_mosaic {
        padding: 24px 12px
    }

    .case_studies_pg .mosaic_grid {
        grid-template-columns: 1fr
    }

    .case_studies_pg .mosaic_grid .mosaic_text_block:nth-child(1) {
        grid-column: 1
    }

    .case_studies_pg .mosaic_grid .mosaic_img_block:nth-child(2) {
        grid-column: 1;
        grid-row: auto
    }

    .case_studies_pg .mosaic_grid .mosaic_text_block:nth-child(3) {
        grid-column: 1
    }

    .case_studies_pg .mosaic_grid .mosaic_img_block:nth-child(4) {
        grid-column: 1
    }
}

.abt_us {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0;
    background: #fff;
    color: #1d1d1d
}

.abt_us .ttl_hero {
    position: relative;
    padding: 96px 24px 52px;
    text-align: center;
    overflow: visible;
    background: linear-gradient(158deg, #F0F1EA 0%, #fff 100%)
}

.abt_us .ttl_hero::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 12px;
    width: 8px;
    height: 8px;
    background: #FF732B;
    border-radius: 40px;
    opacity: .4
}

.abt_us .ttl_hero::after {
    content: '';
    position: absolute;
    top: 32px;
    left: 32px;
    width: 12px;
    height: 12px;
    background: #005972;
    border-radius: 40px;
    opacity: .3
}

.abt_us .ttl_hero .ptrn_dots {
    position: absolute;
    top: 52px;
    right: 24px;
    display: flex;
    gap: 6px
}

.abt_us .ttl_hero .ptrn_dots span {
    width: 6px;
    height: 6px;
    background: #FF732B;
    border-radius: 40px;
    opacity: .25
}

.abt_us .ttl_hero .img_wrap {
    position: relative;
    max-width: 680px;
    margin: 0 auto 52px;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: -1px 5px 22px 1px #00597214
}

.abt_us .ttl_hero .img_wrap::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    background: linear-gradient(270deg, #ff732b47 0%, transparent 100%);
    pointer-events: none
}

.abt_us .ttl_hero .img_wrap img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover
}

.abt_us .ttl_hero h1 {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0 0 24px;
    font-weight: 700;
    color: #1d1d1d
}

.abt_us .ttl_hero h1 .pnct {
    color: #FF732B
}

.abt_us .ttl_hero .sub_txt {
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4a4a4a;
    max-width: 720px;
    margin: 0 auto
}

.abt_us .stry_grid {
    padding: 96px 24px;
    background: #fff;
    position: relative
}

.abt_us .stry_grid::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #FF732B 0%, #005972 100%)
}

.abt_us .stry_grid .grid_wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 52px
}

.abt_us .stry_grid .card_lrg {
    background: #F0F1EA;
    padding: 52px;
    border-radius: 2px;
    position: relative;
    overflow: hidden;
    box-shadow: -1px 2px 6px 1px #ff732b0f;
    transition: box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .stry_grid .card_lrg:hover {
    box-shadow: -1px 8px 36px 1px #ff732b21
}

.abt_us .stry_grid .card_lrg::before {
    content: '';
    position: absolute;
    top: -80px;
    right: -80px;
    width: 200px;
    height: 200px;
    border: 1px solid #005972;
    border-radius: 40px;
    opacity: .08;
    transform: rotate(12deg);
    pointer-events: none
}

.abt_us .stry_grid .card_lrg::after {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 160px;
    height: 160px;
    border: 1px solid #005972;
    border-radius: 40px;
    opacity: .06;
    transform: rotate(12deg);
    pointer-events: none
}

.abt_us .stry_grid .card_lrg h2 {
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-weight: 300;
    margin: 0 0 24px;
    color: #1d1d1d
}

.abt_us .stry_grid .card_lrg p {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .015em;
    margin: 0 0 24px;
    color: #2d2d2d
}

.abt_us .stry_grid .card_lrg p:last-child {
    margin-bottom: 0
}

.abt_us .stry_grid .row_cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px
}

.abt_us .stry_grid .card_sml {
    background: #fff;
    padding: 52px 24px;
    border-radius: 2px;
    box-shadow: -1px 5px 22px 1px #00597214;
    position: relative;
    transition: transform .28s ease-in-out, box-shadow .28s ease-in-out
}

.abt_us .stry_grid .card_sml:hover {
    transform: translateY(-6px);
    box-shadow: -1px 8px 36px 1px #00597221
}

.abt_us .stry_grid .card_sml h3 {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: .025em;
    text-transform: uppercase;
    font-weight: 300;
    margin: 0 0 24px;
    color: #1d1d1d
}

.abt_us .stry_grid .card_sml p {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .015em;
    margin: 0;
    color: #2d2d2d
}

.abt_us .stry_grid .card_sml .img_inset {
    width: 100%;
    height: 180px;
    margin-bottom: 24px;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: inset 0 2px 4px #0059721f inset 0 -2px 4px #0059720f
}

.abt_us .stry_grid .card_sml .img_inset img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.abt_us .mtrc_zone {
    padding: 96px 24px;
    background: #005972;
    position: relative;
    overflow: hidden
}

.abt_us .mtrc_zone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #005972 0%, #FF732B 100%)
}

.abt_us .mtrc_zone .bg_anim {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 30% 40%, #ff732b26 0%, transparent 60%);
    animation: bg_shift 12s ease-in-out infinite alternate;
    pointer-events: none
}

@keyframes bg_shift {
    0% {
        background: radial-gradient(circle at 30% 40%, #ff732b26 0%, transparent 60%)
    }

    100% {
        background: radial-gradient(circle at 70% 60%, #ff732b26 0%, transparent 60%)
    }
}

.abt_us .mtrc_zone h2 {
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-weight: 300;
    margin: 0 0 52px;
    text-align: center;
    color: #fff !important
}

.abt_us .mtrc_zone .mtx_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: 800px;
    margin: 0 auto 52px;
    position: relative
}

.abt_us .mtrc_zone .mtx_cell {
    background: #f0f1ea1f;
    padding: 24px;
    border-radius: 2px;
    position: relative;
    transition: background .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .mtrc_zone .mtx_cell:hover {
    background: #f0f1ea2e
}

.abt_us .mtrc_zone .mtx_cell.high_pri {
    border: 2px solid #FF732B
}

.abt_us .mtrc_zone .mtx_cell.med_pri {
    border: 2px solid #ff732b99
}

.abt_us .mtrc_zone .mtx_cell h4 {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .03em;
    text-transform: uppercase;
    font-weight: 600;
    margin: 0 0 12px;
    color: #fff
}

.abt_us .mtrc_zone .mtx_cell p {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: .015em;
    margin: 0;
    color: #F0F1EA
}

.abt_us .mtrc_zone .axis_lbl {
    position: absolute;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-weight: 300;
    color: #F0F1EA
}

.abt_us .mtrc_zone .axis_lbl.x_axis {
    bottom: -32px;
    left: 50%;
    transform: translateX(-50%)
}

.abt_us .mtrc_zone .axis_lbl.y_axis {
    top: 50%;
    left: -120px;
    transform: translateY(-50%) rotate(-90deg);
    white-space: nowrap
}

.abt_us .mtrc_zone .stat_row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
    max-width: 900px;
    margin: 0 auto
}

.abt_us .mtrc_zone .stat_box {
    background: #f0f1ea14;
    padding: 24px;
    border-radius: 2px;
    text-align: center;
    position: relative;
    overflow: hidden
}

.abt_us .mtrc_zone .stat_box::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #FF732B;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .mtrc_zone .stat_box:hover::before {
    transform: scaleX(1)
}

.abt_us .mtrc_zone .stat_num {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.02em;
    font-weight: 700;
    margin: 0 0 6px;
    color: #FF732B
}

.abt_us .mtrc_zone .stat_lbl {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-weight: 300;
    margin: 0;
    color: #F0F1EA
}

.abt_us .mtrc_zone .chng_arr {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 52px
}

.abt_us .mtrc_zone .chng_val {
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: 0;
    font-weight: 600;
    color: #fff
}

.abt_us .mtrc_zone .arr_icn {
    width: 48px;
    height: 2px;
    background: #FF732B;
    position: relative
}

.abt_us .mtrc_zone .arr_icn::after {
    content: '';
    position: absolute;
    right: -6px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid #FF732B;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent
}

.abt_us .team_showcase {
    padding: 96px 24px;
    background: linear-gradient(178deg, #fff 0%, #F0F1EA 100%);
    position: relative
}

.abt_us .team_showcase::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #FF732B 0%, #005972 100%)
}

.abt_us .team_showcase::after {
    content: '';
    position: absolute;
    bottom: 52px;
    right: 52px;
    width: 120px;
    height: 120px;
    border: 1px solid #FF732B;
    border-radius: 40px;
    opacity: .12;
    pointer-events: none
}

.abt_us .team_showcase .circ_deco {
    position: absolute;
    bottom: 64px;
    right: 64px;
    width: 90px;
    height: 90px;
    border: 1px solid #FF732B;
    border-radius: 40px;
    opacity: .08;
    pointer-events: none
}

.abt_us .team_showcase h2 {
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-weight: 300;
    margin: 0 0 52px;
    color: #1d1d1d
}

.abt_us .team_showcase .asym_grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px
}

.abt_us .team_showcase .prof_card {
    background: #fff;
    padding: 24px;
    border-radius: 2px;
    box-shadow: -1px 2px 6px 1px #ff732b0f;
    display: flex;
    flex-direction: column;
    gap: 24px;
    transition: box-shadow .3s ease-in-out
}

.abt_us .team_showcase .prof_card:hover {
    box-shadow: -1px 8px 36px 1px #ff732b21
}

.abt_us .team_showcase .prof_card .img_prof {
    width: 100%;
    height: 240px;
    border-radius: 2px;
    overflow: hidden;
    position: relative
}

.abt_us .team_showcase .prof_card .img_prof img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.abt_us .team_showcase .prof_card .img_prof::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, transparent 0%, #00597233 100%);
    mix-blend-mode: multiply;
    pointer-events: none
}

.abt_us .team_showcase .prof_card h4 {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: .025em;
    font-weight: 600;
    margin: 0 0 6px;
    color: #1d1d1d
}

.abt_us .team_showcase .prof_card .role_txt {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-weight: 300;
    margin: 0 0 12px;
    color: #005972
}

.abt_us .team_showcase .prof_card p {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .015em;
    margin: 0;
    color: #2d2d2d
}

.abt_us .team_showcase .prof_card .hov_txt {
    display: inline;
    transition: color .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt_us .team_showcase .prof_card:hover .hov_txt span {
    display: inline-block;
    animation: clr_wave 1.2s ease-in-out forwards
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(1) {
    animation-delay: 0s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(2) {
    animation-delay: .05s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(3) {
    animation-delay: .1s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(4) {
    animation-delay: .15s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(5) {
    animation-delay: .2s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(6) {
    animation-delay: .25s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(7) {
    animation-delay: .3s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(8) {
    animation-delay: .35s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(9) {
    animation-delay: .4s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(10) {
    animation-delay: .45s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(11) {
    animation-delay: .5s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(12) {
    animation-delay: .55s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(13) {
    animation-delay: .6s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(14) {
    animation-delay: .65s
}

.abt_us .team_showcase .prof_card:hover .hov_txt span:nth-child(15) {
    animation-delay: .7s
}

@keyframes clr_wave {

    0%,
    100% {
        color: #2d2d2d
    }

    50% {
        color: #FF732B
    }
}

.abt_us .link_inline {
    color: #005972;
    text-decoration: underline;
    transition: color .28s ease-in-out
}

.abt_us .link_inline:hover {
    color: #FF732B
}

@media (min-width: 640px) {
    .abt_us .stry_grid .row_cards {
        grid-template-columns: 1fr 1fr
    }

    .abt_us .team_showcase .asym_grid {
        grid-template-columns: 1.2fr 0.8fr
    }
}

@media (min-width: 1024px) {
    .abt_us .ttl_hero {
        padding: 96px 52px 52px
    }

    .abt_us .stry_grid {
        padding: 96px 52px
    }

    .abt_us .stry_grid .row_cards {
        grid-template-columns: 0.9fr 1.1fr
    }

    .abt_us .mtrc_zone {
        padding: 96px 52px
    }

    .abt_us .team_showcase {
        padding: 96px 52px
    }

    .abt_us .team_showcase .asym_grid {
        grid-template-columns: 1.4fr 0.6fr
    }
}

.contact_reach {
    background: #F0F1EA;
    color: #2a2a2a
}

.contact_reach * {
    box-sizing: border-box
}

.contact_reach input,
.contact_reach select,
.contact_reach textarea,
.contact_reach button {
    font-size: inherit;
    font-family: inherit;
    line-height: inherit
}

.contact_reach .wrapper_max {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px
}

.contact_reach .opening_statement {
    background: linear-gradient(117deg, #005972 0%, #005972d9 100%);
    padding-top: 52px;
    padding-bottom: 52px;
    position: relative;
    overflow: hidden
}

.contact_reach .opening_statement::before {
    content: '';
    position: absolute;
    top: -20%;
    right: -5%;
    width: 60%;
    height: 140%;
    background: repeating-linear-gradient(45deg, #ff732b08, #ff732b08 12px, transparent 12px, transparent 24px);
    pointer-events: none
}

.contact_reach .opening_statement::after {
    content: '';
    position: absolute;
    bottom: 12%;
    left: 8%;
    width: 280px;
    height: 280px;
    border: 2px solid #ff732b26;
    border-radius: 40px;
    transform: rotate(25deg);
    pointer-events: none
}

.contact_reach .curve_accent {
    position: absolute;
    top: 15%;
    left: 5%;
    width: 180px;
    height: 180px;
    pointer-events: none
}

.contact_reach .curve_accent svg {
    width: 100%;
    height: 100%
}

.contact_reach .statement_inner {
    position: relative;
    z-index: 1
}

.contact_reach .statement_hd {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #fff;
    margin: 0 0 24px;
    font-weight: 600
}

.contact_reach .statement_hd .punct_mark {
    color: #FF732B
}

.contact_reach .statement_txt {
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #ffffffeb;
    margin: 0;
    max-width: 720px
}

.contact_reach .divider_shape {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 96px;
    padding: 24px 0;
    background: #F0F1EA
}

.contact_reach .divider_shape svg {
    width: 18px;
    height: 18px
}

.contact_reach .interaction_zone {
    background: #fff;
    padding-top: 96px;
    padding-bottom: 96px;
    position: relative
}

.contact_reach .interaction_zone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #F0F1EA 0%, #fff 100%);
    animation: bg_shift 15s linear infinite;
    pointer-events: none;
    z-index: 0
}

@keyframes bg_shift {
    0% {
        opacity: .4
    }

    50% {
        opacity: .15
    }

    100% {
        opacity: .4
    }
}

.contact_reach .interaction_inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    gap: 52px
}

.contact_reach .sidebar_info {
    width: 280px;
    flex-shrink: 0
}

.contact_reach .info_block {
    background: #fff;
    border: 3px solid #005972;
    border-radius: 2px;
    padding: 24px;
    margin-bottom: 24px;
    position: relative;
    box-shadow: -1px 5px 22px 1px #00597214;
    transition: transform .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.contact_reach .info_block::before {
    content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: -3px;
    border: 1px solid #ff732b4d;
    border-radius: 2px;
    pointer-events: none
}

.contact_reach .info_block:hover {
    transform: translateY(-2px)
}

.contact_reach .info_block_hd {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #005972;
    margin: 0 0 12px;
    font-weight: 600
}

.contact_reach .info_item {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #3a3a3a;
    margin: 0 0 6px;
    padding-left: 6px;
    border-left: 2px solid #FF732B
}

.contact_reach .info_item:last-child {
    margin-bottom: 0
}

.contact_reach .info_item a {
    color: #005972;
    text-decoration: none;
    transition: color .28s ease-in-out
}

.contact_reach .info_item a:hover {
    color: #FF732B
}

.contact_reach .form_main {
    flex: 1;
    background: #fff;
    border: 2px solid #F0F1EA;
    border-radius: 40px;
    padding: 52px;
    box-shadow: -1px 8px 36px 1px #00597221;
    position: relative
}

.contact_reach .form_main::before {
    content: '';
    position: absolute;
    top: 24px;
    right: 24px;
    width: 120px;
    height: 120px;
    background: radial-gradient(circle at center, #ff732b14 0%, transparent 70%);
    border-radius: 40px;
    pointer-events: none
}

.contact_reach .form_hd {
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: -.01em;
    color: #2a2a2a;
    margin: 0 0 12px;
    font-weight: 600
}

.contact_reach .form_desc {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #5a5a5a;
    margin: 0 0 52px
}

.contact_reach .form_row {
    display: flex;
    flex-direction: row;
    gap: 24px;
    margin-bottom: 24px
}

.contact_reach .form_field {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.contact_reach .form_field.full_width {
    flex-basis: 100%
}

.contact_reach .field_label {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .02em;
    color: #2a2a2a;
    font-weight: 600
}

.contact_reach .field_input {
    width: 100%;
    padding: 12px 24px;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #2a2a2a;
    background: #F0F1EA;
    border: 2px solid transparent;
    border-radius: 2px;
    transition: border-color .27s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .27s cubic-bezier(0.4, 0, 0.2, 1);
    outline: none
}

.contact_reach .field_input::placeholder {
    color: #2a2a2a66
}

.contact_reach .field_input:focus {
    border-color: #FF732B;
    box-shadow: 0 0 0 3px #ff732b1f
}

.contact_reach .field_input:hover {
    border-color: #005972
}

.contact_reach .slot_selector {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px
}

.contact_reach .slot_label {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .02em;
    color: #2a2a2a;
    font-weight: 600
}

.contact_reach .slot_options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px
}

.contact_reach .slot_option {
    position: relative
}

.contact_reach .slot_radio {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.contact_reach .slot_btn {
    display: block;
    width: 100%;
    padding: 12px 6px;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: .01em;
    text-align: center;
    color: #2a2a2a;
    background: #F0F1EA;
    border: 2px solid #F0F1EA;
    border-radius: 2px;
    cursor: pointer;
    transition: all .26s ease-in-out
}

.contact_reach .slot_radio:checked+.slot_btn {
    background: #FF732B;
    color: #fff;
    border-color: #FF732B;
    box-shadow: -1px 2px 6px 1px #ff732b0f
}

.contact_reach .slot_btn:hover {
    border-color: #005972;
    box-shadow: 0 0 0 3px #00597214
}

.contact_reach .privacy_wrap {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-start;
    gap: 12px
}

.contact_reach .privacy_check {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
    accent-color: #FF732B
}

.contact_reach .privacy_text {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #5a5a5a;
    margin: 0
}

.contact_reach .privacy_text a {
    color: #005972;
    text-decoration: none;
    border-bottom: 1px solid #0059724d;
    transition: border-color .28s ease-in-out, color .28s ease-in-out
}

.contact_reach .privacy_text a:hover {
    color: #FF732B;
    border-bottom-color: #FF732B
}

.contact_reach .submit_btn {
    width: 100%;
    padding: 24px;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-weight: 600;
    color: #fff;
    background: #005972;
    border: 3px solid #005972;
    border-radius: 2px;
    cursor: pointer;
    transition: box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1), transform .35s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: -1px 2px 6px 1px #0059720f;
    position: relative
}

.contact_reach .submit_btn::before {
    content: '';
    position: absolute;
    top: -6px;
    left: -6px;
    right: -6px;
    bottom: -6px;
    border: 2px solid transparent;
    border-radius: 2px;
    transition: border-color .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.contact_reach .submit_btn:hover::before {
    border-color: #FF732B
}

.contact_reach .submit_btn:hover {
    box-shadow: -1px 8px 36px 1px #00597221;
    transform: translateY(-2px)
}

.contact_reach .submit_btn:active {
    transform: translateY(0);
    box-shadow: -1px 2px 6px 1px #0059720f
}

@media (max-width: 1024px) {
    .contact_reach .interaction_inner {
        flex-direction: column;
        gap: 52px
    }

    .contact_reach .sidebar_info {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 24px
    }

    .contact_reach .info_block {
        margin-bottom: 0
    }

    .contact_reach .form_main {
        padding: 52px 24px
    }

    .contact_reach .slot_options {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 640px) {
    .contact_reach .opening_statement {
        padding-top: 24px;
        padding-bottom: 24px
    }

    .contact_reach .statement_hd {
        font-size: 26px;
        margin-bottom: 12px
    }

    .contact_reach .statement_txt {
        font-size: 15px
    }

    .contact_reach .curve_accent {
        width: 120px;
        height: 120px
    }

    .contact_reach .divider_shape {
        gap: 52px
    }

    .contact_reach .interaction_zone {
        padding-top: 52px;
        padding-bottom: 52px
    }

    .contact_reach .sidebar_info {
        grid-template-columns: 1fr
    }

    .contact_reach .form_main {
        padding: 24px;
        border-radius: 2px
    }

    .contact_reach .form_hd {
        font-size: 20px
    }

    .contact_reach .form_desc {
        margin-bottom: 24px
    }

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

    .contact_reach .slot_options {
        grid-template-columns: 1fr
    }

    .contact_reach .submit_btn {
        padding: 24px 12px
    }
}

.success_page {
    max-width: 1170px;
    margin: 0 auto;
    padding: 96px 24px;
    background: linear-gradient(173deg, #F0F1EA 0%, transparent 100%)
}

.success_page .confirm_wrapper {
    background: #fff;
    padding: 52px 24px;
    border-radius: 40px;
    box-shadow: -1px 5px 22px 1px #00597214;
    text-align: center;
    max-width: 640px;
    margin: 0 auto
}

.success_page .icon_check {
    width: 96px;
    height: 96px;
    margin: 0 auto 24px;
    background: #FF732B;
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 2px 6px 1px #0059720f
}

.success_page .icon_check svg {
    width: 52px;
    height: 52px;
    stroke: #fff;
    stroke-width: 3;
    fill: none
}

.success_page .confirm_title {
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #005972;
    margin: 0 0 12px
}

.success_page .confirm_message {
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #333;
    margin: 0 0 24px
}

.success_page .confirm_details {
    background: #F0F1EA;
    padding: 24px;
    border-radius: 2px;
    margin: 0 0 52px
}

.success_page .detail_item {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .005em;
    color: #333;
    margin: 0 0 6px;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.success_page .detail_item:last-child {
    margin: 0
}

.success_page .detail_label {
    color: #005972;
    font-weight: 600
}

.success_page .detail_value {
    color: #333
}

.success_page .action_group {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap
}

.success_page .btn_primary {
    background: #FF732B;
    color: #fff;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .005em;
    padding: 12px 24px;
    border: 2px solid #FF732B;
    border-radius: 40px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: border-width .28s cubic-bezier(0.4, 0, 0.2, 1), padding .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.success_page .btn_primary:hover {
    border-width: 4px;
    padding: 10px 22px
}

.success_page .btn_secondary {
    background: transparent;
    color: #005972;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .005em;
    padding: 12px 24px;
    border: 2px solid #005972;
    border-radius: 40px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: border-width .32s ease-in-out, padding .32s ease-in-out
}

.success_page .btn_secondary:hover {
    border-width: 4px;
    padding: 10px 22px
}

.success_page .info_section {
    background: #fff;
    padding: 52px 24px;
    margin: 52px 0 0;
    border-radius: 2px;
    box-shadow: -1px 2px 6px 1px #ff732b0f
}

.success_page .info_title {
    font-size: 26px;
    line-height: 1.15;
    letter-spacing: -.01em;
    color: #005972;
    margin: 0 0 24px;
    text-transform: uppercase;
    font-weight: 300
}

.success_page .info_list {
    list-style: none;
    padding: 0;
    margin: 0
}

.success_page .info_list li {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .005em;
    color: #333;
    margin: 0 0 12px;
    padding: 0 0 0 24px;
    position: relative;
    border-left: 2px solid #FF732B
}

.success_page .info_list li:last-child {
    margin: 0
}

.success_page .contact_block {
    background: #005972;
    padding: 24px;
    border-radius: 40px;
    margin: 24px 0 0;
    text-align: center
}

.success_page .contact_text {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .005em;
    color: #fff;
    margin: 0 0 6px
}

.success_page .contact_link {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .005em;
    color: #FF732B;
    text-decoration: none;
    transition: opacity .27s ease-in-out
}

.success_page .contact_link:hover {
    opacity: .8
}

@media (max-width: 640px) {
    .success_page {
        padding: 52px 12px
    }

    .success_page .confirm_wrapper {
        padding: 24px 12px
    }

    .success_page .icon_check {
        width: 52px;
        height: 52px;
        margin: 0 auto 12px
    }

    .success_page .icon_check svg {
        width: 24px;
        height: 24px
    }

    .success_page .confirm_title {
        font-size: 26px
    }

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

    .success_page .confirm_details {
        padding: 12px;
        margin: 0 0 24px
    }

    .success_page .detail_item {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px
    }

    .success_page .action_group {
        flex-direction: column
    }

    .success_page .btn_primary,
    .success_page .btn_secondary {
        width: 100%
    }

    .success_page .info_section {
        padding: 24px 12px;
        margin: 24px 0 0
    }

    .success_page .info_title {
        font-size: 20px
    }

    .success_page .info_list li {
        font-size: 14px
    }

    .success_page .contact_block {
        padding: 12px
    }
}