@import url('https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/400.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/400-italic.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/700.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/700-italic.css');

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    scrollbar-gutter: stable;
    min-height: 100vh;
    font-family: 'Lora', Georgia, serif;
}

.site_header {
    position: relative;
    background: linear-gradient(135deg, #085472 0%, #0a6b8f 60%, #2289C0 100%);
    padding: 0;
    overflow: visible;
}

.site_header::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 340px;
    height: 100%;
    background: linear-gradient(160deg, rgba(176, 238, 225, 0.13) 0%, rgba(34, 137, 192, 0.07) 100%);
    clip-path: polygon(18% 0%, 100% 0%, 100% 100%, 0% 100%);
    pointer-events: none;
}

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

.brand_col {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    order: 2;
}

.logo_hex {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
    background: #ffffff;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    flex-shrink: 0;
}

.logo_hex img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    object-position: center;
    display: block;
}

.brand_label {
    font-size: 19px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.02em;
    line-height: 1.1;
    text-decoration: none;
}

.nav_col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    order: 1;
    flex: 1;
}

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

.phone_label {
    font-size: 13px;
    color: rgba(176, 238, 225, 0.85);
    letter-spacing: 0.01em;
    line-height: 1.4;
}

.phone_link {
    font-size: 13px;
    font-weight: 700;
    color: #B0EEE1;
    text-decoration: none;
    letter-spacing: 0.02em;
    line-height: 1.4;
    border-bottom: 2px solid transparent;
    transition: border-color 0.12s cubic-bezier(0.4, 0, 1, 1), color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.phone_link:hover {
    color: #ffffff;
    border-bottom-color: #B0EEE1;
}

.phone_link:focus {
    outline: none;
    border-bottom: 4px solid #B0EEE1;
    color: #ffffff;
}

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

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

.primary_nav a {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
    letter-spacing: 0.01em;
    line-height: 1.4;
    padding: 6px 12px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(176, 238, 225, 0.15);
    transition: background 0.15s cubic-bezier(0.4, 0, 1, 1), color 0.15s cubic-bezier(0.4, 0, 1, 1), border-color 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.primary_nav a:hover {
    background: rgba(176, 238, 225, 0.18);
    color: #ffffff;
    border-color: rgba(176, 238, 225, 0.45);
}

.primary_nav a:focus {
    outline: none;
    border-bottom: 4px solid #B0EEE1;
    color: #ffffff;
    background: rgba(176, 238, 225, 0.18);
}

.primary_nav a[data-current="true"] {
    background: rgba(176, 238, 225, 0.22);
    color: #ffffff;
    border-color: rgba(176, 238, 225, 0.5);
    font-weight: 700;
}

.site_footer {
    background: #f4f8fa;
    border-top: 1px solid rgba(8, 84, 114, 0.10);
}

.footer_upper {
    max-width: 1320px;
    margin: 0 auto;
    padding: 48px 48px 24px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px;
    flex-wrap: wrap;
}

.footer_brand {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.footer_logo_frame {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    background: #ffffff;
    border: 1px solid rgba(8, 84, 114, 0.12);
    box-shadow: 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
}

.footer_logo_frame img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    object-position: center;
    display: block;
}

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

.footer_brand_name {
    font-size: 19px;
    font-weight: 700;
    color: #085472;
    letter-spacing: 0.01em;
    line-height: 1.1;
}

.footer_since {
    font-size: 13px;
    color: #2289C0;
    letter-spacing: 0.01em;
    line-height: 1.4;
}

.footer_desc {
    max-width: 380px;
}

.footer_desc_text {
    font-size: 13px;
    color: #2c4a56;
    line-height: 1.6;
    letter-spacing: 0.01em;
    margin: 0 0 12px 0;
}

.footer_contact_link {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    color: #085472;
    text-decoration: none;
    letter-spacing: 0.01em;
    line-height: 1.4;
    border-bottom: 2px solid #2289C0;
    transition: color 0.1s ease-in, border-color 0.1s ease-in;
}

.footer_contact_link:hover {
    color: #2289C0;
    border-bottom-color: #B0EEE1;
}

.footer_contact_link:focus {
    outline: none;
    border-bottom: 4px solid #085472;
    color: #085472;
}

.footer_lower {
    max-width: 1320px;
    margin: 0 auto;
    padding: 24px 48px;
    border-top: 1px solid rgba(8, 84, 114, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.footer_copy {
    font-size: 13px;
    color: #5a7a88;
    letter-spacing: 0.01em;
    line-height: 1.4;
}

.footer_legal_nav {
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

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

.footer_legal_nav a {
    font-size: 13px;
    color: #2289C0;
    text-decoration: none;
    letter-spacing: 0.01em;
    line-height: 1.4;
    border-bottom: 1px solid transparent;
    transition: color 0.12s ease-in, border-color 0.12s ease-in;
}

.footer_legal_nav a:hover {
    color: #085472;
    border-bottom-color: #085472;
}

.footer_legal_nav a:focus {
    outline: none;
    border-bottom: 4px solid #085472;
    color: #085472;
}

.consent_card {
    position: fixed;
    bottom: 24px;
    left: 24px;
    max-width: 360px;
    width: calc(100% - 48px);
    background: #ffffff;
    border-radius: 3px;
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11), 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    padding: 24px;
    z-index: 8000;
    border-top: 3px solid #085472;
}

.consent_body {
    font-size: 13px;
    color: #1a3a47;
    line-height: 1.6;
    letter-spacing: 0.01em;
    margin: 0 0 24px 0;
}

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

.consent_accept {
    font-size: 13px;
    font-weight: 700;
    color: #085472;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    letter-spacing: 0.01em;
    line-height: 1.4;
    font-family: 'Lora', Georgia, serif;
    transition: color 0.1s ease-in;
}

.consent_accept:hover {
    color: #2289C0;
}

.consent_accept:focus {
    outline: none;
    border-bottom: 4px solid #085472;
}

.consent_decline {
    font-size: 13px;
    font-weight: 400;
    color: #5a7a88;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    letter-spacing: 0.01em;
    line-height: 1.4;
    font-family: 'Lora', Georgia, serif;
    transition: color 0.1s ease-in;
}

.consent_decline:hover {
    color: #085472;
}

.consent_decline:focus {
    outline: none;
    border-bottom: 4px solid #085472;
}

@media (max-width: 768px) {
    .header_band {
        padding: 24px;
        flex-wrap: wrap;
        gap: 24px;
    }

    .brand_col {
        order: 1;
    }

    .nav_col {
        order: 2;
        width: 100%;
    }

    .footer_upper {
        padding: 48px 24px 24px;
        flex-direction: column;
        gap: 24px;
    }

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

    .site_header::before {
        display: none;
    }

    .consent_card {
        left: 12px;
        bottom: 12px;
        width: calc(100% - 24px);
    }
}

.policy-area {
    max-width: 1320px;
    margin: 0 auto;
    padding: 48px 24px;
    color: #1b2a35;
}

.policy-area h1 {
    font-size: 62px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin-bottom: 24px;
    margin-top: 0;
}

.policy-area h2 {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin-top: 48px;
    margin-bottom: 24px;
}

.policy-area h3 {
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #085472;
    font-weight: 700;
    margin-top: 48px;
    margin-bottom: 12px;
}

.policy-area h4 {
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #2289C0;
    font-weight: 600;
    margin-top: 24px;
    margin-bottom: 12px;
}

.policy-area h5 {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #2289C0;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 24px;
    margin-bottom: 6px;
}

.policy-area h6 {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #4a6a7a;
    font-weight: 600;
    margin-top: 24px;
    margin-bottom: 6px;
}

.policy-area p {
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #1b2a35;
    margin-top: 0;
    margin-bottom: 24px;
    max-width: 72ch;
}

.policy-area strong,
.policy-area b {
    font-weight: 700;
    color: #085472;
}

.policy-area em,
.policy-area i {
    font-style: italic;
    color: inherit;
}

.policy-area a {
    color: #2289C0;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.policy-area a:hover {
    color: #085472;
    text-decoration-thickness: 2px;
}

.policy-area hr {
    border: none;
    border-top: 1px solid #B0EEE1;
    margin-top: 48px;
    margin-bottom: 48px;
}

.policy-area table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    margin-bottom: 24px;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    border-radius: 3px;
    overflow: hidden;
}

.policy-area thead {
    background-color: #085472;
}

.policy-area thead th {
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-align: left;
    padding: 12px 24px;
    border: none;
}

.policy-area tbody tr {
    border-bottom: 1px solid #B0EEE1;
    transition: background-color 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.policy-area tbody tr:last-child {
    border-bottom: none;
}

.policy-area tbody tr:hover {
    background-color: rgba(176, 238, 225, 0.18);
}

.policy-area td {
    font-size: 13px;
    line-height: 1.6;
    color: #1b2a35;
    padding: 12px 24px;
    vertical-align: top;
    border: none;
}

.policy-area th {
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    padding: 12px 24px;
    text-align: left;
}

@media (max-width: 768px) {
    .policy-area {
        padding: 24px 12px;
    }

    .policy-area h1 {
        font-size: 46px;
    }

    .policy-area h2 {
        font-size: 19px;
    }

    .policy-area p {
        font-size: 13px;
        max-width: 100%;
    }

    .policy-area table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

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

.svc_detail .pg_reveal {
    animation: mask_expand 0.6s cubic-bezier(0.4, 0, 1, 1) both;
}

@keyframes mask_expand {
    from {
        clip-path: inset(0 45% 0 45%);
        opacity: 0;
    }

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

.svc_detail .title_strip {
    background: linear-gradient(157deg, #085472 0%, #2289C0 48%, #B0EEE1 100%);
    padding: 48px 24px;
    position: relative;
}

.svc_detail .title_strip::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 48px;
    background: #f4f7f9;
    clip-path: ellipse(55% 100% at 50% 100%);
}

.svc_detail .title_inner {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px;
}

.svc_detail .title_img_wrap {
    flex: 0 0 420px;
    height: 280px;
    overflow: hidden;
    border-radius: 3px;
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
    position: relative;
}

.svc_detail .title_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.85) brightness(0.92);
    mix-blend-mode: luminosity;
}

.svc_detail .title_img_overlay {
    position: absolute;
    inset: 0;
    background: rgba(8, 84, 114, 0.38);
    border-radius: 3px;
}

.svc_detail .title_text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.svc_detail .cat_tag {
    display: inline-block;
    background: rgba(176, 238, 225, 0.22);
    color: #B0EEE1;
    font-size: 13px;
    letter-spacing: 0.02em;
    line-height: 1.4;
    padding: 6px 12px;
    border-radius: 3px;
    border: 1px solid rgba(176, 238, 225, 0.4);
    width: fit-content;
}

.svc_detail .title_h {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #ffffff;
    margin: 0;
}

.svc_detail .title_meta {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: center;
}

.svc_detail .meta_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    letter-spacing: 0.01em;
    line-height: 1.4;
}

.svc_detail .meta_icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.svc_detail .seats_badge {
    background: rgba(176, 238, 225, 0.18);
    border: 1px solid rgba(176, 238, 225, 0.5);
    border-radius: 3px;
    padding: 6px 12px;
    color: #B0EEE1;
    font-size: 13px;
    letter-spacing: 0.01em;
    line-height: 1.4;
}

.svc_detail .body_row {
    max-width: 1320px;
    margin: 0 auto;
    padding: 48px 24px 48px;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
    background: #f4f7f9;
    position: relative;
}

.svc_detail .body_row::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #085472 0%, #2289C0 60%, #B0EEE1 100%);
    border-radius: 0 3px 3px 0;
}

.svc_detail .body_wrap {
    background: #f4f7f9;
    position: relative;
}

.svc_detail .body_wrap::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 48px;
    background: #f4f7f9;
    z-index: 1;
}

.svc_detail .desc_col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 0;
}

.svc_detail .program_col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 0;
}

.svc_detail .col_heading {
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #ffffff;
    background: linear-gradient(97deg, #085472 0%, #2289C0 70%, #B0EEE1 100%);
    display: inline-block;
    padding: 6px 12px;
    border-radius: 3px;
    margin: 0;
}

.svc_detail .desc_body {
    color: #1b3a4b;
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: 0.01em;
}

.svc_detail .desc_body p {
    margin: 0 0 12px;
}

.svc_detail .desc_body p:last-child {
    margin-bottom: 0;
}

.svc_detail .desc_body h2 {
    font-size: 19px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.01em;
    margin: 24px 0 12px;
}

.svc_detail .desc_body h3 {
    font-size: 19px;
    line-height: 1.4;
    color: #2289C0;
    letter-spacing: 0.01em;
    margin: 12px 0 6px;
}

.svc_detail .desc_body strong {
    color: #085472;
}

.svc_detail .desc_body ul {
    list-style: none;
    padding: 0;
    margin: 12px 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.svc_detail .desc_body li {
    padding-left: 24px;
    position: relative;
    font-size: 19px;
    line-height: 1.6;
    color: #1b3a4b;
}

.svc_detail .desc_body li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 12px;
    height: 12px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%232289C0' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

.svc_detail .desc_body dl {
    margin: 12px 0;
}

.svc_detail .desc_body dt {
    font-size: 13px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.02em;
    font-weight: 700;
    margin-top: 12px;
}

.svc_detail .desc_body dd {
    font-size: 19px;
    line-height: 1.6;
    color: #1b3a4b;
    margin: 0 0 0 24px;
}

.svc_detail .desc_body details {
    border: 1px solid rgba(8, 84, 114, 0.15);
    border-radius: 3px;
    padding: 12px;
    margin: 12px 0;
}

.svc_detail .desc_body summary {
    cursor: pointer;
    font-size: 19px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.01em;
}

.svc_detail .desc_body cite {
    display: block;
    font-style: italic;
    color: #2289C0;
    font-size: 19px;
    line-height: 1.6;
    border-top: 1px solid rgba(34, 137, 192, 0.2);
    padding-top: 12px;
    margin-top: 12px;
}

.svc_detail .prog_body {
    color: #1b3a4b;
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: 0.01em;
}

.svc_detail .prog_body p {
    margin: 0 0 12px;
}

.svc_detail .prog_body p:last-child {
    margin-bottom: 0;
}

.svc_detail .prog_body h2 {
    font-size: 19px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.01em;
    margin: 24px 0 12px;
}

.svc_detail .prog_body small {
    font-size: 13px;
    line-height: 1.4;
    color: #2289C0;
    letter-spacing: 0.02em;
    display: block;
    margin-bottom: 6px;
}

.svc_detail .prog_body ul {
    list-style: none;
    padding: 0;
    margin: 12px 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.svc_detail .prog_body li {
    padding-left: 24px;
    position: relative;
    font-size: 19px;
    line-height: 1.6;
    color: #1b3a4b;
}

.svc_detail .prog_body li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 12px;
    height: 12px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='4' fill='none' stroke='%23085472' stroke-width='1.8'/%3E%3Ccircle cx='6' cy='6' r='1.5' fill='%23085472'/%3E%3C/svg%3E") center/contain no-repeat;
}

.svc_detail .prog_body dl {
    margin: 12px 0;
}

.svc_detail .prog_body dt {
    font-size: 13px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.02em;
    font-weight: 700;
    margin-top: 12px;
}

.svc_detail .prog_body dd {
    font-size: 19px;
    line-height: 1.6;
    color: #1b3a4b;
    margin: 0 0 0 24px;
}

.svc_detail .prog_body figure {
    margin: 12px 0;
}

.svc_detail .prog_body figcaption {
    font-size: 13px;
    line-height: 1.4;
    color: #2289C0;
    letter-spacing: 0.01em;
    margin-top: 6px;
}

.svc_detail .prog_body details {
    border: 1px solid rgba(8, 84, 114, 0.15);
    border-radius: 3px;
    padding: 12px;
    margin: 12px 0;
}

.svc_detail .prog_body summary {
    cursor: pointer;
    font-size: 19px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.01em;
}

.svc_detail .price_card {
    background: #ffffff;
    border-radius: 3px;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: inset 0 2px 6px rgba(8, 84, 114, 0.06), 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
}

.svc_detail .price_amount {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
}

.svc_detail .price_desc {
    font-size: 13px;
    line-height: 1.6;
    color: #4a6a7a;
    letter-spacing: 0.01em;
}

.svc_detail .cta_btn {
    display: block;
    width: 100%;
    padding: 12px 24px;
    background: linear-gradient(157deg, #085472 0%, #2289C0 100%);
    color: #ffffff;
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    transition: background 0.14s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.1s ease-in;
    box-shadow: 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
}

.svc_detail .cta_btn:hover {
    background: linear-gradient(220deg, #085472 0%, #2289C0 100%);
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
}

.svc_detail .cta_btn:focus {
    outline: 2px solid #B0EEE1;
    outline-offset: 2px;
}

.svc_detail .cta_btn:active {
    background: linear-gradient(97deg, #085472 0%, #2289C0 100%);
}

.svc_detail .divider_curve {
    height: 48px;
    background: #f4f7f9;
    clip-path: ellipse(52% 100% at 48% 0%);
    margin-top: -1px;
}

@media (max-width: 900px) {
    .svc_detail .title_inner {
        flex-direction: column;
        gap: 24px;
    }

    .svc_detail .title_img_wrap {
        flex: none;
        width: 100%;
        height: 220px;
    }

    .svc_detail .title_h {
        font-size: 46px;
    }

    .svc_detail .body_row {
        flex-direction: column;
        gap: 24px;
        padding: 48px 24px;
    }

    .svc_detail .body_row::before {
        display: none;
    }
}

@media (max-width: 600px) {
    .svc_detail .title_h {
        font-size: 19px;
    }

    .svc_detail .title_meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .svc_detail .price_amount {
        font-size: 46px;
    }
}

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

.lp_prog .prog_inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
}

.lp_prog .prog_title {
    position: relative;
    background: linear-gradient(112deg, #085472 0%, #085472 42%, #2289C0 68%, #B0EEE1 100%);
    padding: 48px 0;
}

.lp_prog .prog_title_grid {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 48px;
}

.lp_prog .prog_title_text {
    flex: 1 1 55%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    position: relative;
    z-index: 1;
}

.lp_prog .prog_title_img_col {
    flex: 0 0 40%;
    position: relative;
    overflow: hidden;
    border-radius: 3px;
    min-height: 340px;
}

.lp_prog .prog_title_img_col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.7) brightness(0.85);
}

.lp_prog .prog_title_img_col::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(8, 84, 114, 0.38);
    pointer-events: none;
}

.lp_prog .prog_eyebrow {
    display: inline-block;
    background: rgba(176, 238, 225, 0.18);
    border: 1px solid rgba(176, 238, 225, 0.5);
    color: #B0EEE1;
    font-size: 13px;
    letter-spacing: 0.02em;
    line-height: 1.4;
    padding: 6px 12px;
    border-radius: 3px;
    width: fit-content;
}

.lp_prog .prog_h1 {
    font-size: 62px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #ffffff;
    margin: 0;
}

.lp_prog .prog_h1 span {
    display: block;
    font-size: 46px;
    color: #B0EEE1;
    line-height: 1.1;
}

.lp_prog .prog_lead {
    font-size: 19px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.88);
    letter-spacing: 0.01em;
    margin: 0;
    max-width: 520px;
}

.lp_prog .prog_deco_circles {
    position: absolute;
    top: -30px;
    right: -30px;
    width: 220px;
    height: 220px;
    pointer-events: none;
    z-index: 0;
}

.lp_prog .prog_deco_circles span {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(176, 238, 225, 0.15);
}

.lp_prog .prog_deco_circles span:nth-child(1) {
    width: 100px;
    height: 100px;
    top: 60px;
    left: 60px;
    background: rgba(176, 238, 225, 0.06);
}

.lp_prog .prog_deco_circles span:nth-child(2) {
    width: 160px;
    height: 160px;
    top: 30px;
    left: 30px;
    background: rgba(34, 137, 192, 0.05);
}

.lp_prog .prog_deco_circles span:nth-child(3) {
    width: 220px;
    height: 220px;
    top: 0;
    left: 0;
    background: transparent;
}

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

.lp_prog .prog_flow_dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #B0EEE1;
    opacity: 0.7;
    animation: prog_dot_appear 0.15s cubic-bezier(0.4, 0, 1, 1) both;
}

.lp_prog .prog_flow_dot:nth-child(2) {
    animation-delay: 0.12s;
    opacity: 0.5;
}

.lp_prog .prog_flow_dot:nth-child(3) {
    animation-delay: 0.24s;
    opacity: 0.3;
}

@keyframes prog_dot_appear {
    from {
        transform: scale(0) rotate(-45deg);
        opacity: 0;
    }

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

.lp_prog .prog_divider {
    border: none;
    border-top: 1px dotted rgba(8, 84, 114, 0.18);
    margin: 0;
}

.lp_prog .prog_details {
    background: #f2f8fb;
    padding: 48px 0;
    animation: prog_bg_breathe 8s ease-in-out infinite;
}

@keyframes prog_bg_breathe {

    0%,
    100% {
        background-color: #f2f8fb;
    }

    50% {
        background-color: #e8f4f9;
    }
}

.lp_prog .prog_details_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.lp_prog .prog_col_left {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.lp_prog .prog_col_right {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.lp_prog .prog_strip_head {
    display: inline-block;
    background: #085472;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    padding: 6px 12px;
    border-radius: 3px;
}

.lp_prog .prog_body_text {
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #1b3a4a;
    margin: 0;
}

.lp_prog .prog_pull_wrap {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
}

.lp_prog .prog_pull_body {
    flex: 1 1 60%;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #1b3a4a;
    margin: 0;
}

.lp_prog .prog_pull_quote {
    flex: 0 0 36%;
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #085472;
    font-weight: 600;
    border-top: 2px solid #2289C0;
    padding-top: 6px;
}

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

.lp_prog .prog_module_list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #1b3a4a;
}

.lp_prog .prog_svg_bullet {
    flex-shrink: 0;
    margin-top: 3px;
}

.lp_prog .prog_card {
    background: #ffffff;
    border-radius: 3px;
    box-shadow: inset 1px 2px 2px 0 rgba(8, 84, 114, 0.05), 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    padding: 24px;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.lp_prog .prog_card_tag {
    position: absolute;
    top: -10px;
    right: 16px;
    background: #2289C0;
    color: #ffffff;
    font-size: 13px;
    letter-spacing: 0.02em;
    line-height: 1.4;
    padding: 3px 12px;
    border-radius: 32px;
}

.lp_prog .prog_code_block {
    background: #0d2f3f;
    border-radius: 3px;
    padding: 24px;
    overflow: hidden;
}

.lp_prog .prog_code_label {
    font-size: 13px;
    color: #B0EEE1;
    letter-spacing: 0.02em;
    line-height: 1.4;
    margin-bottom: 12px;
    display: block;
}

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

.lp_prog .prog_code_line {
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    font-family: monospace;
    color: #e0f4f0;
}

.lp_prog .prog_code_line .kw {
    color: #7dd3fc;
}

.lp_prog .prog_code_line .fn {
    color: #B0EEE1;
}

.lp_prog .prog_code_line .st {
    color: #fcd34d;
}

.lp_prog .prog_code_line .cm {
    color: rgba(176, 238, 225, 0.45);
}

.lp_prog .prog_testimonials {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.lp_prog .prog_testi_card {
    background: #ffffff;
    border-radius: 3px;
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
}

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

.lp_prog .prog_portrait_wrap {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.lp_prog .prog_portrait_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.lp_prog .prog_testi_name {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.4;
    color: #085472;
    margin: 0;
}

.lp_prog .prog_testi_role {
    font-size: 13px;
    letter-spacing: 0.01em;
    line-height: 1.4;
    color: #4a7a90;
    margin: 0;
}

.lp_prog .prog_testi_text {
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #1b3a4a;
    margin: 0;
}

.lp_prog .prog_testi_no_img {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

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

.lp_prog .prog_metric {
    flex: 1 1 0;
    background: #085472;
    border-radius: 3px;
    padding: 24px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
}

.lp_prog .prog_metric_val {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #B0EEE1;
    font-weight: 700;
}

.lp_prog .prog_metric_label {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: rgba(176, 238, 225, 0.8);
    text-align: center;
}

@media (max-width: 900px) {
    .lp_prog .prog_title_grid {
        flex-direction: column;
    }

    .lp_prog .prog_title_img_col {
        min-height: 220px;
        flex: 0 0 auto;
    }

    .lp_prog .prog_h1 {
        font-size: 46px;
    }

    .lp_prog .prog_h1 span {
        font-size: 32px;
    }

    .lp_prog .prog_details_grid {
        grid-template-columns: 1fr;
    }

    .lp_prog .prog_testimonials {
        grid-template-columns: 1fr;
    }

    .lp_prog .prog_metrics_row {
        flex-direction: column;
    }

    .lp_prog .prog_pull_wrap {
        flex-direction: column;
    }
}

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

.frnt .pg_wrap {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
}

@keyframes zoom_settle {
    from {
        transform: scale(1.08);
        opacity: 0.7;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.frnt .div_line {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 auto 48px;
    width: fit-content;
}

.frnt .div_line span {
    width: 8px;
    height: 8px;
    border-radius: 32px;
    background: #2289C0;
    display: block;
}

.frnt .div_line em {
    display: block;
    width: 80px;
    height: 1px;
    background: #2289C0;
}

.frnt .strip_head {
    display: inline;
    background: #B0EEE1;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
}

.frnt .strip_sub {
    display: inline;
    background: #B0EEE1;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #085472;
}

.frnt .svg_list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.frnt .svg_list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
    margin-bottom: 12px;
}

.frnt .svg_list li svg {
    flex-shrink: 0;
    margin-top: 3px;
}

.frnt .title_blk {
    padding: 48px 0;
    background: #fff;
    animation: zoom_settle 0.16s cubic-bezier(0.4, 0, 1, 1) both;
    position: relative;
}

.frnt .title_blk .pg_wrap {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 48px;
}

.frnt .title_blk .t_img_col {
    flex: 0 0 340px;
    position: relative;
}

.frnt .title_blk .t_img_wrap {
    width: 340px;
    height: 100%;
    min-height: 420px;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
    position: relative;
}

.frnt .title_blk .t_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: brightness(1.05) contrast(0.97);
}

.frnt .title_blk .t_img_glow {
    position: absolute;
    top: -24px;
    left: -24px;
    right: -24px;
    bottom: -24px;
    background: linear-gradient(138deg, rgba(176, 238, 225, 0.38) 0%, rgba(34, 137, 192, 0.10) 60%, rgba(8, 84, 114, 0.04) 100%);
    border-radius: 3px;
    pointer-events: none;
    z-index: 0;
}

.frnt .title_blk .t_img_wrap {
    position: relative;
    z-index: 1;
}

.frnt .title_blk .t_curve_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
    border-radius: 3px;
}

.frnt .title_blk .t_text_col {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    position: relative;
    z-index: 1;
}

.frnt .title_blk .t_label {
    font-size: 13px;
    letter-spacing: 0.02em;
    color: #2289C0;
    line-height: 1.4;
    text-transform: uppercase;
}

.frnt .title_blk .t_h1 {
    font-size: 62px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin: 0;
}

.frnt .title_blk .t_desc {
    font-size: 19px;
    line-height: 1.6;
    color: #1b3a4b;
    max-width: 560px;
}

.frnt .title_blk .t_curve_line {
    position: absolute;
    bottom: -12px;
    right: 0;
    width: 220px;
    height: 80px;
    pointer-events: none;
}

.frnt .t_connector {
    display: block;
    margin: 6px 0 0 4px;
}

.frnt .team_blk {
    padding: 48px 0;
    background: #eaf4f8;
}

.frnt .team_blk .pg_wrap {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.frnt .team_blk .tm_top {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
}

.frnt .team_blk .tm_sidebar {
    flex: 0 0 calc(33.333% - 24px);
}

.frnt .team_blk .tm_sidebar_head {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin: 0 0 24px;
}

.frnt .team_blk .tm_body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.frnt .team_blk .tm_body p {
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
    margin: 0;
}

.frnt .team_blk .tm_pull {
    font-size: 19px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.01em;
    border-top: 2px solid #2289C0;
    padding-top: 12px;
}

.frnt .team_blk .tm_cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.frnt .team_blk .tm_card {
    background: #fff;
    border-radius: 3px;
    padding: 24px;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
    position: relative;
}

.frnt .team_blk .tm_card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 32px;
    height: 32px;
    background: linear-gradient(225deg, #B0EEE1 0%, #2289C0 100%);
    border-radius: 0 3px 0 32px;
}

.frnt .team_blk .tm_portrait {
    width: 80px;
    height: 103px;
    border-radius: 3px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
}

.frnt .team_blk .tm_portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.frnt .team_blk .tm_portrait:hover img {
    transform: scale(1.06);
}

.frnt .team_blk .tm_card_info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.frnt .team_blk .tm_name {
    font-size: 19px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.01em;
}

.frnt .team_blk .tm_role {
    font-size: 13px;
    line-height: 1.4;
    color: #2289C0;
    letter-spacing: 0.02em;
}

.frnt .team_blk .tm_note {
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
}

.frnt .proof_blk {
    padding: 48px 0;
    background: #fff;
}

.frnt .proof_blk .pg_wrap {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.frnt .proof_blk .prf_head_row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
}

.frnt .proof_blk .prf_heading {
    flex: 0 0 calc(33.333% - 24px);
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin: 0;
}

.frnt .proof_blk .prf_intro {
    flex: 1;
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
}

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

.frnt .proof_blk .prf_metric {
    background: linear-gradient(155deg, #085472 0%, #2289C0 60%, #B0EEE1 100%);
    border-radius: 3px;
    padding: 24px;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 6px;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    animation: zoom_settle 0.14s cubic-bezier(0.4, 0, 1, 1) both;
}

.frnt .proof_blk .prf_metric_num {
    font-size: 62px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #fff;
}

.frnt .proof_blk .prf_metric_label {
    font-size: 13px;
    line-height: 1.4;
    color: #B0EEE1;
    letter-spacing: 0.02em;
}

.frnt .proof_blk .prf_img_row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.frnt .proof_blk .prf_img_wrap {
    height: 260px;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
}

.frnt .proof_blk .prf_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.frnt .proof_blk .prf_img_wrap:hover img {
    transform: scale(1.05);
}

.frnt .rel_blk {
    padding: 48px 0;
    background: #d7edf5;
}

.frnt .rel_blk .pg_wrap {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.frnt .rel_blk .rel_top {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
}

.frnt .rel_blk .rel_text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.frnt .rel_blk .rel_heading {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin: 0;
}

.frnt .rel_blk .rel_body p {
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
    margin: 0 0 12px;
}

.frnt .rel_blk .rel_pull_col {
    flex: 0 0 calc(33.333% - 24px);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.frnt .rel_blk .rel_pull {
    font-size: 19px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.01em;
    background: #fff;
    border-radius: 3px;
    padding: 24px;
    box-shadow: 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
}

.frnt .rel_blk .rel_img_wrap {
    height: 200px;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
}

.frnt .rel_blk .rel_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.14s ease-in;
}

.frnt .rel_blk .rel_img_wrap:hover img {
    transform: scale(1.05);
}

.frnt .rel_blk .rel_steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.frnt .rel_blk .rel_step {
    background: #fff;
    border-radius: 3px;
    padding: 24px;
    box-shadow: 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
    display: flex;
    flex-direction: column;
    gap: 6px;
    position: relative;
}

.frnt .rel_blk .rel_step::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, #B0EEE1 0%, #2289C0 100%);
    border-radius: 3px 0 32px 0;
}

.frnt .rel_blk .rel_step_num {
    font-size: 19px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.01em;
    padding-left: 36px;
}

.frnt .rel_blk .rel_step_time {
    font-size: 13px;
    line-height: 1.4;
    color: #2289C0;
    letter-spacing: 0.02em;
}

.frnt .rel_blk .rel_step_desc {
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
}

.frnt .commit_blk {
    padding: 48px 0;
    background: #fff;
}

.frnt .commit_blk .pg_wrap {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.frnt .commit_blk .cmt_row {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
}

.frnt .commit_blk .cmt_left {
    flex: 0 0 calc(33.333% - 24px);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.frnt .commit_blk .cmt_heading {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin: 0;
}

.frnt .commit_blk .cmt_img_wrap {
    height: 220px;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
}

.frnt .commit_blk .cmt_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.frnt .commit_blk .cmt_img_wrap:hover img {
    transform: scale(1.05);
}

.frnt .commit_blk .cmt_right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.frnt .commit_blk .cmt_pull {
    font-size: 19px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.01em;
}

.frnt .commit_blk .cmt_body p {
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
    margin: 0 0 12px;
}

.frnt .commit_blk .cmt_list_head {
    font-size: 19px;
    line-height: 1.4;
    color: #085472;
    margin: 0 0 12px;
}

.frnt .commit_blk .cmt_inset {
    background: #eaf4f8;
    border-radius: 3px;
    padding: 24px;
    box-shadow: inset 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
}

.frnt .cmt_req_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.frnt .cmt_req_item {
    background: #fff;
    border-radius: 3px;
    padding: 12px;
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
    box-shadow: 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
    transition: background 0.12s cubic-bezier(0.4, 0, 1, 1), color 0.12s cubic-bezier(0.4, 0, 1, 1);
    cursor: default;
}

.frnt .cmt_req_item:hover {
    background: #085472;
    color: #fff;
}

.frnt .ready_blk {
    padding: 48px 0;
    background: #eaf4f8;
}

.frnt .ready_blk .pg_wrap {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.frnt .ready_blk .rdy_top {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
}

.frnt .ready_blk .rdy_heading_col {
    flex: 0 0 calc(33.333% - 24px);
}

.frnt .ready_blk .rdy_heading {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin: 0 0 24px;
}

.frnt .ready_blk .rdy_body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.frnt .ready_blk .rdy_body p {
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
    margin: 0;
}

.frnt .ready_blk .rdy_pull {
    font-size: 19px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.01em;
}

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

.frnt .ready_blk .rdy_check {
    background: #fff;
    border-radius: 3px;
    padding: 24px;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.frnt .ready_blk .rdy_check_icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(155deg, #085472 0%, #2289C0 55%, #B0EEE1 100%);
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.frnt .ready_blk .rdy_check_title {
    font-size: 19px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.01em;
}

.frnt .ready_blk .rdy_check_desc {
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
}

.frnt .ready_blk .rdy_contact {
    background: linear-gradient(155deg, #085472 0%, #2289C0 70%, #B0EEE1 100%);
    border-radius: 3px;
    padding: 48px;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: center;
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
}

.frnt .ready_blk .rdy_contact_text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.frnt .ready_blk .rdy_contact_head {
    font-size: 46px;
    line-height: 1.1;
    color: #fff;
    letter-spacing: 0.01em;
}

.frnt .ready_blk .rdy_contact_sub {
    font-size: 13px;
    line-height: 1.6;
    color: #B0EEE1;
}

.frnt .ready_blk .rdy_contact_links {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-shrink: 0;
}

.frnt .ready_blk .rdy_link {
    font-size: 19px;
    line-height: 1.4;
    color: #fff;
    text-decoration: none;
    letter-spacing: 0.01em;
    transition: color 0.12s ease-in;
}

.frnt .ready_blk .rdy_link:hover {
    color: #B0EEE1;
}

@media (max-width: 900px) {
    .frnt .title_blk .pg_wrap {
        flex-direction: column;
    }

    .frnt .title_blk .t_img_col {
        flex: none;
        width: 100%;
    }

    .frnt .title_blk .t_img_wrap {
        width: 100%;
        min-height: 280px;
    }

    .frnt .title_blk .t_h1 {
        font-size: 46px;
    }

    .frnt .team_blk .tm_top {
        flex-direction: column;
    }

    .frnt .team_blk .tm_sidebar {
        flex: none;
        width: 100%;
    }

    .frnt .team_blk .tm_cards {
        grid-template-columns: 1fr;
    }

    .frnt .proof_blk .prf_head_row {
        flex-direction: column;
    }

    .frnt .proof_blk .prf_metrics {
        grid-template-columns: 1fr 1fr;
    }

    .frnt .proof_blk .prf_img_row {
        grid-template-columns: 1fr;
    }

    .frnt .rel_blk .rel_top {
        flex-direction: column;
    }

    .frnt .rel_blk .rel_pull_col {
        flex: none;
        width: 100%;
    }

    .frnt .rel_blk .rel_steps {
        grid-template-columns: 1fr 1fr;
    }

    .frnt .commit_blk .cmt_row {
        flex-direction: column;
    }

    .frnt .commit_blk .cmt_left {
        flex: none;
        width: 100%;
    }

    .frnt .ready_blk .rdy_top {
        flex-direction: column;
    }

    .frnt .ready_blk .rdy_heading_col {
        flex: none;
        width: 100%;
    }

    .frnt .ready_blk .rdy_checks {
        grid-template-columns: 1fr 1fr;
    }

    .frnt .ready_blk .rdy_contact {
        flex-direction: column;
        padding: 24px;
    }
}

@media (max-width: 600px) {
    .frnt .proof_blk .prf_metrics {
        grid-template-columns: 1fr;
    }

    .frnt .rel_blk .rel_steps {
        grid-template-columns: 1fr;
    }

    .frnt .ready_blk .rdy_checks {
        grid-template-columns: 1fr;
    }

    .frnt .cmt_req_grid {
        grid-template-columns: 1fr;
    }

    .frnt .strip_head {
        font-size: 46px;
    }

    .frnt .title_blk .t_h1 {
        font-size: 46px;
    }
}

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

.abt_us .pg_wrap {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
}

.abt_us .title_blk {
    padding: 48px 0;
    background: #fff;
    position: relative;
}

.abt_us .title_blk .pg_wrap {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 48px;
}

.abt_us .img_col {
    flex: 0 0 340px;
    position: relative;
}

.abt_us .img_frame {
    width: 340px;
    height: 420px;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
    position: relative;
}

.abt_us .img_frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.abt_us .img_frame::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(8, 84, 114, 0.18) 0%, rgba(176, 238, 225, 0.10) 60%, rgba(34, 137, 192, 0.22) 100%);
    pointer-events: none;
}

.abt_us .dot_path {
    position: absolute;
    bottom: -24px;
    right: -24px;
    width: 80px;
    height: 80px;
    pointer-events: none;
}

.abt_us .dot_path circle {
    fill: #B0EEE1;
    opacity: 0.7;
}

.abt_us .text_col {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px 0;
}

.abt_us .pre_desc {
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    color: #2289C0;
    margin-bottom: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.abt_us .pre_desc::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 2px;
    background: #2289C0;
    vertical-align: middle;
    margin-right: 8px;
}

.abt_us .h1_strip {
    display: inline-block;
    background: #B0EEE1;
    padding: 4px 12px;
    border-radius: 3px;
    margin-bottom: 12px;
}

.abt_us .h1_strip h1 {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin: 0;
}

.abt_us .lead_text {
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #1b4a5e;
    margin-bottom: 24px;
    max-width: 560px;
}

.abt_us .body_text {
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #2c4a55;
    max-width: 560px;
}

.abt_us .tri_accent_tl {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 48px 48px 0 0;
    border-color: #B0EEE1 transparent transparent transparent;
    opacity: 0.5;
    pointer-events: none;
}

.abt_us .tri_accent_br {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 48px 48px;
    border-color: transparent transparent #B0EEE1 transparent;
    opacity: 0.3;
    pointer-events: none;
}

.abt_us .divider {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
}

.abt_us .divider_line {
    flex: 1;
    height: 1px;
    background: #B0EEE1;
}

.abt_us .divider_num {
    font-size: 13px;
    letter-spacing: 0.02em;
    color: #2289C0;
    font-weight: 700;
}

.abt_us .metrics_blk {
    position: relative;
    padding: 0;
}

.abt_us .split_bg_top {
    background: #085472;
    padding: 48px 0 24px;
}

.abt_us .split_bg_bot {
    background: #f2f8fb;
    padding: 24px 0 48px;
    position: relative;
}

.abt_us .fib_wrap {
    position: absolute;
    top: 0;
    right: 0;
    width: 220px;
    height: 220px;
    opacity: 0.06;
    pointer-events: none;
    overflow: hidden;
}

.abt_us .split_bg_top .section_label {
    font-size: 13px;
    letter-spacing: 0.02em;
    color: #B0EEE1;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.abt_us .split_bg_top .section_label::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 2px;
    background: #B0EEE1;
    vertical-align: middle;
    margin-right: 8px;
}

.abt_us .metrics_heading {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #fff;
    margin: 0 0 24px;
}

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

.abt_us .metric_card {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 3px;
    padding: 24px;
    box-shadow: inset 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
    border-top: 2px solid rgba(176, 238, 225, 0.3);
    animation: col_appear 0.16s cubic-bezier(0.4, 0, 1, 1) both;
}

.abt_us .metric_card:nth-child(1) {
    animation-delay: 0.05s;
}

.abt_us .metric_card:nth-child(2) {
    animation-delay: 0.10s;
}

.abt_us .metric_card:nth-child(3) {
    animation-delay: 0.15s;
}

.abt_us .metric_card:nth-child(4) {
    animation-delay: 0.20s;
}

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

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

.abt_us .metric_val {
    font-size: 62px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #B0EEE1;
    font-weight: 700;
    display: block;
}

.abt_us .metric_label {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.75);
    margin-top: 6px;
    display: block;
}

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

.abt_us .about_panel {
    background: #fff;
    border-radius: 3px;
    padding: 24px;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    animation: col_appear 0.14s cubic-bezier(0.4, 0, 1, 1) both;
}

.abt_us .about_panel:nth-child(1) {
    animation-delay: 0.08s;
}

.abt_us .about_panel:nth-child(2) {
    animation-delay: 0.14s;
}

.abt_us .about_panel:nth-child(3) {
    animation-delay: 0.20s;
}

.abt_us .panel_ico {
    width: 36px;
    height: 36px;
    margin-bottom: 12px;
}

.abt_us .panel_h {
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #085472;
    margin: 0 0 12px;
}

.abt_us .panel_p {
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #2c4a55;
}

.abt_us .team_blk {
    padding: 48px 0;
    background: #fff;
    position: relative;
}

.abt_us .tri_accent_tr {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 56px 56px 0;
    border-color: transparent #085472 transparent transparent;
    opacity: 0.08;
    pointer-events: none;
}

.abt_us .team_grid {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 48px;
    align-items: start;
}

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

.abt_us .portrait_frame {
    width: 220px;
    height: 220px;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
}

.abt_us .portrait_frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.abt_us .person_name {
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #085472;
    font-weight: 700;
    margin: 0;
}

.abt_us .person_role {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #2289C0;
    margin: 0;
}

.abt_us .team_text_area {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.abt_us .team_heading_strip {
    display: inline-block;
    background: #085472;
    padding: 4px 12px;
    border-radius: 3px;
    margin-bottom: 6px;
}

.abt_us .team_heading_strip h2 {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #fff;
    margin: 0;
}

.abt_us .pull_row {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
}

.abt_us .body_col {
    flex: 1 1 0;
}

.abt_us .body_col p {
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #2c4a55;
    margin: 0 0 12px;
}

.abt_us .pull_quote {
    flex: 0 0 200px;
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #085472;
    font-weight: 700;
    padding: 12px;
    background: #f2f8fb;
    border-radius: 3px;
    box-shadow: inset 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
}

.abt_us .img_row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 6px;
}

.abt_us .content_img_wrap {
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 1px 5px 20px 0 rgba(34, 137, 192, 0.10);
    height: 200px;
}

.abt_us .content_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.abt_us .content_img_wrap:hover img {
    transform: scale(1.03);
}

.abt_us .values_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.abt_us .values_list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #2c4a55;
}

.abt_us .v_icon {
    flex: 0 0 18px;
    margin-top: 2px;
}

@media (max-width: 900px) {
    .abt_us .title_blk .pg_wrap {
        flex-direction: column;
        gap: 24px;
    }

    .abt_us .img_col {
        flex: none;
    }

    .abt_us .img_frame {
        width: 100%;
        height: 260px;
    }

    .abt_us .metrics_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .abt_us .about_panels {
        grid-template-columns: 1fr;
    }

    .abt_us .team_grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .abt_us .pull_row {
        flex-direction: column;
    }

    .abt_us .pull_quote {
        flex: none;
        width: 100%;
    }

    .abt_us .img_row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .abt_us .metrics_grid {
        grid-template-columns: 1fr;
    }

    .abt_us .h1_strip h1 {
        font-size: 46px;
    }

    .abt_us .metrics_heading {
        font-size: 46px;
    }
}

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

.svc_pg .pg_bound {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
}

.svc_pg .title_band {
    padding: 48px 0;
    background: #fff;
    position: relative;
}

.svc_pg .title_band::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 340px;
    height: 100%;
    background: linear-gradient(157deg, #B0EEE1 0%, #2289C0 40%, #085472 100%);
    opacity: 0.07;
    pointer-events: none;
}

.svc_pg .title_band_inner {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
}

.svc_pg .title_text_col {
    flex: 1 1 0;
    padding: 24px 0 24px 0;
}

.svc_pg .title_image_col {
    flex: 0 0 420px;
    padding: 0;
}

.svc_pg .t_label {
    display: inline-block;
    background: #085472;
    color: #fff;
    font-size: 13px;
    letter-spacing: 0.02em;
    line-height: 1.4;
    padding: 6px 12px;
    border-radius: 3px;
    margin-bottom: 24px;
}

.svc_pg .t_h1 {
    font-size: 62px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin: 0 0 24px 0;
    max-width: 560px;
}

.svc_pg .t_lead {
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #1b3a4b;
    max-width: 480px;
    margin: 0 0 24px 0;
}

.svc_pg .t_geo_a {
    width: 80px;
    height: 80px;
    border: 2px solid #B0EEE1;
    border-radius: 32px;
    opacity: 0.35;
    position: absolute;
    top: 24px;
    left: -40px;
    pointer-events: none;
}

.svc_pg .t_geo_b {
    width: 40px;
    height: 40px;
    background: #2289C0;
    border-radius: 3px;
    opacity: 0.12;
    position: absolute;
    bottom: 48px;
    left: 200px;
    pointer-events: none;
}

.svc_pg .title_text_col {
    position: relative;
}

.svc_pg .img_frame {
    width: 420px;
    height: 525px;
    overflow: hidden;
    border-radius: 3px;
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
}

.svc_pg .img_frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: blur(0px) contrast(1.04);
}

.svc_pg .metrics_band {
    background: #085472;
    padding: 48px 0;
}

.svc_pg .metrics_row {
    display: flex;
    flex-direction: row;
    gap: 0;
    align-items: stretch;
}

.svc_pg .metric_item {
    flex: 1 1 0;
    padding: 24px 24px;
    border-right: 1px solid rgba(176, 238, 225, 0.2);
    text-align: center;
}

.svc_pg .metric_item:last-child {
    border-right: none;
}

.svc_pg .metric_num {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #B0EEE1;
    display: block;
}

.svc_pg .metric_desc {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.75);
    margin-top: 6px;
    display: block;
}

.svc_pg .cards_band {
    padding: 48px 0;
    background: #f4fafd;
}

.svc_pg .cards_head {
    margin-bottom: 48px;
}

.svc_pg .strip_h2 {
    display: inline-block;
    background: #B0EEE1;
    padding: 6px 12px;
    border-radius: 3px;
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin: 0 0 12px 0;
}

.svc_pg .cards_sub {
    font-size: 19px;
    line-height: 1.6;
    color: #1b3a4b;
    letter-spacing: 0.01em;
    max-width: 560px;
    margin: 0;
}

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

.svc_pg .svc_card {
    background: #fff;
    border-radius: 3px;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.svc_pg .svc_card:hover {
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
}

.svc_pg .card_img_wrap {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.svc_pg .card_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.svc_pg .svc_card:hover .card_img_wrap img {
    transform: scale(1.03);
}

.svc_pg .card_body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 12px;
}

.svc_pg .card_tag {
    display: inline-block;
    background: #B0EEE1;
    color: #085472;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    padding: 6px 12px;
    border-radius: 3px;
    align-self: flex-start;
}

.svc_pg .card_title {
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #085472;
    margin: 0;
}

.svc_pg .card_desc {
    font-size: 13px;
    line-height: 1.6;
    color: #2a4a5a;
    margin: 0;
    letter-spacing: 0.01em;
}

.svc_pg .card_meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: auto;
}

.svc_pg .card_price {
    font-size: 19px;
    line-height: 1.1;
    color: #085472;
    letter-spacing: 0.01em;
    font-weight: 700;
}

.svc_pg .card_price_note {
    font-size: 13px;
    line-height: 1.4;
    color: #2289C0;
    letter-spacing: 0.01em;
}

.svc_pg .card_seats {
    font-size: 13px;
    line-height: 1.4;
    color: #c0440a;
    letter-spacing: 0.01em;
    margin-left: auto;
}

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

.svc_pg .stat_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    line-height: 1.4;
    color: #4a6a7a;
    letter-spacing: 0.01em;
}

.svc_pg .stat_icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.svc_pg .card_link {
    display: inline-block;
    background: linear-gradient(112deg, #085472 0%, #2289C0 60%, #B0EEE1 100%);
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    padding: 12px 24px;
    border-radius: 3px;
    text-decoration: none;
    align-self: flex-start;
    transition: background 0.12s ease-in, box-shadow 0.12s ease-in;
    box-shadow: 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
}

.svc_pg .card_link:hover {
    background: linear-gradient(200deg, #085472 0%, #2289C0 50%, #B0EEE1 100%);
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
}

.svc_pg .process_band {
    padding: 48px 0;
    background: #fff;
    position: relative;
    overflow: hidden;
}

.svc_pg .diag_lines {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 180px;
    height: 180px;
    pointer-events: none;
    overflow: hidden;
}

.svc_pg .diag_lines svg {
    width: 100%;
    height: 100%;
    opacity: 0.12;
}

.svc_pg .proc_h2 {
    display: inline-block;
    background: #085472;
    color: #fff;
    padding: 6px 12px;
    border-radius: 3px;
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    margin: 0 0 24px 0;
}

.svc_pg .proc_sub {
    font-size: 19px;
    line-height: 1.6;
    color: #1b3a4b;
    letter-spacing: 0.01em;
    max-width: 520px;
    margin: 0 0 48px 0;
}

.svc_pg .proc_steps {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
}

.svc_pg .proc_step {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    position: relative;
}

.svc_pg .proc_step::after {
    content: '';
    position: absolute;
    top: 22px;
    right: -12px;
    width: 24px;
    height: 2px;
    background: #B0EEE1;
}

.svc_pg .proc_step:last-child::after {
    display: none;
}

.svc_pg .step_num {
    width: 44px;
    height: 44px;
    border-radius: 3px;
    background: linear-gradient(112deg, #085472 0%, #2289C0 100%);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.svc_pg .step_num span {
    font-size: 19px;
    line-height: 1.1;
    color: #fff;
    letter-spacing: 0.01em;
}

.svc_pg .step_icon {
    width: 24px;
    height: 24px;
}

.svc_pg .step_label {
    font-size: 13px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.02em;
    font-weight: 700;
    margin: 0;
}

.svc_pg .step_text {
    font-size: 13px;
    line-height: 1.6;
    color: #2a4a5a;
    letter-spacing: 0.01em;
    margin: 0;
}

.svc_pg .expert_band {
    padding: 48px 0;
    background: linear-gradient(157deg, #085472 0%, #2289C0 55%, #B0EEE1 100%);
}

.svc_pg .expert_inner {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: center;
}

.svc_pg .expert_portrait {
    flex: 0 0 260px;
}

.svc_pg .portrait_frame {
    width: 260px;
    height: 325px;
    overflow: hidden;
    border-radius: 3px;
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
}

.svc_pg .portrait_frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.svc_pg .expert_text {
    flex: 1 1 0;
}

.svc_pg .expert_role {
    display: inline-block;
    background: rgba(176, 238, 225, 0.25);
    color: #B0EEE1;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    padding: 6px 12px;
    border-radius: 3px;
    margin-bottom: 12px;
}

.svc_pg .expert_h3 {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #fff;
    margin: 0 0 12px 0;
}

.svc_pg .expert_name {
    font-size: 19px;
    line-height: 1.4;
    color: #B0EEE1;
    letter-spacing: 0.01em;
    margin: 0 0 24px 0;
}

.svc_pg .expert_body {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
}

.svc_pg .expert_para {
    flex: 1 1 0;
    font-size: 13px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
    letter-spacing: 0.01em;
    margin: 0;
}

.svc_pg .expert_pull {
    flex: 0 0 200px;
    font-size: 19px;
    line-height: 1.4;
    color: #B0EEE1;
    letter-spacing: 0.01em;
    border-top: 2px solid rgba(176, 238, 225, 0.4);
    padding-top: 12px;
}

.svc_pg .contact_band {
    padding: 48px 0;
    background: #f4fafd;
    position: relative;
}

.svc_pg .contact_inner {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
}

.svc_pg .contact_left {
    flex: 1 1 0;
}

.svc_pg .contact_right {
    flex: 0 0 400px;
}

.svc_pg .contact_h2 {
    display: inline-block;
    background: #2289C0;
    color: #fff;
    padding: 6px 12px;
    border-radius: 3px;
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    margin: 0 0 24px 0;
}

.svc_pg .contact_para {
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
    letter-spacing: 0.01em;
    margin: 0 0 24px 0;
    max-width: 420px;
}

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

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

.svc_pg .detail_icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.svc_pg .detail_text {
    font-size: 13px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.01em;
    text-decoration: none;
}

.svc_pg .detail_text:hover {
    color: #2289C0;
    transition: color 0.12s ease-in;
}

.svc_pg .contact_form {
    background: #fff;
    border-radius: 3px;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

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

.svc_pg .form_label {
    font-size: 13px;
    line-height: 1.4;
    color: #085472;
    letter-spacing: 0.02em;
}

.svc_pg .form_input {
    border: 1px solid #c8dde8;
    border-radius: 3px;
    padding: 12px;
    font-size: 13px;
    line-height: 1.4;
    color: #1b3a4b;
    background: #fff;
    outline: none;
    transition: border-color 0.12s ease-in;
}

.svc_pg .form_input:focus {
    border-color: #2289C0;
    box-shadow: 1px 2px 2px 0 rgba(34, 137, 192, 0.05);
}

.svc_pg .form_textarea {
    border: 1px solid #c8dde8;
    border-radius: 3px;
    padding: 12px;
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
    background: #fff;
    outline: none;
    resize: vertical;
    min-height: 100px;
    transition: border-color 0.12s ease-in;
}

.svc_pg .form_textarea:focus {
    border-color: #2289C0;
}

.svc_pg .form_btn {
    background: linear-gradient(112deg, #085472 0%, #2289C0 60%, #B0EEE1 100%);
    color: #fff;
    border: none;
    border-radius: 3px;
    padding: 12px 24px;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    cursor: pointer;
    align-self: flex-start;
    transition: background 0.15s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1);
    box-shadow: 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
}

.svc_pg .form_btn:hover {
    background: linear-gradient(200deg, #085472 0%, #2289C0 50%, #B0EEE1 100%);
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
}

.svc_pg .form_btn:focus {
    outline: 2px solid #2289C0;
    outline-offset: 2px;
}

.svc_pg .spot_anim {
    position: absolute;
    top: 0;
    left: -80px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle at 30% 50%, rgba(176, 238, 225, 0.18) 0%, rgba(176, 238, 225, 0) 70%);
    animation: spot_drift 8s linear infinite alternate;
    pointer-events: none;
    border-radius: 32px;
}

@keyframes spot_drift {
    0% {
        transform: translateY(0px) translateX(0px);
    }

    100% {
        transform: translateY(24px) translateX(48px);
    }
}

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

.svc_pg .custom_list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    font-size: 13px;
    line-height: 1.6;
    color: #1b3a4b;
    letter-spacing: 0.01em;
}

.svc_pg .li_icon {
    flex-shrink: 0;
    margin-top: 2px;
}

@media (max-width: 900px) {
    .svc_pg .title_band_inner {
        flex-direction: column;
    }

    .svc_pg .title_image_col {
        flex: none;
        width: 100%;
    }

    .svc_pg .img_frame {
        width: 100%;
        height: 320px;
    }

    .svc_pg .t_h1 {
        font-size: 46px;
    }

    .svc_pg .cards_grid {
        grid-template-columns: 1fr;
    }

    .svc_pg .proc_steps {
        flex-direction: column;
    }

    .svc_pg .proc_step::after {
        display: none;
    }

    .svc_pg .expert_inner {
        flex-direction: column;
    }

    .svc_pg .expert_portrait {
        flex: none;
    }

    .svc_pg .expert_body {
        flex-direction: column;
    }

    .svc_pg .expert_pull {
        flex: none;
        width: 100%;
    }

    .svc_pg .contact_inner {
        flex-direction: column;
    }

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

    .svc_pg .metrics_row {
        flex-direction: column;
    }

    .svc_pg .metric_item {
        border-right: none;
        border-bottom: 1px solid rgba(176, 238, 225, 0.2);
    }

    .svc_pg .metric_item:last-child {
        border-bottom: none;
    }
}

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

.cont_us .pg_wrap {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
}

.cont_us .reach_panel {
    padding: 48px 0 0;
    background: #fff;
    position: relative;
}

.cont_us .reach_panel::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 420px;
    height: 420px;
    background: radial-gradient(ellipse at 80% 20%, rgba(8, 84, 114, 0.07) 0%, rgba(34, 137, 192, 0.04) 50%, transparent 70%);
    pointer-events: none;
}

.cont_us .reach_panel::after {
    content: '';
    position: absolute;
    bottom: 80px;
    left: -60px;
    width: 280px;
    height: 280px;
    background: radial-gradient(ellipse at 30% 70%, rgba(176, 238, 225, 0.18) 0%, transparent 65%);
    pointer-events: none;
}

.cont_us .rp_inner {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
}

.cont_us .rp_left {
    flex: 0 0 420px;
    padding-top: 48px;
    position: relative;
}

.cont_us .corner_bracket {
    position: absolute;
    top: 36px;
    left: -12px;
    width: 28px;
    height: 28px;
    border-top: 2px solid #085472;
    border-left: 2px solid #085472;
}

.cont_us .corner_bracket.br {
    top: auto;
    left: auto;
    bottom: -12px;
    right: -12px;
    border-top: none;
    border-left: none;
    border-bottom: 2px solid #2289C0;
    border-right: 2px solid #2289C0;
}

.cont_us .rp_label {
    font-size: 13px;
    letter-spacing: 0.08em;
    color: #2289C0;
    text-transform: uppercase;
    margin-bottom: 12px;
    line-height: 1.4;
}

.cont_us .rp_heading {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin-bottom: 24px;
    position: relative;
}

.cont_us .rp_heading .hl_strip {
    background: linear-gradient(135deg, rgba(176, 238, 225, 0.55) 0%, rgba(34, 137, 192, 0.12) 60%, rgba(176, 238, 225, 0.3) 100%);
    padding: 2px 8px;
    border-radius: 3px;
    display: inline;
}

.cont_us .rp_desc {
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #1b3a4a;
    margin-bottom: 48px;
    max-width: 360px;
}

.cont_us .data_strip {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.cont_us .ds_item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}

.cont_us .ds_icon {
    flex: 0 0 36px;
    height: 36px;
    border-radius: 3px;
    background: linear-gradient(160deg, #085472 0%, #2289C0 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.cont_us .ds_icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #B0EEE1;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

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

.cont_us .ds_label {
    font-size: 13px;
    color: #2289C0;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

.cont_us .ds_val {
    font-size: 13px;
    color: #0d2e3c;
    line-height: 1.4;
    letter-spacing: 0.01em;
}

.cont_us .ds_val a {
    color: #085472;
    text-decoration: none;
    border-bottom: 1px solid rgba(8, 84, 114, 0.25);
    transition: border-color 0.12s cubic-bezier(0.4, 0, 1, 1), color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.cont_us .ds_val a:hover {
    color: #2289C0;
    border-bottom-color: #2289C0;
}

.cont_us .rp_right {
    flex: 1 1 0;
    padding-top: 24px;
}

.cont_us .form_shell {
    background: #fff;
    border: 1px solid rgba(8, 84, 114, 0.1);
    border-radius: 3px;
    box-shadow: inset 1px 2px 2px 0 rgba(8, 84, 114, 0.05), 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
    padding: 48px;
    position: relative;
    overflow: hidden;
}

.cont_us .form_shell::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #085472 0%, #2289C0 55%, #B0EEE1 100%);
}

.cont_us .form_head {
    margin-bottom: 24px;
}

.cont_us .fh_title {
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #085472;
    margin-bottom: 6px;
}

.cont_us .fh_sub {
    font-size: 13px;
    line-height: 1.6;
    color: #3a6070;
    letter-spacing: 0.01em;
}

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

.cont_us .field_grp {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 0;
}

.cont_us .field_grp.full {
    flex: 0 0 100%;
}

.cont_us .f_label {
    font-size: 13px;
    color: #085472;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

.cont_us .f_req {
    color: #2289C0;
    margin-left: 2px;
}

.cont_us .f_input {
    height: 44px;
    padding: 0 12px;
    border: 1px solid rgba(8, 84, 114, 0.2);
    border-radius: 3px;
    font-size: 13px;
    color: #0d2e3c;
    background: #fff;
    letter-spacing: 0.01em;
    transition: border-color 0.15s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1);
    width: 100%;
    box-sizing: border-box;
}

.cont_us .f_input::placeholder {
    color: rgba(8, 84, 114, 0.35);
}

.cont_us .f_input:focus {
    outline: none;
    border-color: #2289C0;
    box-shadow: 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
}

.cont_us .f_input:focus-visible {
    outline: 2px solid #085472 !important;
    outline-offset: 2px !important;
}

.cont_us .topic_grp {
    margin-bottom: 24px;
}

.cont_us .tg_label {
    font-size: 13px;
    color: #085472;
    letter-spacing: 0.02em;
    line-height: 1.4;
    margin-bottom: 12px;
    display: block;
}

.cont_us .check_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.cont_us .chk_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 10px 12px;
    border: 1px solid rgba(8, 84, 114, 0.15);
    border-radius: 3px;
    transition: border-color 0.12s cubic-bezier(0.4, 0, 1, 1), background 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.cont_us .chk_item:hover {
    border-color: #2289C0;
    background: rgba(34, 137, 192, 0.04);
}

.cont_us .chk_item input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #085472;
    cursor: pointer;
    flex-shrink: 0;
}

.cont_us .chk_item input[type="checkbox"]:focus-visible {
    outline: 2px solid #085472 !important;
    outline-offset: 2px !important;
}

.cont_us .chk_txt {
    font-size: 13px;
    color: #1b3a4a;
    line-height: 1.4;
    letter-spacing: 0.01em;
}

.cont_us .msg_grp {
    margin-bottom: 24px;
}

.cont_us .f_textarea {
    width: 100%;
    min-height: 100px;
    padding: 12px;
    border: 1px solid rgba(8, 84, 114, 0.2);
    border-radius: 3px;
    font-size: 13px;
    color: #0d2e3c;
    background: #fff;
    letter-spacing: 0.01em;
    resize: vertical;
    box-sizing: border-box;
    transition: border-color 0.15s cubic-bezier(0.4, 0, 1, 1);
    line-height: 1.6;
}

.cont_us .f_textarea::placeholder {
    color: rgba(8, 84, 114, 0.35);
}

.cont_us .f_textarea:focus {
    outline: none;
    border-color: #2289C0;
}

.cont_us .f_textarea:focus-visible {
    outline: 2px solid #085472 !important;
    outline-offset: 2px !important;
}

.cont_us .privacy_row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 24px;
    padding: 12px;
    background: rgba(176, 238, 225, 0.15);
    border-radius: 3px;
    border: 1px solid rgba(176, 238, 225, 0.5);
}

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

.cont_us .privacy_row input[type="checkbox"]:focus-visible {
    outline: 2px solid #085472 !important;
    outline-offset: 2px !important;
}

.cont_us .prv_txt {
    font-size: 13px;
    color: #1b3a4a;
    line-height: 1.6;
    letter-spacing: 0.01em;
}

.cont_us .prv_txt a {
    color: #085472;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.cont_us .prv_txt a:hover {
    color: #2289C0;
}

.cont_us .prv_txt a:focus-visible {
    outline: 2px solid #085472 !important;
    outline-offset: 2px !important;
    border-radius: 3px;
}

.cont_us .submit_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 48px;
    height: 48px;
    border: none;
    border-radius: 3px;
    background: linear-gradient(160deg, #085472 0%, #2289C0 100%);
    color: #fff;
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    transition: background 0.16s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.cont_us .submit_btn:hover {
    background: linear-gradient(220deg, #085472 0%, #2289C0 100%);
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
}

.cont_us .submit_btn:focus-visible {
    outline: 2px solid #085472 !important;
    outline-offset: 3px !important;
}

.cont_us .submit_btn svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: #B0EEE1;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cont_us .wave_div {
    width: 100%;
    line-height: 0;
    margin-top: 48px;
}

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

.cont_us .detail_panel {
    background: linear-gradient(160deg, #085472 0%, #0d3d52 40%, #0a4a62 100%);
    padding: 48px 0;
    position: relative;
}

.cont_us .detail_panel::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(0deg,
            transparent,
            transparent 38px,
            rgba(176, 238, 225, 0.04) 38px,
            rgba(176, 238, 225, 0.04) 39px), repeating-linear-gradient(90deg,
            transparent,
            transparent 38px,
            rgba(176, 238, 225, 0.04) 38px,
            rgba(176, 238, 225, 0.04) 39px);
    pointer-events: none;
}

.cont_us .dp_inner {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: stretch;
    position: relative;
}

.cont_us .dp_col {
    flex: 1 1 0;
}

.cont_us .dp_col_wide {
    flex: 1.4 1 0;
}

.cont_us .dp_heading {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #B0EEE1;
    margin-bottom: 24px;
}

.cont_us .dp_heading .accent_word {
    color: #fff;
}

.cont_us .dp_body {
    font-size: 13px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.75);
    letter-spacing: 0.01em;
    margin-bottom: 24px;
}

.cont_us .dp_pull {
    font-size: 19px;
    line-height: 1.4;
    color: #B0EEE1;
    letter-spacing: 0.01em;
    border-top: 1px solid rgba(176, 238, 225, 0.25);
    padding-top: 24px;
    margin-top: 12px;
}

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

.cont_us .metric_list li {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 3px;
    border: 1px solid rgba(176, 238, 225, 0.12);
}

.cont_us .metric_list li svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: #B0EEE1;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
}

.cont_us .metric_list li span {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.4;
    letter-spacing: 0.01em;
}

.cont_us .hours_block {
    margin-top: 24px;
    padding: 24px;
    background: rgba(176, 238, 225, 0.07);
    border-radius: 3px;
    border: 1px solid rgba(176, 238, 225, 0.18);
}

.cont_us .hb_title {
    font-size: 13px;
    color: #B0EEE1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 12px;
    line-height: 1.4;
}

.cont_us .hb_row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid rgba(176, 238, 225, 0.1);
}

.cont_us .hb_row:last-child {
    border-bottom: none;
}

.cont_us .hb_day {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.4;
}

.cont_us .hb_time {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.4;
    letter-spacing: 0.01em;
}

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

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

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

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

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

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

@keyframes diag_appear {
    from {
        opacity: 0;
        transform: translate(-16px, 16px);
    }

    to {
        opacity: 1;
        transform: translate(0, 0);
    }
}

.cont_us .rp_left {
    animation: slide_from_left 0.18s cubic-bezier(0.4, 0, 1, 1) both;
}

.cont_us .form_shell {
    animation: slide_from_right 0.16s cubic-bezier(0.4, 0, 1, 1) 0.06s both;
}

.cont_us .dp_col {
    animation: diag_appear 0.18s cubic-bezier(0.4, 0, 1, 1) 0.08s both;
}

.cont_us .dp_col_wide {
    animation: diag_appear 0.18s cubic-bezier(0.4, 0, 1, 1) 0.13s both;
}

@media (max-width: 900px) {
    .cont_us .rp_inner {
        flex-direction: column;
    }

    .cont_us .rp_left {
        flex: 0 0 auto;
        width: 100%;
        padding-top: 24px;
    }

    .cont_us .rp_desc {
        max-width: 100%;
    }

    .cont_us .dp_inner {
        flex-direction: column;
    }

    .cont_us .form_row {
        flex-direction: column;
    }

    .cont_us .check_grid {
        grid-template-columns: 1fr;
    }

    .cont_us .rp_heading {
        font-size: 46px;
    }
}

@media (max-width: 600px) {
    .cont_us .form_shell {
        padding: 24px;
    }

    .cont_us .rp_heading {
        font-size: 46px;
    }

    .cont_us .reach_panel {
        padding: 24px 0 0;
    }
}

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

.success_page .success_card {
    max-width: 560px;
    width: 100%;
    background: #f4fdfa;
    border: 1px solid #B0EEE1;
    border-radius: 3px;
    padding: 48px;
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
    text-align: center;
}

.success_page .success_card .icon_wrap {
    width: 64px;
    height: 64px;
    margin: 0 auto 24px;
    background: linear-gradient(157deg, #085472 0%, #2289C0 60%, #B0EEE1 100%);
    border-radius: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
}

.success_page .success_card .icon_wrap svg {
    display: block;
}

.success_page .success_card .success_heading {
    font-size: 46px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #085472;
    margin: 0 0 12px;
}

.success_page .success_card .success_sub {
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #2a4a58;
    margin: 0 0 24px;
}

.success_page .success_card .success_detail {
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    color: #3a6070;
    margin: 0 0 48px;
    padding: 12px 24px;
    background: #ffffff;
    border-radius: 3px;
    box-shadow: inset 1px 2px 2px 0 rgba(8, 84, 114, 0.05);
}

.success_page .success_card .return_link {
    display: inline-block;
    padding: 12px 24px;
    background: linear-gradient(157deg, #085472 0%, #2289C0 100%);
    color: #ffffff;
    font-size: 13px;
    letter-spacing: 0.02em;
    line-height: 1.4;
    text-decoration: none;
    border-radius: 3px;
    box-shadow: 1px 5px 20px 0 rgba(8, 84, 114, 0.10);
    transition: background 0.14s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.12s ease-in;
}

.success_page .success_card .return_link:hover {
    background: linear-gradient(220deg, #085472 0%, #2289C0 100%);
    box-shadow: 1px 9px 44px 0 rgba(8, 84, 114, 0.11);
}

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