html {
    box-sizing: border-box;
}

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

body {
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
}

.site-header {
    position: relative;
    background: linear-gradient(135deg, #036977 0%, #025f6a 55%, #5FBFA9 100%);
    border-bottom: 2px solid #5FBFA9;
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
    font-family: 'JetBrains Mono', monospace;
    overflow: visible;
}

.site-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(211, 228, 219, 0.08) 0%, transparent 100%);
    pointer-events: none;
}

.header-grid {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1fr 2px 1fr;
    gap: 0;
    align-items: stretch;
    min-height: 90px;
}

.brand-zone {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 20px 20px 0;
}

.brand-logo-wrap {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border: 2px solid rgba(211, 228, 219, 0.7);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
}

.brand-logo-wrap img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    display: block;
}

.brand-text-group {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.brand-name {
    font-family: 'JetBrains Mono', monospace;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #ffffff;
    text-decoration: none;
    display: block;
}

.brand-name:hover {
    color: #D3E4DB;
    transition: color 0.08s ease-out;
}

.brand-tagline {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0.02em;
    color: rgba(211, 228, 219, 0.75);
    margin-top: 2px;
}

.header-divider {
    width: 2px;
    background: linear-gradient(180deg, transparent 10%, rgba(211, 228, 219, 0.35) 40%, rgba(211, 228, 219, 0.35) 60%, transparent 90%);
    align-self: stretch;
}

.nav-zone {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px 0 20px 20px;
    gap: 10px;
}

.primary-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}

.primary-nav li {
    margin: 0;
    padding: 0;
}

.primary-nav li a {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0.01em;
    color: rgba(211, 228, 219, 0.9);
    text-decoration: none;
    padding: 10px 10px;
    border-radius: 8px;
    transition: color 0.09s ease-out, background 0.09s ease-out;
    white-space: nowrap;
}

.primary-nav li a:hover,
.primary-nav li a:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
    outline: none;
}

.primary-nav li a:focus-visible {
    outline: 2px solid #D3E4DB;
    outline-offset: 2px;
    filter: invert(1);
}

.trust-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(211, 228, 219, 0.2);
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    width: fit-content;
}

.trust-badge-icon {
    font-size: 17px;
    color: #5FBFA9;
    flex-shrink: 0;
}

.trust-badge-text {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.35;
    color: rgba(211, 228, 219, 0.85);
    letter-spacing: 0.01em;
}

.trust-badge-text strong {
    color: #ffffff;
    font-weight: 700;
}

@media (max-width: 1024px) {
    .header-grid {
        padding: 0 20px;
    }
}

@media (max-width: 640px) {
    .header-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        padding: 0 20px;
        min-height: auto;
    }

    .header-divider {
        display: none;
    }

    .brand-zone {
        padding: 20px 0 10px 0;
    }

    .nav-zone {
        padding: 10px 0 20px 0;
        gap: 10px;
    }

    .primary-nav li a {
        padding: 10px 10px;
        font-size: 15px;
    }
}

.site-footer {
    font-family: 'JetBrains Mono', monospace;
    background: linear-gradient(180deg, #f4f8f6 0%, #eaf2ee 100%);
    border-top: 2px solid #D3E4DB;
    box-shadow: 0 -2px 2px 0 rgba(3, 105, 119, 0.06);
    padding: 40px 0 0 0;
}

.footer-body {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 40px;
}

.footer-about {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer-brand-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-logo-wrap {
    width: 36px;
    height: 36px;
    border: 2px solid #036977;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    flex-shrink: 0;
}

.footer-logo-wrap img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    display: block;
}

.footer-brand-name {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: #036977;
}

.footer-desc {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    color: #2d5a62;
    letter-spacing: 0.01em;
}

.footer-contact-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-group-label {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.03em;
    color: #036977;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.footer-contact-item i {
    font-size: 17px;
    color: #5FBFA9;
    flex-shrink: 0;
    margin-top: 1px;
}

.footer-contact-item a,
.footer-contact-item span {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    color: #2d5a62;
    text-decoration: none;
    letter-spacing: 0.01em;
    word-break: break-all;
}

.footer-contact-item a:hover {
    color: #036977;
    transition: color 0.1s ease-out;
}

.footer-contact-item a:focus-visible {
    filter: invert(1);
    outline: none;
}

.footer-links-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-link-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-link-item i {
    font-size: 15px;
    color: #5FBFA9;
    flex-shrink: 0;
}

.footer-link-item a {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    color: #2d5a62;
    text-decoration: none;
    letter-spacing: 0.01em;
    transition: color 0.09s ease-out;
}

.footer-link-item a:hover {
    color: #036977;
}

.footer-link-item a:focus-visible {
    filter: invert(1);
    outline: none;
}

.footer-bottom {
    border-top: 1px solid #D3E4DB;
    background: rgba(3, 105, 119, 0.04);
}

.footer-bottom-inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 20px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.footer-copy {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.35;
    color: #5a8a92;
    letter-spacing: 0.01em;
}

.footer-legal-link {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.35;
    color: #5a8a92;
    text-decoration: none;
    letter-spacing: 0.01em;
    transition: color 0.09s ease-out;
}

.footer-legal-link:hover {
    color: #036977;
}

.footer-legal-link:focus-visible {
    filter: invert(1);
    outline: none;
}

@media (max-width: 1024px) {
    .footer-body {
        padding: 0 20px 40px 20px;
    }

    .footer-bottom-inner {
        padding: 20px 20px;
    }
}

@media (max-width: 640px) {
    .footer-body {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 0 20px 40px 20px;
    }

    .footer-bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 20px 20px;
    }
}

.gdpr-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 8000;
    background: #ffffff;
    border-top: 2px solid #D3E4DB;
    box-shadow: 0 -4px 28px 0 rgba(3, 105, 119, 0.10);
    font-family: 'JetBrains Mono', monospace;
}

.gdpr-bar-inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 20px 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.gdpr-text {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    color: #2d5a62;
    letter-spacing: 0.01em;
}

.gdpr-text a {
    color: #036977;
    text-decoration: underline;
}

.gdpr-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.gdpr-cat-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gdpr-cat-item label {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.35;
    color: #2d5a62;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
}

.gdpr-cat-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #036977;
    cursor: pointer;
    flex-shrink: 0;
}

.gdpr-cat-item input[type="checkbox"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.gdpr-cat-tag {
    font-size: 15px;
    color: #2d5a62;
}

.gdpr-always-on {
    font-size: 15px;
    color: #5FBFA9;
    font-weight: 700;
}

.gdpr-actions {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.gdpr-btn-accept {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    color: #ffffff;
    background: #036977;
    border: 2px solid #036977;
    border-radius: 8px;
    padding: 10px 20px;
    cursor: pointer;
    transition: filter 0.09s ease-out;
    min-height: 44px;
    min-width: 44px;
}

.gdpr-btn-accept:hover {
    filter: brightness(1.12);
}

.gdpr-btn-accept:focus-visible {
    filter: invert(1);
    outline: none;
}

.gdpr-btn-reject {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    color: #036977;
    background: transparent;
    border: 2px solid #036977;
    border-radius: 8px;
    padding: 10px 20px;
    cursor: pointer;
    transition: filter 0.09s ease-out, background 0.09s ease-out;
    min-height: 44px;
    min-width: 44px;
}

.gdpr-btn-reject:hover {
    filter: brightness(0.9);
    background: rgba(3, 105, 119, 0.06);
}

.gdpr-btn-reject:focus-visible {
    filter: invert(1);
    outline: none;
}

.gdpr-sale-notice {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    color: #2d5a62;
    padding: 10px;
    background: rgba(211, 228, 219, 0.4);
    border-radius: 8px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.gdpr-sale-notice i {
    color: #036977;
    font-size: 17px;
    flex-shrink: 0;
    margin-top: 1px;
}

.gdpr-sale-opt {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.gdpr-sale-opt label {
    font-size: 15px;
    color: #2d5a62;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
}

.gdpr-sale-opt input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #036977;
    cursor: pointer;
}

@media (max-width: 640px) {
    .gdpr-bar-inner {
        padding: 20px 20px;
    }

    .gdpr-cats {
        flex-direction: column;
        gap: 10px;
    }

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

.j-policy-block {
    max-width: 1024px;
    margin: 0 auto;
    padding: 80px 40px;
}

.j-policy-block p {
    font-size: 17px;
    line-height: 1.55;
    margin-bottom: 20px;
    color: #2d4a4e;
}

.j-policy-block em,
.j-policy-block i {
    font-style: italic;
    color: #036977;
}

.j-policy-block a {
    color: #036977;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color 0.09s ease-out, text-decoration-color 0.09s ease-out;
}

.j-policy-block a:hover {
    color: #5FBFA9;
    text-decoration-color: #5FBFA9;
}

.j-policy-block a:visited {
    color: #025a66;
}

.j-policy-block div {
    margin-bottom: 40px;
}

.j-policy-block table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 40px;
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
    border-radius: 13px;
    overflow: hidden;
}

.j-policy-block thead {
    background-color: #036977;
}

.j-policy-block thead th {
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.03em;
    padding: 20px;
    text-align: left;
}

.j-policy-block tbody tr {
    border-bottom: 1px solid #D3E4DB;
    transition: background-color 0.1s ease-out;
}

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

.j-policy-block tbody tr:nth-child(even) {
    background-color: #f2f8f6;
}

.j-policy-block tbody tr:hover {
    background-color: #e6f3ef;
}

.j-policy-block td {
    padding: 20px;
    font-size: 15px;
    line-height: 1.55;
    color: #2d4a4e;
    vertical-align: top;
}

.j-policy-block th {
    padding: 20px;
    vertical-align: middle;
}

@media (max-width: 640px) {
    .j-policy-block {
        padding: 40px 20px;
    }

    .j-policy-block table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 8px;
    }

    .j-policy-block thead th,
    .j-policy-block td {
        padding: 10px;
        font-size: 15px;
    }

    .j-policy-block p {
        font-size: 15px;
    }
}

@media (min-width: 641px) and (max-width: 1024px) {
    .j-policy-block {
        padding: 80px 40px;
    }

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

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

.prog-detail .pd-title-block {
    background: linear-gradient(293deg, #036977 0%, #036977 30%, rgba(3, 105, 119, 0.18) 68%, transparent 100%);
    padding: 80px 20px 80px;
    position: relative;
}

.prog-detail .pd-title-block::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 13px;
    pointer-events: none;
}

.prog-detail .pd-title-block::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(293deg, #5FBFA9 0%, rgba(95, 191, 169, 0.2) 60%, transparent 100%);
}

.prog-detail .pd-title-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 40px;
    align-items: center;
}

.prog-detail .pd-title-text .pd-meta-row {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.prog-detail .pd-tag {
    background: rgba(95, 191, 169, 0.22);
    color: #D3E4DB;
    font-size: 15px;
    padding: 4px 14px;
    border-radius: 36px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 600;
}

.prog-detail .pd-user-badge {
    color: rgba(211, 228, 219, 0.8);
    font-size: 15px;
    letter-spacing: 0.04em;
}

.prog-detail .pd-views {
    color: rgba(211, 228, 219, 0.6);
    font-size: 15px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}

.prog-detail .pd-views svg {
    opacity: 0.7;
}

.prog-detail .pd-title-text h1 {
    font-size: 50px;
    line-height: 1.1;
    color: #ffffff;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 20px;
}

.prog-detail .pd-readtime-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    color: rgba(211, 228, 219, 0.75);
    font-size: 15px;
}

.prog-detail .pd-readtime-row svg {
    flex-shrink: 0;
}

.prog-detail .pd-price-pill {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 48px;
    padding: 10px 20px;
    color: #ffffff;
    font-size: 26px;
    font-weight: 700;
    margin-top: 20px;
    letter-spacing: -0.01em;
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.prog-detail .pd-img-frame {
    position: relative;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 12px 40px 0 rgba(3, 105, 119, 0.11);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.prog-detail .pd-img-frame img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    filter: blur(0px);
}

.prog-detail .pd-img-frame::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(293deg, rgba(3, 105, 119, 0.35) 0%, transparent 60%);
    pointer-events: none;
}

.prog-detail .pd-copy-btn {
    margin-top: 20px;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px dashed rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    color: #D3E4DB;
    font-size: 15px;
    padding: 8px 16px;
    cursor: pointer;
    transition: background 0.09s ease-out, border-color 0.12s ease-out;
}

.prog-detail .pd-copy-btn:hover {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.55);
    border-style: dashed;
}

.prog-detail .pd-copy-btn:focus {
    outline: 2px solid #5FBFA9;
    outline-offset: 2px;
}

.prog-detail .pd-body {
    max-width: 1024px;
    margin: 0 auto;
    padding: 80px 20px;
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
    align-items: start;
}

.prog-detail .pd-main-col {
    min-width: 0;
}

.prog-detail .pd-desc-block {
    margin-bottom: 40px;
}

.prog-detail .pd-desc-block h2 {
    font-size: 26px;
    line-height: 1.35;
    color: #036977;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.prog-detail .pd-desc-block h3 {
    font-size: 20px;
    line-height: 1.35;
    color: #036977;
    font-weight: 600;
    margin-bottom: 10px;
}

.prog-detail .pd-desc-block p {
    font-size: 17px;
    line-height: 1.55;
    color: #1e3a3f;
    margin-bottom: 20px;
}

.prog-detail .pd-desc-block em {
    font-style: italic;
    font-size: 20px;
    color: #036977;
}

.prog-detail .pd-desc-block mark {
    background: rgba(95, 191, 169, 0.22);
    color: #036977;
    border-radius: 4px;
    padding: 1px 5px;
}

.prog-detail .pd-desc-block blockquote {
    border-radius: 8px;
    background: linear-gradient(293deg, rgba(211, 228, 219, 0.5) 0%, rgba(211, 228, 219, 0.12) 100%);
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
}

.prog-detail .pd-desc-block blockquote p {
    margin-bottom: 0;
    font-size: 17px;
    color: #036977;
}

.prog-detail .pd-desc-block cite {
    font-size: 15px;
    color: #5FBFA9;
    display: block;
    margin-top: 10px;
}

.prog-detail .pd-desc-block figure {
    margin: 20px 0;
    border-radius: 13px;
    overflow: hidden;
    border: 1px solid rgba(3, 105, 119, 0.12);
}

.prog-detail .pd-desc-block figure img {
    width: 100%;
    object-fit: cover;
    display: block;
}

.prog-detail .pd-desc-block figcaption {
    font-size: 15px;
    color: #5FBFA9;
    padding: 10px;
    background: rgba(211, 228, 219, 0.3);
}

.prog-detail .pd-desc-block ol {
    padding-left: 20px;
}

.prog-detail .pd-desc-block ol li {
    font-size: 17px;
    line-height: 1.55;
    color: #1e3a3f;
    margin-bottom: 10px;
}

.prog-detail .pd-desc-block dl dt {
    font-size: 17px;
    font-weight: 700;
    color: #036977;
    margin-top: 10px;
}

.prog-detail .pd-desc-block dl dd {
    font-size: 17px;
    line-height: 1.55;
    color: #1e3a3f;
    margin-left: 20px;
    margin-bottom: 10px;
}

.prog-detail .pd-program-block {
    background: #f2f8f6;
    border-radius: 13px;
    padding: 40px;
    margin-bottom: 40px;
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
    box-shadow: inset 0 2px 4px 0 rgba(3, 105, 119, 0.06), 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.prog-detail .pd-program-block h2 {
    font-size: 26px;
    line-height: 1.35;
    color: #036977;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.prog-detail .pd-program-block h3 {
    font-size: 20px;
    line-height: 1.35;
    color: #036977;
    font-weight: 600;
    margin-bottom: 10px;
}

.prog-detail .pd-program-block p {
    font-size: 17px;
    line-height: 1.55;
    color: #1e3a3f;
    margin-bottom: 10px;
}

.prog-detail .pd-program-block ul {
    padding-left: 20px;
}

.prog-detail .pd-program-block ul li {
    font-size: 17px;
    line-height: 1.55;
    color: #1e3a3f;
    margin-bottom: 10px;
}

.prog-detail .pd-program-block abbr {
    text-decoration: underline dotted;
    cursor: help;
    color: #036977;
}

.prog-detail .pd-program-block mark {
    background: rgba(95, 191, 169, 0.22);
    color: #036977;
    border-radius: 4px;
    padding: 1px 5px;
}

.prog-detail .pd-program-block details {
    border-radius: 8px;
    border: 1px solid rgba(3, 105, 119, 0.15);
    margin-bottom: 10px;
    background: rgba(255, 255, 255, 0.7);
    transition: box-shadow 0.1s ease-out;
}

.prog-detail .pd-program-block details[open] {
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
}

.prog-detail .pd-program-block summary {
    padding: 10px 20px;
    font-size: 17px;
    font-weight: 600;
    color: #036977;
    cursor: pointer;
    list-style: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.prog-detail .pd-program-block summary::-webkit-details-marker {
    display: none;
}

.prog-detail .pd-program-block summary::before {
    content: '';
    width: 10px;
    height: 10px;
    border-right: 2px solid #5FBFA9;
    border-bottom: 2px solid #5FBFA9;
    transform: rotate(-45deg);
    flex-shrink: 0;
    transition: transform 0.1s ease-out;
}

.prog-detail .pd-program-block details[open] summary::before {
    transform: rotate(45deg);
}

.prog-detail .pd-program-block details>*:not(summary) {
    padding: 0 20px 10px;
}

.prog-detail .pd-program-block dl dt {
    font-size: 17px;
    font-weight: 700;
    color: #036977;
    margin-top: 10px;
}

.prog-detail .pd-program-block dl dd {
    font-size: 17px;
    line-height: 1.55;
    color: #1e3a3f;
    margin-left: 20px;
    margin-bottom: 10px;
}

.prog-detail .pd-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: sticky;
    top: 20px;
}

.prog-detail .pd-enroll-card {
    background: #036977;
    border-radius: 13px;
    padding: 40px 20px;
    box-shadow: 0 12px 40px 0 rgba(3, 105, 119, 0.11);
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
}

.prog-detail .pd-enroll-price {
    font-size: 36px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.prog-detail .pd-enroll-price span {
    font-size: 17px;
    font-weight: 400;
    color: rgba(211, 228, 219, 0.7);
    display: block;
    margin-top: 4px;
    letter-spacing: 0;
}

.prog-detail .pd-enroll-btn {
    display: block;
    background: #5FBFA9;
    color: #ffffff;
    font-size: 17px;
    font-weight: 700;
    text-align: center;
    padding: 14px 20px;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: filter 0.09s ease-out;
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.prog-detail .pd-enroll-btn:hover {
    filter: brightness(1.12);
}

.prog-detail .pd-enroll-btn:focus {
    outline: 2px solid #D3E4DB;
    outline-offset: 2px;
}

.prog-detail .pd-enroll-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
}

.prog-detail .pd-enroll-meta {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.prog-detail .pd-enroll-meta-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    color: rgba(211, 228, 219, 0.85);
    font-size: 15px;
}

.prog-detail .pd-enroll-meta-row svg {
    flex-shrink: 0;
    opacity: 0.8;
}

.prog-detail .pd-risk-card {
    background: #ffffff;
    border-radius: 13px;
    padding: 20px;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
    border: 1px solid rgba(3, 105, 119, 0.10);
}

.prog-detail .pd-risk-label {
    font-size: 15px;
    font-weight: 700;
    color: #036977;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 10px;
}

.prog-detail .pd-risk-bar {
    display: flex;
    flex-direction: row;
    gap: 4px;
    margin-bottom: 10px;
}

.prog-detail .pd-risk-seg {
    height: 8px;
    flex: 1;
    border-radius: 36px;
}

.prog-detail .pd-risk-seg.low {
    background: #5FBFA9;
}

.prog-detail .pd-risk-seg.mid {
    background: #D3E4DB;
}

.prog-detail .pd-risk-seg.off {
    background: rgba(3, 105, 119, 0.10);
}

.prog-detail .pd-risk-desc {
    font-size: 15px;
    color: #4a6e74;
    line-height: 1.35;
}

.prog-detail .pd-stat-card {
    background: linear-gradient(293deg, rgba(211, 228, 219, 0.6) 0%, rgba(211, 228, 219, 0.08) 100%);
    border-radius: 13px;
    padding: 20px;
    border: 1px solid rgba(3, 105, 119, 0.10);
}

.prog-detail .pd-stat-num {
    font-size: 50px;
    font-weight: 700;
    color: #036977;
    line-height: 1.1;
    letter-spacing: -0.03em;
}

.prog-detail .pd-stat-desc {
    font-size: 15px;
    color: #5a7a80;
    line-height: 1.35;
    margin-top: 4px;
}

.prog-detail .pd-wavy-divider {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    margin: 0;
}

.prog-detail .pd-wavy-divider svg {
    display: block;
    width: 100%;
}

@keyframes pd-bg-warmcool {
    0% {
        background-color: rgba(3, 105, 119, 0.04);
    }

    50% {
        background-color: rgba(95, 191, 169, 0.07);
    }

    100% {
        background-color: rgba(3, 105, 119, 0.04);
    }
}

.prog-detail .pd-body {
    animation: pd-bg-warmcool 18s ease-in-out infinite;
}

@media (max-width: 1024px) {
    .prog-detail .pd-title-inner {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .prog-detail .pd-img-frame img {
        height: 220px;
    }

    .prog-detail .pd-body {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .prog-detail .pd-sidebar {
        position: static;
    }
}

@media (max-width: 640px) {
    .prog-detail .pd-title-text h1 {
        font-size: 36px;
    }

    .prog-detail .pd-title-block {
        padding: 40px 20px;
    }

    .prog-detail .pd-title-block::before {
        top: 10px;
        left: 10px;
        right: 10px;
        bottom: 10px;
    }

    .prog-detail .pd-program-block {
        padding: 20px;
    }

    .prog-detail .pd-body {
        padding: 40px 20px;
    }

    .prog-detail .pd-enroll-price {
        font-size: 26px;
    }

    .prog-detail .pd-stat-num {
        font-size: 36px;
    }
}

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

.lrn-prog .prog-container {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 20px;
}

.lrn-prog .prog-lead {
    padding: 80px 20px;
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: center;
}

.lrn-prog .prog-lead-img-col {
    position: relative;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.lrn-prog .prog-lead-img-col img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    border: 1px solid rgba(3, 105, 119, 0.12);
    border-radius: 13px;
}

.lrn-prog .prog-lead-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(293deg, rgba(3, 105, 119, 0.18) 0%, transparent 55%, transparent 100%);
    border-radius: 13px;
    pointer-events: none;
}

.lrn-prog .prog-lead-text {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lrn-prog .prog-lead-eyebrow {
    font-size: 15px;
    letter-spacing: 0.08em;
    color: #036977;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.35;
}

.lrn-prog .prog-lead-h1 {
    font-size: 50px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 800;
    color: #1b3a3f;
    margin: 0;
}

.lrn-prog .prog-lead-h1 .num-accent {
    color: #5FBFA9;
}

.lrn-prog .prog-lead-desc {
    font-size: 17px;
    line-height: 1.55;
    color: #2e4f54;
    margin: 0;
    max-width: 520px;
}

.lrn-prog .prog-lead-cta {
    display: inline-block;
    background: #036977;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    padding: 10px 40px;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: filter 0.09s ease-out;
    align-self: flex-start;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
}

.lrn-prog .prog-lead-cta:hover {
    filter: brightness(1.15);
}

.lrn-prog .prog-cards-band {
    background: #f4f9f8;
    padding: 80px 20px;
}

.lrn-prog .prog-cards-band-inner {
    max-width: 1024px;
    margin: 0 auto;
}

.lrn-prog .prog-cards-head {
    margin-bottom: 40px;
}

.lrn-prog .prog-cards-head h2 {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 700;
    color: #1b3a3f;
    margin: 0 0 10px;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    font-weight: 300;
    letter-spacing: 0.06em;
}

.lrn-prog .prog-cards-head p {
    font-size: 17px;
    line-height: 1.55;
    color: #3a5f65;
    margin: 0;
    max-width: 560px;
}

.lrn-prog .prog-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.lrn-prog .prog-card {
    background: #fff;
    border-radius: 13px;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(3, 105, 119, 0.08);
    transition: box-shadow 0.1s ease-out, transform 0.1s ease-out;
}

.lrn-prog .prog-card:hover {
    box-shadow: 0 12px 40px 0 rgba(3, 105, 119, 0.11);
    transform: translateY(-3px);
}

.lrn-prog .prog-card-img-wrap {
    width: 100%;
    height: 180px;
    overflow: hidden;
    position: relative;
}

.lrn-prog .prog-card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-bottom: 1px solid rgba(3, 105, 119, 0.10);
}

.lrn-prog .prog-card-img-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(293deg, #D3E4DB 0%, rgba(95, 191, 169, 0.25) 60%, rgba(3, 105, 119, 0.08) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.lrn-prog .prog-card-img-placeholder svg {
    opacity: 0.35;
}

.lrn-prog .prog-card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.lrn-prog .prog-card-meta {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.lrn-prog .prog-card-tag {
    font-size: 15px;
    color: #036977;
    background: rgba(3, 105, 119, 0.08);
    border-radius: 36px;
    padding: 2px 10px;
    font-weight: 600;
    line-height: 1.55;
}

.lrn-prog .prog-card-level {
    font-size: 15px;
    color: #5FBFA9;
    background: rgba(95, 191, 169, 0.12);
    border-radius: 36px;
    padding: 2px 10px;
    font-weight: 500;
    line-height: 1.55;
}

.lrn-prog .prog-card-title {
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
    color: #1b3a3f;
    margin: 0;
}

.lrn-prog .prog-card-desc {
    font-size: 15px;
    line-height: 1.55;
    color: #3a5f65;
    margin: 0;
    flex: 1;
}

.lrn-prog .prog-card-footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px 20px;
    gap: 10px;
    flex-wrap: wrap;
}

.lrn-prog .prog-card-stats {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
}

.lrn-prog .prog-card-stat {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    color: #5a7a80;
    line-height: 1.35;
}

.lrn-prog .prog-card-stat i {
    font-size: 17px;
    color: #5FBFA9;
}

.lrn-prog .prog-card-price {
    font-size: 20px;
    font-weight: 800;
    color: #036977;
    line-height: 1.1;
}

.lrn-prog .prog-card-link {
    display: inline-block;
    background: #036977;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
    transition: filter 0.09s ease-out;
    white-space: nowrap;
}

.lrn-prog .prog-card-link:hover {
    filter: brightness(1.15);
}

.lrn-prog .prog-metrics {
    padding: 80px 20px;
    max-width: 1024px;
    margin: 0 auto;
}

.lrn-prog .prog-metrics-head {
    margin-bottom: 40px;
}

.lrn-prog .prog-metrics-head h2 {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 300;
    color: #1b3a3f;
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.lrn-prog .prog-metrics-head p {
    font-size: 17px;
    line-height: 1.55;
    color: #3a5f65;
    margin: 0;
    max-width: 520px;
}

.lrn-prog .prog-metrics-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.lrn-prog .prog-metric-item {
    background: linear-gradient(293deg, #036977 0%, rgba(3, 105, 119, 0.0) 70%, transparent 100%);
    border-radius: 13px;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
    transition: transform 0.12s ease-out, box-shadow 0.12s ease-out;
}

.lrn-prog .prog-metric-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px 0 rgba(3, 105, 119, 0.11);
}

.lrn-prog .prog-metric-num {
    font-size: 50px;
    font-weight: 800;
    line-height: 1.1;
    color: #fff;
    letter-spacing: -0.02em;
}

.lrn-prog .prog-metric-label {
    font-size: 17px;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.82);
    font-weight: 400;
}

.lrn-prog .prog-metric-item.light {
    background: linear-gradient(293deg, #D3E4DB 0%, rgba(211, 228, 219, 0.0) 70%, transparent 100%);
}

.lrn-prog .prog-metric-item.light .prog-metric-num {
    color: #036977;
}

.lrn-prog .prog-metric-item.light .prog-metric-label {
    color: #2e4f54;
}

.lrn-prog .prog-approach {
    background: #f4f9f8;
    padding: 80px 20px;
}

.lrn-prog .prog-approach-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 40px;
    align-items: start;
}

.lrn-prog .prog-approach-text {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lrn-prog .prog-approach-text h2 {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 300;
    color: #1b3a3f;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.lrn-prog .prog-approach-text p {
    font-size: 17px;
    line-height: 1.55;
    color: #3a5f65;
    margin: 0;
}

.lrn-prog .prog-approach-text em {
    font-size: 20px;
    font-style: italic;
    color: #036977;
    line-height: 1.35;
}

.lrn-prog .prog-approach-steps {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lrn-prog .prog-step {
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
    border: 1px solid rgba(3, 105, 119, 0.08);
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: flex-start;
    transition: box-shadow 0.1s ease-out;
}

.lrn-prog .prog-step:hover {
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.lrn-prog .prog-step-num {
    font-size: 26px;
    font-weight: 800;
    color: #5FBFA9;
    line-height: 1.1;
    min-width: 32px;
}

.lrn-prog .prog-step-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lrn-prog .prog-step-title {
    font-size: 15px;
    font-weight: 700;
    color: #1b3a3f;
    line-height: 1.35;
}

.lrn-prog .prog-step-desc {
    font-size: 15px;
    color: #3a5f65;
    line-height: 1.55;
    margin: 0;
}

.lrn-prog .prog-divider-asym {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.lrn-prog .prog-divider-asym .line-long {
    flex: 3;
    height: 1px;
    background: rgba(3, 105, 119, 0.18);
}

.lrn-prog .prog-divider-asym .line-short {
    flex: 1;
    height: 1px;
    background: rgba(95, 191, 169, 0.25);
}

.lrn-prog .prog-faq {
    padding: 80px 20px;
    max-width: 1024px;
    margin: 0 auto;
}

.lrn-prog .prog-faq h2 {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 300;
    color: #1b3a3f;
    margin: 0 0 40px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.lrn-prog .prog-faq-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lrn-prog .prog-faq-item {
    border-radius: 8px;
    border: 1px solid rgba(3, 105, 119, 0.12);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
}

.lrn-prog .prog-faq-item summary {
    padding: 20px;
    font-size: 17px;
    font-weight: 600;
    color: #1b3a3f;
    line-height: 1.35;
    cursor: pointer;
    list-style: none;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    transition: color 0.09s linear;
}

.lrn-prog .prog-faq-item summary::-webkit-details-marker {
    display: none;
}

.lrn-prog .prog-faq-item summary:hover {
    color: #036977;
}

.lrn-prog .prog-faq-item summary .faq-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lrn-prog .prog-faq-item summary .faq-icon svg {
    transition: transform 0.1s ease-out;
}

.lrn-prog .prog-faq-item[open] summary .faq-icon svg {
    transform: rotate(45deg);
}

.lrn-prog .prog-faq-answer {
    padding: 0 20px 20px;
    font-size: 17px;
    line-height: 1.55;
    color: #3a5f65;
}

@keyframes prog-flip-in {
    from {
        transform: rotateY(-90deg);
        opacity: 0;
    }

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

.lrn-prog .prog-card {
    animation: prog-flip-in 0.45s ease-out both;
}

.lrn-prog .prog-card:nth-child(1) {
    animation-delay: 0.05s;
}

.lrn-prog .prog-card:nth-child(2) {
    animation-delay: 0.12s;
}

.lrn-prog .prog-card:nth-child(3) {
    animation-delay: 0.19s;
}

.lrn-prog .prog-card:nth-child(4) {
    animation-delay: 0.26s;
}

.lrn-prog .prog-metric-item {
    animation: prog-flip-in 0.4s ease-out both;
}

.lrn-prog .prog-metric-item:nth-child(1) {
    animation-delay: 0.08s;
}

.lrn-prog .prog-metric-item:nth-child(2) {
    animation-delay: 0.15s;
}

.lrn-prog .prog-metric-item:nth-child(3) {
    animation-delay: 0.22s;
}

@media (max-width: 1024px) {
    .lrn-prog .prog-lead {
        grid-template-columns: 220px 1fr;
        gap: 20px;
        padding: 40px 20px;
    }

    .lrn-prog .prog-lead-h1 {
        font-size: 36px;
    }

    .lrn-prog .prog-metrics-row {
        grid-template-columns: 1fr 1fr;
    }

    .lrn-prog .prog-approach-inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .lrn-prog .prog-lead {
        grid-template-columns: 1fr;
        padding: 40px 20px;
    }

    .lrn-prog .prog-lead-img-col img {
        height: 220px;
    }

    .lrn-prog .prog-lead-h1 {
        font-size: 36px;
    }

    .lrn-prog .prog-grid {
        grid-template-columns: 1fr;
    }

    .lrn-prog .prog-metrics-row {
        grid-template-columns: 1fr;
    }

    .lrn-prog .prog-cards-band {
        padding: 40px 20px;
    }

    .lrn-prog .prog-metrics {
        padding: 40px 20px;
    }

    .lrn-prog .prog-approach {
        padding: 40px 20px;
    }

    .lrn-prog .prog-faq {
        padding: 40px 20px;
    }

    .lrn-prog .prog-metric-num {
        font-size: 36px;
    }
}

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

.prtns-pg .pg-bound {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
}

@media (max-width: 640px) {
    .prtns-pg .pg-bound {
        padding-left: 20px;
        padding-right: 20px;
    }
}

.prtns-pg .label-sup {
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #5FBFA9;
    margin-bottom: 20px;
}

.prtns-pg .divider-accent {
    width: 60px;
    height: 2px;
    background: #5FBFA9;
    margin: 20px 0;
}

.prtns-pg .divider-accent.centered {
    margin-left: auto;
    margin-right: auto;
}

.prtns-pg .stripe-bg {
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(293deg,
            transparent,
            transparent 18px,
            rgba(3, 105, 119, 0.04) 18px,
            rgba(3, 105, 119, 0.04) 20px);
    pointer-events: none;
    z-index: 0;
}

.prtns-pg .outlined-shape {
    position: absolute;
    right: -60px;
    top: 50%;
    transform: translateY(-50%);
    width: 320px;
    height: 320px;
    border: 2px solid rgba(3, 105, 119, 0.08);
    border-radius: 48px;
    pointer-events: none;
    z-index: 0;
}

.prtns-pg .outlined-shape-sm {
    position: absolute;
    left: -40px;
    bottom: 20px;
    width: 180px;
    height: 180px;
    border: 2px solid rgba(95, 191, 169, 0.1);
    border-radius: 36px;
    pointer-events: none;
    z-index: 0;
}

.prtns-pg .section-title-block {
    position: relative;
    background: #fff;
    padding: 80px 0 60px;
    overflow: hidden;
}

.prtns-pg .section-title-block .pg-bound {
    position: relative;
    z-index: 1;
}

.prtns-pg .ttl-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

@media (max-width: 1024px) {
    .prtns-pg .ttl-layout {
        gap: 40px;
    }
}

@media (max-width: 640px) {
    .prtns-pg .ttl-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

.prtns-pg .ttl-left h1 {
    font-size: 50px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #1b3a3f;
    margin: 0 0 20px;
    font-weight: 700;
}

@media (max-width: 640px) {
    .prtns-pg .ttl-left h1 {
        font-size: 36px;
    }
}

.prtns-pg .ttl-left .desc {
    font-size: 17px;
    line-height: 1.55;
    color: #3a5a60;
    margin: 0;
}

.prtns-pg .ttl-right {
    position: relative;
}

.prtns-pg .img-frame {
    position: relative;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.prtns-pg .img-frame img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    border-radius: 13px;
    border: 1px solid rgba(3, 105, 119, 0.12);
}

.prtns-pg .img-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 13px;
    background: radial-gradient(ellipse at 0% 0%, rgba(3, 105, 119, 0.18) 0%, transparent 55%),
        radial-gradient(ellipse at 100% 100%, rgba(3, 105, 119, 0.15) 0%, transparent 55%);
    pointer-events: none;
}

.prtns-pg .partners-grid-sec {
    padding: 80px 0;
    background: linear-gradient(293deg, #f0f8f6 0%, #fff 40%, #f7fbfa 100%);
    position: relative;
}

.prtns-pg .partners-grid-sec .pg-bound {
    position: relative;
    z-index: 1;
}

.prtns-pg .sec-head {
    text-align: center;
    margin-bottom: 40px;
}

.prtns-pg .sec-head h2 {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    font-weight: 300;
    color: #1b3a3f;
    margin: 0;
}

.prtns-pg .partners-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

@media (max-width: 1024px) {
    .prtns-pg .partners-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .prtns-pg .partners-grid {
        grid-template-columns: 1fr;
    }
}

.prtns-pg .partner-card {
    background: #fff;
    border-radius: 13px;
    padding: 40px 20px;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
    border: 1px solid rgba(3, 105, 119, 0.09);
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: box-shadow 0.1s ease-out, transform 0.1s ease-out;
    position: relative;
    overflow: hidden;
}

.prtns-pg .partner-card::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    background: linear-gradient(293deg, rgba(3, 105, 119, 0.06) 0%, transparent 60%, rgba(95, 191, 169, 0.06) 100%);
    transition: height 0.12s ease-out;
    border-radius: 0 0 13px 13px;
}

.prtns-pg .partner-card:hover::before {
    height: 100%;
}

.prtns-pg .partner-card:hover {
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
    transform: translateY(-2px);
}

.prtns-pg .card-icon {
    width: 48px;
    height: 48px;
    background: linear-gradient(293deg, #036977 0%, transparent 60%, #5FBFA9 100%);
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.prtns-pg .card-icon svg {
    width: 24px;
    height: 24px;
    fill: #fff;
}

.prtns-pg .card-text h4 {
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #1b3a3f;
    margin: 0 0 10px;
}

.prtns-pg .card-text p {
    font-size: 15px;
    line-height: 1.55;
    color: #3a5a60;
    margin: 0;
}

.prtns-pg .card-tag {
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
    color: #036977;
    background: rgba(3, 105, 119, 0.07);
    border-radius: 36px;
    padding: 10px 20px;
    letter-spacing: 0.04em;
    align-self: flex-start;
}

.prtns-pg .roles-sec {
    padding: 80px 0;
    background: #fff;
    position: relative;
}

.prtns-pg .roles-sec .pg-bound {
    position: relative;
    z-index: 1;
}

.prtns-pg .roles-layout {
    display: grid;
    grid-template-columns: 2fr 1.5fr 1fr;
    gap: 20px;
    align-items: start;
}

@media (max-width: 1024px) {
    .prtns-pg .roles-layout {
        grid-template-columns: 1fr 1fr;
    }

    .prtns-pg .roles-col.narrow {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .prtns-pg .roles-layout {
        grid-template-columns: 1fr;
    }

    .prtns-pg .roles-col.narrow {
        grid-column: auto;
    }
}

.prtns-pg .roles-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.prtns-pg .role-block {
    border-radius: 13px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.prtns-pg .role-block.primary-role {
    background: linear-gradient(293deg, #036977 0%, transparent 70%, #5FBFA9 100%);
    background-color: #036977;
    color: #fff;
    box-shadow: 0 12px 40px 0 rgba(3, 105, 119, 0.11);
}

.prtns-pg .role-block.secondary-role {
    background: #D3E4DB;
    color: #1b3a3f;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
}

.prtns-pg .role-block.tertiary-role {
    background: rgba(95, 191, 169, 0.12);
    border: 1px solid rgba(95, 191, 169, 0.3);
    color: #1b3a3f;
}

.prtns-pg .role-block h3 {
    font-size: 20px;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 300;
    margin: 0;
}

.prtns-pg .role-block.primary-role h3 {
    color: #fff;
}

.prtns-pg .role-block.secondary-role h3,
.prtns-pg .role-block.tertiary-role h3 {
    color: #036977;
}

.prtns-pg .role-block p {
    font-size: 15px;
    line-height: 1.55;
    margin: 0;
}

.prtns-pg .role-block.primary-role p {
    color: rgba(255, 255, 255, 0.88);
}

.prtns-pg .role-block.secondary-role p,
.prtns-pg .role-block.tertiary-role p {
    color: #3a5a60;
}

.prtns-pg .role-img-wrap {
    border-radius: 13px;
    overflow: hidden;
    border: 1px solid rgba(3, 105, 119, 0.12);
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.prtns-pg .role-img-wrap img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

.prtns-pg .metric-strip {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.prtns-pg .metric-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    background: rgba(3, 105, 119, 0.04);
    border-radius: 8px;
    border: 1px solid rgba(3, 105, 119, 0.08);
}

.prtns-pg .metric-num {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    background: linear-gradient(293deg, #036977, transparent 60%, #5FBFA9);
    background-color: #036977;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.prtns-pg .metric-label {
    font-size: 15px;
    line-height: 1.35;
    color: #3a5a60;
}

.prtns-pg .testimonials-sec {
    padding: 80px 0;
    background: linear-gradient(293deg, #D3E4DB 0%, transparent 50%, rgba(95, 191, 169, 0.15) 100%);
    background-color: #f4f9f7;
    position: relative;
}

.prtns-pg .testimonials-sec .pg-bound {
    position: relative;
    z-index: 1;
}

.prtns-pg .testi-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

@media (max-width: 640px) {
    .prtns-pg .testi-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

.prtns-pg .testi-left {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.prtns-pg .testi-left h2 {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1b3a3f;
    margin: 0;
}

.prtns-pg .testi-left .desc {
    font-size: 17px;
    line-height: 1.55;
    color: #3a5a60;
    margin: 0;
}

.prtns-pg .testi-img-wrap {
    border-radius: 13px;
    overflow: hidden;
    border: 1px solid rgba(3, 105, 119, 0.14);
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.prtns-pg .testi-img-wrap img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
}

.prtns-pg .testi-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.prtns-pg .testi-card {
    background: #fff;
    border-radius: 13px;
    padding: 40px;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
    border: 1px solid rgba(3, 105, 119, 0.08);
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    overflow: hidden;
}

.prtns-pg .testi-card::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #036977, #5FBFA9);
    border-radius: 13px 13px 0 0;
}

.prtns-pg .testi-quote {
    font-size: 17px;
    line-height: 1.55;
    color: #2a4a50;
    font-style: italic;
    margin: 0;
}

.prtns-pg .testi-person {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.prtns-pg .testi-name {
    font-size: 15px;
    font-weight: 700;
    color: #036977;
    letter-spacing: 0.04em;
}

.prtns-pg .testi-role-tag {
    font-size: 15px;
    color: #5a7a80;
}

.prtns-pg .coop-sec {
    padding: 80px 0;
    background: #fff;
    position: relative;
}

.prtns-pg .coop-sec .pg-bound {
    position: relative;
    z-index: 1;
}

.prtns-pg .coop-layout {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 80px;
    align-items: center;
}

@media (max-width: 640px) {
    .prtns-pg .coop-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

.prtns-pg .coop-left {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.prtns-pg .coop-left h2 {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1b3a3f;
    margin: 0;
}

.prtns-pg .coop-left p {
    font-size: 17px;
    line-height: 1.55;
    color: #3a5a60;
    margin: 0;
}

.prtns-pg .coop-steps {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.prtns-pg .step-item {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 20px;
    align-items: start;
}

.prtns-pg .step-num {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: linear-gradient(293deg, #036977 0%, transparent 70%, #5FBFA9 100%);
    background-color: #036977;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
}

.prtns-pg .step-body h5 {
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
    color: #1b3a3f;
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.prtns-pg .step-body p {
    font-size: 15px;
    line-height: 1.55;
    color: #3a5a60;
    margin: 0;
}

.prtns-pg .contact-prompt {
    background: linear-gradient(293deg, #036977 0%, transparent 60%, #5FBFA9 100%);
    background-color: #036977;
    border-radius: 13px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0 12px 40px 0 rgba(3, 105, 119, 0.11);
    position: relative;
    overflow: hidden;
}

.prtns-pg .contact-prompt::before {
    content: "";
    position: absolute;
    top: -30px;
    right: -30px;
    width: 140px;
    height: 140px;
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 36px;
    pointer-events: none;
}

.prtns-pg .contact-prompt h4 {
    font-size: 26px;
    line-height: 1.35;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #fff;
    margin: 0;
}

.prtns-pg .contact-prompt p {
    font-size: 17px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
}

.prtns-pg .contact-detail {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.prtns-pg .contact-link {
    font-size: 17px;
    font-weight: 600;
    color: #fff;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.4);
    transition: text-decoration-color 0.09s ease-out;
}

.prtns-pg .contact-link:hover {
    text-decoration-color: #fff;
}

.prtns-pg .btn-partner {
    display: inline-block;
    background: #fff;
    color: #036977;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 20px 40px;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    align-self: flex-start;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
    transition: filter 0.1s ease-out;
}

.prtns-pg .btn-partner:hover {
    filter: brightness(0.95);
}

.prtns-pg .btn-partner:focus {
    outline: 3px solid rgba(95, 191, 169, 0.7);
    outline-offset: 2px;
}

@keyframes diag-reveal {
    from {
        opacity: 0;
        transform: translate(-12px, 12px);
    }

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

.prtns-pg .ttl-left {
    animation: diag-reveal 0.15s ease-out both;
}

.prtns-pg .ttl-right {
    animation: diag-reveal 0.12s ease-out 0.06s both;
}

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

.ctus-pg .pg-bound {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 40px;
}

.ctus-pg .reach-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
    padding: 80px 0;
}

.ctus-pg .reach-label {
    font-size: 15px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #036977;
    font-weight: 600;
    margin-bottom: 20px;
    display: block;
}

.ctus-pg .reach-heading {
    font-size: 50px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #1b3a3f;
    margin-bottom: 20px;
    font-weight: 700;
}

.ctus-pg .reach-sub {
    font-size: 17px;
    line-height: 1.55;
    color: #2e5459;
    margin-bottom: 40px;
}

.ctus-pg .detail-stack {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ctus-pg .detail-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
    padding: 20px;
    background: #fff;
    border-radius: 13px;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06), 0 4px 28px 0 rgba(3, 105, 119, 0.10);
    transition: box-shadow 0.09s ease-out, transform 0.09s ease-out;
}

.ctus-pg .detail-item:hover {
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.08), 0 12px 40px 0 rgba(3, 105, 119, 0.11);
    transform: translateY(-2px);
}

.ctus-pg .det-icon {
    width: 44px;
    height: 44px;
    background: linear-gradient(293deg, #036977 0%, rgba(95, 191, 169, 0.15) 60%, transparent 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
    font-size: 20px;
}

.ctus-pg .det-icon i {
    font-size: 22px;
    color: #fff;
}

.ctus-pg .det-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ctus-pg .det-label {
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #5FBFA9;
    font-weight: 600;
}

.ctus-pg .det-val {
    font-size: 17px;
    line-height: 1.35;
    color: #1b3a3f;
    font-weight: 500;
    text-decoration: none;
}

.ctus-pg .det-val:hover {
    color: #036977;
    text-decoration: underline;
}

.ctus-pg .geo-shape {
    position: absolute;
    top: -30px;
    right: -20px;
    width: 120px;
    height: 120px;
    background: linear-gradient(293deg, rgba(95, 191, 169, 0.18) 0%, transparent 70%);
    clip-path: polygon(30% 0%, 100% 20%, 80% 100%, 0% 70%);
    pointer-events: none;
}

.ctus-pg .reach-left {
    position: relative;
}

.ctus-pg .img-frame {
    position: relative;
    margin-bottom: 40px;
}

.ctus-pg .img-frame img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 13px;
    clip-path: polygon(0 0, 92% 0, 100% 8%, 100% 100%, 8% 100%, 0 92%);
    display: block;
    border: 2px solid transparent;
    transition: border-color 0.12s ease-out;
}

.ctus-pg .img-frame:hover img {
    border-color: #5FBFA9;
}

.ctus-pg .geo-tri {
    position: absolute;
    bottom: -15px;
    left: -15px;
    width: 60px;
    height: 60px;
    background: rgba(211, 228, 219, 0.7);
    clip-path: polygon(0 0, 100% 100%, 0 100%);
    pointer-events: none;
}

.ctus-pg .cross-divider {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 10px 0;
    overflow: hidden;
}

.ctus-pg .cross-unit {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}

.ctus-pg .cross-sym {
    width: 14px;
    height: 14px;
    position: relative;
    flex-shrink: 0;
}

.ctus-pg .cross-sym::before,
.ctus-pg .cross-sym::after {
    content: "";
    position: absolute;
    background: #D3E4DB;
}

.ctus-pg .cross-sym::before {
    width: 2px;
    height: 14px;
    left: 6px;
    top: 0;
}

.ctus-pg .cross-sym::after {
    width: 14px;
    height: 2px;
    left: 0;
    top: 6px;
}

.ctus-pg .cross-line {
    width: 40px;
    height: 1px;
    background: #D3E4DB;
}

.ctus-pg .form-band {
    background: linear-gradient(293deg, #036977 0%, rgba(3, 105, 119, 0.85) 45%, rgba(95, 191, 169, 0.4) 100%);
    position: relative;
    overflow: hidden;
    padding: 80px 0;
}

.ctus-pg .form-band .radial-spot {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 400px;
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.07) 0%, transparent 65%);
    pointer-events: none;
    animation: spot-breathe 5s ease-in-out infinite;
}

@keyframes spot-breathe {

    0%,
    100% {
        opacity: 0.6;
    }

    50% {
        opacity: 1;
    }
}

.ctus-pg .form-inner {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 80px;
    align-items: start;
    position: relative;
    z-index: 1;
}

.ctus-pg .form-meta-head {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: #fff;
    font-weight: 700;
    margin-bottom: 20px;
}

.ctus-pg .form-meta-desc {
    font-size: 17px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.82);
    margin-bottom: 40px;
}

.ctus-pg .service-tag-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ctus-pg .svc-tag {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
}

.ctus-pg .svc-dot {
    width: 8px;
    height: 8px;
    border-radius: 36px;
    background: #5FBFA9;
    flex-shrink: 0;
}

.ctus-pg .contact-form {
    background: #fff;
    border-radius: 13px;
    padding: 40px;
    box-shadow: 0 12px 40px 0 rgba(3, 105, 119, 0.11);
}

.ctus-pg .form-group {
    margin-bottom: 20px;
}

.ctus-pg .form-group label {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #1b3a3f;
    margin-bottom: 10px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ctus-pg .form-group input[type="text"],
.ctus-pg .form-group input[type="email"] {
    width: 100%;
    padding: 10px 20px;
    border: 2px solid #D3E4DB;
    border-radius: 8px;
    font-size: 17px;
    color: #1b3a3f;
    background: #fff;
    transition: border-color 0.1s ease-out, box-shadow 0.1s ease-out;
    outline: none;
    box-sizing: border-box;
}

.ctus-pg .form-group input[type="text"]::placeholder,
.ctus-pg .form-group input[type="email"]::placeholder {
    color: #8aacb0;
    font-size: 15px;
}

.ctus-pg .form-group input[type="text"]:focus,
.ctus-pg .form-group input[type="email"]:focus {
    border-color: #5FBFA9;
    box-shadow: 0 0 0 3px rgba(95, 191, 169, 0.15);
}

.ctus-pg .checks-label {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #1b3a3f;
    margin-bottom: 10px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ctus-pg .checks-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 20px;
}

.ctus-pg .check-opt {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 2px solid #D3E4DB;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.08s ease-out, background 0.08s ease-out;
}

.ctus-pg .check-opt:hover {
    border-color: #5FBFA9;
    background: rgba(95, 191, 169, 0.06);
}

.ctus-pg .check-opt input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #036977;
    cursor: pointer;
    flex-shrink: 0;
    margin: 0;
}

.ctus-pg .check-opt span {
    font-size: 15px;
    color: #2e5459;
    line-height: 1.35;
}

.ctus-pg .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 20px;
    padding: 20px;
    background: rgba(211, 228, 219, 0.3);
    border-radius: 8px;
}

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

.ctus-pg .privacy-text {
    font-size: 15px;
    line-height: 1.55;
    color: #2e5459;
}

.ctus-pg .privacy-text a {
    color: #036977;
    text-decoration: underline;
}

.ctus-pg .privacy-text a:hover {
    color: #5FBFA9;
}

.ctus-pg .submit-btn {
    width: 100%;
    padding: 20px;
    background: #036977;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: filter 0.09s ease-out, box-shadow 0.09s ease-out;
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.ctus-pg .submit-btn:hover {
    filter: brightness(1.15);
    box-shadow: 0 12px 40px 0 rgba(3, 105, 119, 0.11);
}

.ctus-pg .submit-btn:focus {
    outline: 3px solid #5FBFA9;
    outline-offset: 3px;
}

.ctus-pg .submit-btn:active {
    filter: brightness(0.95);
}

.ctus-pg .form-section-tag {
    position: absolute;
    top: -12px;
    right: 20px;
    background: #5FBFA9;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 36px;
    letter-spacing: 0.05em;
}

.ctus-pg .contact-form-wrap {
    position: relative;
}

@media (max-width: 1024px) {
    .ctus-pg .reach-row {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 80px 0;
    }

    .ctus-pg .form-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .ctus-pg .checks-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .ctus-pg .pg-bound {
        padding: 0 20px;
    }

    .ctus-pg .reach-heading {
        font-size: 36px;
    }

    .ctus-pg .form-meta-head {
        font-size: 26px;
    }

    .ctus-pg .reach-row {
        padding: 40px 0;
    }

    .ctus-pg .form-band {
        padding: 40px 0;
    }

    .ctus-pg .contact-form {
        padding: 20px;
    }

    .ctus-pg .checks-grid {
        grid-template-columns: 1fr;
    }

    .ctus-pg .geo-shape {
        display: none;
    }
}

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

.lnch-pg .pg-container {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 20px;
}

.lnch-pg .reveal-mask {
    position: relative;
    overflow: hidden;
    border-radius: 13px;
}

.lnch-pg .reveal-mask img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: clip-path 0.12s ease-out, transform 0.1s ease-out;
    clip-path: circle(52% at 50% 50%);
}

.lnch-pg .reveal-mask:hover img {
    clip-path: circle(75% at 50% 50%);
    transform: scale(1.03);
}

.lnch-pg .cold-grade {
    filter: saturate(0.7) hue-rotate(0deg) brightness(0.92) contrast(1.08);
}

.lnch-pg .img-frame {
    border: 1px solid rgba(3, 105, 119, 0.18);
    border-radius: 13px;
    overflow: hidden;
}

::selection {
    background: rgba(95, 191, 169, 0.22);
    color: #1b3a3f;
}

.lnch-pg .pg-container input::placeholder,
.lnch-pg .pg-container textarea::placeholder {
    font-size: 15px;
    color: #8a9ea0;
}

.lnch-pg .abst-circles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
    border-radius: 8px;
}

.lnch-pg .abst-circles span {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(3, 105, 119, 0.1);
}

.lnch-pg .abst-circles span:nth-child(1) {
    width: 220px;
    height: 220px;
    top: -60px;
    right: -60px;
}

.lnch-pg .abst-circles span:nth-child(2) {
    width: 140px;
    height: 140px;
    top: 20px;
    right: -20px;
    border-color: rgba(95, 191, 169, 0.12);
}

.lnch-pg .abst-circles span:nth-child(3) {
    width: 80px;
    height: 80px;
    bottom: 40px;
    left: 20px;
    border-color: rgba(3, 105, 119, 0.07);
}

.lnch-pg .diag-lines {
    position: absolute;
    pointer-events: none;
    overflow: hidden;
}

.lnch-pg .diag-lines svg {
    opacity: 0.07;
}

.lnch-pg [data-inset] {
    box-shadow: inset 0 2px 6px 0 rgba(3, 105, 119, 0.08);
}

.lnch-pg .grad-breath {
    background: linear-gradient(293deg, #036977 0%, rgba(3, 105, 119, 0) 45%, rgba(95, 191, 169, 0) 55%, #5FBFA9 100%);
    background-size: 200% 200%;
    animation: breathe 8s ease-in-out infinite;
}

@keyframes breathe {
    0% {
        background-position: 0% 50%;
    }

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

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

.lnch-pg .title-strip {
    padding: 80px 0 40px;
    position: relative;
    background: #fff;
}

.lnch-pg .title-strip .pg-container {
    display: grid;
    grid-template-columns: 1fr 1.7fr;
    gap: 40px;
    align-items: center;
}

.lnch-pg .title-img-col {
    position: relative;
}

.lnch-pg .title-img-col .img-frame {
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.lnch-pg .title-img-col img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.lnch-pg .title-text-col {
    padding: 40px 20px 40px 0;
    position: relative;
}

.lnch-pg .eyebrow-label {
    font-size: 15px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5FBFA9;
    margin-bottom: 20px;
    display: block;
}

.lnch-pg .title-text-col h1 {
    font-size: 50px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #036977;
    margin-bottom: 20px;
    font-weight: 700;
}

.lnch-pg .title-lead {
    font-size: 20px;
    line-height: 1.55;
    color: #2a4a4f;
    margin-bottom: 20px;
}

.lnch-pg .title-sub {
    font-size: 17px;
    line-height: 1.55;
    color: #3d5a5f;
    margin-bottom: 40px;
}

.lnch-pg .title-cta-row {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
}

.lnch-pg .btn-prim {
    display: inline-block;
    background: #036977;
    color: #fff;
    padding: 10px 40px;
    border-radius: 8px;
    font-size: 17px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
    transition: filter 0.09s ease-out;
}

.lnch-pg .btn-prim:hover {
    filter: brightness(1.15);
    color: #fff;
    text-decoration: none;
}

.lnch-pg .btn-prim:focus {
    outline: 2px solid #5FBFA9;
    outline-offset: 3px;
}

.lnch-pg .btn-sec {
    display: inline-block;
    background: #D3E4DB;
    color: #036977;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 17px;
    font-weight: 500;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: filter 0.1s linear;
}

.lnch-pg .btn-sec:hover {
    filter: brightness(0.94);
    color: #036977;
    text-decoration: none;
}

.lnch-pg .btn-sec:focus {
    outline: 2px solid #036977;
    outline-offset: 3px;
}

.lnch-pg .divider-tri {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 32px;
    position: relative;
}

.lnch-pg .divider-tri::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    background: #D3E4DB;
}

.lnch-pg .divider-tri svg {
    position: relative;
    z-index: 1;
    background: transparent;
}

.lnch-pg .conditions-strip {
    padding: 80px 0;
    background: linear-gradient(293deg, rgba(3, 105, 119, 0.06) 0%, rgba(3, 105, 119, 0) 40%, rgba(95, 191, 169, 0) 60%, rgba(95, 191, 169, 0.08) 100%);
    position: relative;
}

.lnch-pg .conditions-strip .pg-container {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 80px;
    align-items: start;
}

.lnch-pg .cond-text h2 {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: #036977;
    margin-bottom: 20px;
    font-weight: 700;
    text-transform: uppercase;
    font-weight: 300;
    letter-spacing: 0.04em;
}

.lnch-pg .cond-text p {
    font-size: 17px;
    line-height: 1.55;
    color: #2a4a4f;
    margin-bottom: 20px;
}

.lnch-pg .cond-text p em {
    font-style: italic;
    font-size: 20px;
    color: #036977;
}

.lnch-pg .cond-checklist {
    list-style: disc;
    padding-left: 20px;
    margin: 0;
}

.lnch-pg .cond-checklist li {
    font-size: 17px;
    line-height: 1.55;
    color: #2a4a4f;
    margin-bottom: 10px;
}

.lnch-pg .cond-img-col {
    position: relative;
}

.lnch-pg .cond-img-col img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 13px;
}

.lnch-pg .cond-img-col .img-frame {
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.lnch-pg .cond-img-col .diag-lines {
    bottom: -20px;
    right: -20px;
    width: 80px;
    height: 80px;
}

.lnch-pg .approach-strip {
    padding: 80px 0;
    background: #fff;
    position: relative;
}

.lnch-pg .approach-strip .pg-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.lnch-pg .approach-header {
    max-width: 640px;
}

.lnch-pg .approach-header h2 {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: 0.04em;
    color: #036977;
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.lnch-pg .approach-header p {
    font-size: 17px;
    line-height: 1.55;
    color: #2a4a4f;
}

.lnch-pg .three-cols {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.lnch-pg .col-card {
    border-radius: 13px;
    padding: 40px 20px;
    position: relative;
    overflow: hidden;
}

.lnch-pg .col-card.bg-deep {
    background: #036977;
    color: #fff;
}

.lnch-pg .col-card.bg-mid {
    background: #5FBFA9;
    color: #fff;
}

.lnch-pg .col-card.bg-light {
    background: #D3E4DB;
    color: #1b3a3f;
}

.lnch-pg .col-card h4 {
    font-size: 17px;
    line-height: 1.35;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 20px;
}

.lnch-pg .col-card.bg-deep h4 {
    color: #D3E4DB;
}

.lnch-pg .col-card.bg-mid h4 {
    color: #fff;
}

.lnch-pg .col-card.bg-light h4 {
    color: #036977;
}

.lnch-pg .col-card p {
    font-size: 15px;
    line-height: 1.55;
    margin: 0;
}

.lnch-pg .col-card.bg-deep p {
    color: rgba(255, 255, 255, 0.88);
}

.lnch-pg .col-card.bg-mid p {
    color: rgba(255, 255, 255, 0.9);
}

.lnch-pg .col-card.bg-light p {
    color: #2a4a4f;
}

.lnch-pg .col-card .card-icon {
    width: 36px;
    height: 36px;
    margin-bottom: 20px;
    opacity: 0.7;
}

.lnch-pg .longterm-strip {
    padding: 80px 0 40px;
    background: linear-gradient(293deg, rgba(211, 228, 219, 0.5) 0%, rgba(211, 228, 219, 0) 50%, rgba(3, 105, 119, 0) 100%);
    position: relative;
}

.lnch-pg .longterm-strip .pg-container {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 40px;
    align-items: center;
}

.lnch-pg .lt-img-col {
    position: relative;
}

.lnch-pg .lt-img-col .reveal-mask img {
    height: 360px;
    width: 100%;
}

.lnch-pg .lt-img-col .diag-lines {
    top: -20px;
    left: -20px;
    width: 80px;
    height: 80px;
}

.lnch-pg .lt-text h2 {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: 0.04em;
    font-weight: 300;
    text-transform: uppercase;
    color: #036977;
    margin-bottom: 20px;
}

.lnch-pg .lt-text p {
    font-size: 17px;
    line-height: 1.55;
    color: #2a4a4f;
    margin-bottom: 20px;
}

.lnch-pg .lt-text p em {
    font-style: italic;
    font-size: 20px;
    color: #036977;
}

.lnch-pg .lt-stat-row {
    display: flex;
    flex-direction: row;
    gap: 40px;
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid rgba(3, 105, 119, 0.15);
}

.lnch-pg .lt-stat {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lnch-pg .lt-stat .stat-num {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 700;
    color: #036977;
    letter-spacing: -0.02em;
}

.lnch-pg .lt-stat .stat-desc {
    font-size: 15px;
    line-height: 1.35;
    color: #3d5a5f;
}

.lnch-pg .invest-strip {
    padding: 80px 0;
    position: relative;
    background: #036977;
    overflow: hidden;
}

.lnch-pg .invest-strip .pg-container {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.lnch-pg .invest-strip .grad-breath {
    position: absolute;
    inset: 0;
    opacity: 0.25;
    z-index: 1;
}

.lnch-pg .invest-head h2 {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: 0.04em;
    font-weight: 300;
    text-transform: uppercase;
    color: #D3E4DB;
    margin-bottom: 20px;
}

.lnch-pg .invest-head p {
    font-size: 17px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.82);
    max-width: 560px;
}

.lnch-pg .invest-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.lnch-pg .invest-item {
    background: rgba(255, 255, 255, 0.07);
    border-radius: 13px;
    padding: 40px 20px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 2px 6px 0 rgba(3, 105, 119, 0.08);
    transition: background 0.1s ease-out;
}

.lnch-pg .invest-item:hover {
    background: rgba(255, 255, 255, 0.11);
}

.lnch-pg .invest-item h5 {
    font-size: 15px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #5FBFA9;
    margin-bottom: 10px;
    font-weight: 600;
}

.lnch-pg .invest-item p {
    font-size: 17px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
}

.lnch-pg .invest-item .invest-val {
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 10px;
    display: block;
}

.lnch-pg .invest-strip .invest-img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 300px;
    height: 260px;
    object-fit: cover;
    object-position: center;
    opacity: 0.12;
    border-radius: 13px 0 0 0;
    z-index: 1;
}

.lnch-pg .experience-strip {
    padding: 80px 0;
    background: #fff;
    position: relative;
}

.lnch-pg .experience-strip .pg-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.lnch-pg .exp-header {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    align-items: end;
}

.lnch-pg .exp-header h2 {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: 0.04em;
    font-weight: 300;
    text-transform: uppercase;
    color: #036977;
    margin: 0;
}

.lnch-pg .exp-header p {
    font-size: 17px;
    line-height: 1.55;
    color: #2a4a4f;
    margin: 0;
}

.lnch-pg .exp-phases {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lnch-pg .phase-row {
    display: grid;
    grid-template-columns: 80px 1fr 1fr;
    gap: 20px;
    align-items: start;
    padding: 20px;
    border-radius: 8px;
    background: #f4f9f7;
    border: 1px solid rgba(3, 105, 119, 0.08);
    transition: background 0.09s ease-out;
}

.lnch-pg .phase-row:hover {
    background: #eaf4f0;
}

.lnch-pg .phase-num {
    font-size: 50px;
    line-height: 1.1;
    font-weight: 700;
    color: rgba(3, 105, 119, 0.15);
    letter-spacing: -0.03em;
    text-align: center;
}

.lnch-pg .phase-desc h5 {
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #036977;
    margin-bottom: 10px;
}

.lnch-pg .phase-desc p {
    font-size: 15px;
    line-height: 1.55;
    color: #2a4a4f;
    margin: 0;
}

.lnch-pg .phase-feel {
    padding-left: 20px;
    border-left: none;
}

.lnch-pg .phase-feel p {
    font-size: 15px;
    line-height: 1.55;
    color: #5FBFA9;
    font-style: italic;
    margin: 0;
}

.lnch-pg .exp-img-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: center;
}

.lnch-pg .exp-img-row img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 13px;
    border: 1px solid rgba(3, 105, 119, 0.12);
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
}

.lnch-pg .exp-img-row .exp-quote {
    padding: 40px 20px;
    background: #D3E4DB;
    border-radius: 13px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lnch-pg .exp-quote blockquote {
    font-size: 20px;
    line-height: 1.55;
    color: #036977;
    font-style: italic;
    margin: 0;
    border: none;
    padding: 0;
}

.lnch-pg .exp-quote cite {
    font-size: 15px;
    color: #3d5a5f;
    font-style: normal;
    letter-spacing: 0.04em;
}

@media (max-width: 1024px) {
    .lnch-pg .title-strip .pg-container {
        grid-template-columns: 1fr 1.4fr;
        gap: 20px;
    }

    .lnch-pg .title-text-col h1 {
        font-size: 36px;
    }

    .lnch-pg .three-cols {
        grid-template-columns: 1fr 1fr;
    }

    .lnch-pg .three-cols .col-card:last-child {
        grid-column: 1 / -1;
    }

    .lnch-pg .lt-stat-row {
        gap: 20px;
    }

    .lnch-pg .phase-row {
        grid-template-columns: 60px 1fr;
    }

    .lnch-pg .phase-feel {
        grid-column: 2 / 3;
        padding-left: 0;
        padding-top: 10px;
    }
}

@media (max-width: 640px) {
    .lnch-pg .title-strip {
        padding: 40px 0;
    }

    .lnch-pg .title-strip .pg-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .lnch-pg .title-img-col img {
        height: 260px;
    }

    .lnch-pg .title-text-col {
        padding: 0;
    }

    .lnch-pg .title-text-col h1 {
        font-size: 36px;
    }

    .lnch-pg .title-lead {
        font-size: 17px;
    }

    .lnch-pg .conditions-strip {
        padding: 40px 0;
    }

    .lnch-pg .conditions-strip .pg-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .lnch-pg .cond-img-col img {
        height: 240px;
    }

    .lnch-pg .approach-strip {
        padding: 40px 0;
    }

    .lnch-pg .three-cols {
        grid-template-columns: 1fr;
    }

    .lnch-pg .three-cols .col-card:last-child {
        grid-column: auto;
    }

    .lnch-pg .longterm-strip {
        padding: 40px 0;
    }

    .lnch-pg .longterm-strip .pg-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .lnch-pg .lt-stat-row {
        flex-direction: column;
        gap: 20px;
    }

    .lnch-pg .invest-strip {
        padding: 40px 0;
    }

    .lnch-pg .invest-grid {
        grid-template-columns: 1fr;
    }

    .lnch-pg .invest-strip .invest-img {
        display: none;
    }

    .lnch-pg .experience-strip {
        padding: 40px 0;
    }

    .lnch-pg .exp-header {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .lnch-pg .phase-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .lnch-pg .phase-num {
        font-size: 36px;
        text-align: left;
    }

    .lnch-pg .phase-feel {
        grid-column: auto;
        padding-left: 0;
    }

    .lnch-pg .exp-img-row {
        grid-template-columns: 1fr;
    }

    .lnch-pg .exp-img-row img {
        height: 200px;
    }

    .lnch-pg .invest-head h2,
    .lnch-pg .lt-text h2,
    .lnch-pg .approach-header h2,
    .lnch-pg .cond-text h2,
    .lnch-pg .exp-header h2 {
        font-size: 26px;
    }
}

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

.srvs-pg .pg-limit {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
}

.srvs-pg .opener {
    padding-top: 80px;
    padding-bottom: 80px;
    background: linear-gradient(293deg, #036977 0%, #036977 18%, rgba(3, 105, 119, 0.08) 52%, #ffffff 100%);
    position: relative;
}

.srvs-pg .opener-inner {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 40px;
}

.srvs-pg .opener-img-col {
    flex: 0 0 320px;
    position: relative;
}

.srvs-pg .opener-img-frame {
    width: 300px;
    height: 300px;
    overflow: hidden;
    clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
    outline: 1.5px solid rgba(3, 105, 119, 0.18);
    outline-offset: -1px;
}

.srvs-pg .opener-img-frame img {
    width: 300px;
    height: 300px;
    object-fit: cover;
    display: block;
}

.srvs-pg .opener-shape-a {
    position: absolute;
    top: -20px;
    left: -20px;
    width: 80px;
    height: 80px;
    border: 2px solid rgba(95, 191, 169, 0.28);
    border-radius: 13px;
    pointer-events: none;
}

.srvs-pg .opener-shape-b {
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 48px;
    height: 48px;
    background: rgba(95, 191, 169, 0.13);
    border-radius: 48px;
    pointer-events: none;
}

.srvs-pg .opener-text-col {
    flex: 1 1 0;
    padding-top: 40px;
}

.srvs-pg .opener-eyebrow {
    font-size: 15px;
    line-height: 1.35;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5FBFA9;
    font-weight: 600;
    margin-bottom: 20px;
}

.srvs-pg .opener-h1 {
    font-size: 50px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 800;
    color: #036977;
    margin-bottom: 20px;
}

.srvs-pg .opener-h1 em {
    font-style: italic;
    font-size: 56px;
    color: #036977;
}

.srvs-pg .opener-desc {
    font-size: 17px;
    line-height: 1.55;
    color: #2a4a4f;
    max-width: 480px;
    margin-bottom: 40px;
}

.srvs-pg .opener-stat-row {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

.srvs-pg .opener-stat {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.srvs-pg .stat-num {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #036977;
}

.srvs-pg .stat-label {
    font-size: 15px;
    line-height: 1.35;
    color: #4a6a70;
    letter-spacing: 0.02em;
}

.srvs-pg .offerings {
    padding-top: 80px;
    padding-bottom: 80px;
    background: #ffffff;
}

.srvs-pg .offerings-head {
    margin-bottom: 40px;
}

.srvs-pg .offerings-h2 {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #036977;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.srvs-pg .offerings-sub {
    font-size: 17px;
    line-height: 1.55;
    color: #3d5f65;
    max-width: 560px;
}

.srvs-pg .svc-trio {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    gap: 20px;
    align-items: start;
}

.srvs-pg .svc-card {
    background: #f4faf8;
    border-radius: 13px;
    padding: 40px 20px;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
    transition: box-shadow 0.1s ease-out, transform 0.08s ease-out;
    position: relative;
    overflow: hidden;
}

.srvs-pg .svc-card:hover {
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
    transform: translateY(-2px);
}

.srvs-pg .svc-card.tall {
    padding-top: 60px;
    padding-bottom: 60px;
}

.srvs-pg .svc-card-accent {
    width: 40px;
    height: 4px;
    background: #5FBFA9;
    border-radius: 8px;
    margin-bottom: 20px;
}

.srvs-pg .svc-icon {
    font-family: 'Framework7 Icons';
    font-size: 26px;
    color: #036977;
    display: block;
    margin-bottom: 20px;
    line-height: 1.1;
}

.srvs-pg .svc-card-h3 {
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #036977;
    margin-bottom: 10px;
}

.srvs-pg .svc-card-p {
    font-size: 15px;
    line-height: 1.55;
    color: #3d5f65;
    margin-bottom: 20px;
}

.srvs-pg .svc-tag-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.srvs-pg .svc-tag-list li {
    font-size: 15px;
    line-height: 1.35;
    color: #2a4a4f;
    padding-left: 20px;
    position: relative;
}

.srvs-pg .svc-tag-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 6px;
    height: 6px;
    background: #5FBFA9;
    border-radius: 36px;
}

.srvs-pg .svc-card-bg-shape {
    position: absolute;
    bottom: -20px;
    right: -20px;
    width: 80px;
    height: 80px;
    background: rgba(95, 191, 169, 0.10);
    border-radius: 48px;
    pointer-events: none;
}

.srvs-pg .process-band {
    padding-top: 80px;
    padding-bottom: 80px;
    background: linear-gradient(293deg, rgba(3, 105, 119, 0.06) 0%, rgba(95, 191, 169, 0.04) 50%, rgba(211, 228, 219, 0.18) 100%);
    position: relative;
    overflow: hidden;
}

.srvs-pg .process-band-shapes {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
}

.srvs-pg .pb-geo-a {
    position: absolute;
    top: -60px;
    right: 80px;
    width: 220px;
    height: 220px;
    border: 40px solid rgba(95, 191, 169, 0.06);
    border-radius: 48px;
    transform: rotate(22deg);
}

.srvs-pg .pb-geo-b {
    position: absolute;
    bottom: -40px;
    left: 40px;
    width: 160px;
    height: 160px;
    background: rgba(3, 105, 119, 0.04);
    border-radius: 36px;
    transform: rotate(-15deg);
}

.srvs-pg .process-band-inner {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
    position: relative;
}

.srvs-pg .process-h2 {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: #036977;
    margin-bottom: 10px;
}

.srvs-pg .process-intro {
    font-size: 17px;
    line-height: 1.55;
    color: #3d5f65;
    max-width: 520px;
    margin-bottom: 40px;
}

.srvs-pg .steps-track {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: stretch;
}

.srvs-pg .step-item {
    flex: 1 1 0;
    background: #ffffff;
    border-radius: 13px;
    padding: 40px 20px 20px;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
}

.srvs-pg .step-num {
    font-size: 50px;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: rgba(3, 105, 119, 0.12);
    position: absolute;
    top: 10px;
    right: 20px;
    user-select: none;
}

.srvs-pg .step-icon {
    font-family: 'Framework7 Icons';
    font-size: 26px;
    color: #5FBFA9;
    line-height: 1.1;
}

.srvs-pg .step-h4 {
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #036977;
    margin: 0;
}

.srvs-pg .step-p {
    font-size: 15px;
    line-height: 1.55;
    color: #3d5f65;
    margin: 0;
}

.srvs-pg .connector-line {
    width: 2px;
    background: linear-gradient(180deg, rgba(95, 191, 169, 0.4) 0%, rgba(3, 105, 119, 0.2) 100%);
    align-self: stretch;
    flex-shrink: 0;
    border-radius: 8px;
    margin-top: 40px;
    margin-bottom: 20px;
}

.srvs-pg .formats-band {
    padding-top: 80px;
    padding-bottom: 80px;
    background: #036977;
}

.srvs-pg .formats-inner {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
}

.srvs-pg .formats-h2 {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: #D3E4DB;
    margin-bottom: 10px;
}

.srvs-pg .formats-lead {
    font-size: 17px;
    line-height: 1.55;
    color: rgba(211, 228, 219, 0.78);
    max-width: 500px;
    margin-bottom: 40px;
}

.srvs-pg .formats-split {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
}

.srvs-pg .formats-left {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.srvs-pg .format-row {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
    padding: 20px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 13px;
    transition: background 0.12s ease-out;
    cursor: default;
}

.srvs-pg .format-row:hover {
    background: rgba(255, 255, 255, 0.11);
}

.srvs-pg .format-icon-wrap {
    width: 44px;
    height: 44px;
    background: rgba(95, 191, 169, 0.2);
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.srvs-pg .format-icon {
    font-family: 'Framework7 Icons';
    font-size: 20px;
    color: #5FBFA9;
    line-height: 1.1;
}

.srvs-pg .format-text-col {
    flex: 1 1 0;
}

.srvs-pg .format-h4 {
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
    color: #D3E4DB;
    margin-bottom: 10px;
    letter-spacing: 0.02em;
}

.srvs-pg .format-p {
    font-size: 15px;
    line-height: 1.55;
    color: rgba(211, 228, 219, 0.72);
    margin: 0;
}

.srvs-pg .formats-right {
    flex: 0 0 300px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.srvs-pg .cta-card {
    background: rgba(255, 255, 255, 0.09);
    border-radius: 13px;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0 12px 40px 0 rgba(3, 105, 119, 0.11);
}

.srvs-pg .cta-card-h3 {
    font-size: 26px;
    line-height: 1.35;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

.srvs-pg .cta-card-p {
    font-size: 15px;
    line-height: 1.55;
    color: rgba(211, 228, 219, 0.78);
    margin: 0;
}

.srvs-pg .btn-primary {
    display: inline-block;
    background: #5FBFA9;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 20px 40px;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: filter 0.09s ease-out;
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
    text-align: center;
}

.srvs-pg .btn-primary:hover {
    filter: brightness(1.1);
}

.srvs-pg .btn-secondary {
    display: inline-block;
    background: rgba(255, 255, 255, 0.12);
    color: #D3E4DB;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 20px 40px;
    border-radius: 8px;
    text-decoration: none;
    border: 1px solid rgba(211, 228, 219, 0.25);
    cursor: pointer;
    transition: filter 0.09s ease-out, background 0.1s ease-out;
    text-align: center;
}

.srvs-pg .btn-secondary:hover {
    filter: brightness(1.12);
    background: rgba(255, 255, 255, 0.18);
}

.srvs-pg .underline-anim {
    display: inline-block;
    position: relative;
}

.srvs-pg .underline-anim::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    height: 2px;
    background: #5FBFA9;
    border-radius: 8px;
    animation: line-breathe 2.4s ease-out infinite;
}

@keyframes line-breathe {
    0% {
        width: 0%;
    }

    40% {
        width: 100%;
    }

    70% {
        width: 100%;
    }

    100% {
        width: 0%;
    }
}

@media (max-width: 1024px) {
    .srvs-pg .opener-img-col {
        flex: 0 0 260px;
    }

    .srvs-pg .opener-img-frame,
    .srvs-pg .opener-img-frame img {
        width: 240px;
        height: 240px;
    }

    .srvs-pg .opener-h1 {
        font-size: 36px;
    }

    .srvs-pg .opener-h1 em {
        font-size: 40px;
    }

    .srvs-pg .svc-trio {
        grid-template-columns: 1fr 1fr;
    }

    .srvs-pg .steps-track {
        flex-direction: column;
    }

    .srvs-pg .connector-line {
        display: none;
    }

    .srvs-pg .formats-split {
        flex-direction: column;
    }

    .srvs-pg .formats-right {
        flex: 1 1 auto;
        width: 100%;
    }
}

@media (max-width: 640px) {

    .srvs-pg .pg-limit,
    .srvs-pg .opener-inner,
    .srvs-pg .process-band-inner,
    .srvs-pg .formats-inner {
        padding-left: 20px;
        padding-right: 20px;
    }

    .srvs-pg .opener-inner {
        flex-direction: column;
        gap: 20px;
    }

    .srvs-pg .opener-img-col {
        flex: none;
        width: 100%;
    }

    .srvs-pg .opener-img-frame,
    .srvs-pg .opener-img-frame img {
        width: 100%;
        height: 220px;
    }

    .srvs-pg .opener-text-col {
        padding-top: 0;
    }

    .srvs-pg .opener-h1 {
        font-size: 36px;
    }

    .srvs-pg .opener-h1 em {
        font-size: 36px;
    }

    .srvs-pg .opener-stat-row {
        flex-direction: column;
        gap: 20px;
    }

    .srvs-pg .svc-trio {
        grid-template-columns: 1fr;
    }

    .srvs-pg .svc-card.tall {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .srvs-pg .opener {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .srvs-pg .offerings,
    .srvs-pg .process-band,
    .srvs-pg .formats-band {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .srvs-pg .formats-split {
        gap: 20px;
    }

    .srvs-pg .cta-card {
        padding: 20px;
    }
}

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

.abt-us .page-cap {
    background: linear-gradient(293deg, #036977 0%, #036977 30%, rgba(3, 105, 119, 0.18) 65%, transparent 100%);
    padding: 80px 20px;
    position: relative;
}

.abt-us .page-cap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(293deg, #5FBFA9 0%, #036977 60%, transparent 100%);
}

.abt-us .cap-frame {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 80px;
}

.abt-us .cap-text {
    flex: 1;
}

.abt-us .cap-text h1 {
    font-size: 50px;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: #fff;
    margin-bottom: 20px;
    font-weight: 700;
    text-transform: uppercase;
}

.abt-us .cap-text p {
    font-size: 17px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.88);
    max-width: 480px;
}

.abt-us .cap-img-col {
    flex: 0 0 340px;
    position: relative;
}

.abt-us .cap-img-wrap {
    width: 340px;
    height: 400px;
    border-radius: 13px;
    overflow: hidden;
    border: 1.5px solid rgba(95, 191, 169, 0.45);
    box-shadow: 0 12px 40px 0 rgba(3, 105, 119, 0.11);
    position: relative;
}

.abt-us .cap-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(293deg, rgba(3, 105, 119, 0.18) 0%, transparent 60%);
    pointer-events: none;
}

.abt-us .cap-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: contrast(1.04) brightness(0.97);
}

.abt-us .cap-year-badge {
    position: absolute;
    bottom: -20px;
    right: -20px;
    background: #5FBFA9;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 10px 20px;
    border-radius: 8px;
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
    letter-spacing: 0.04em;
}

.abt-us .who-strip {
    background: #fff;
    padding: 80px 20px;
}

.abt-us .who-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}

.abt-us .who-label {
    font-size: 15px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #5FBFA9;
    font-weight: 600;
    margin-bottom: 20px;
}

.abt-us .who-left h2 {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #036977;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.abt-us .who-left p {
    font-size: 17px;
    line-height: 1.55;
    color: #2a3a3c;
    margin-bottom: 20px;
}

.abt-us .who-left em {
    font-style: italic;
    font-size: 20px;
    color: #036977;
    line-height: 1.35;
    display: block;
    margin-bottom: 20px;
}

.abt-us .who-right {
    padding-top: 40px;
}

.abt-us .who-right p {
    font-size: 17px;
    line-height: 1.55;
    color: #2a3a3c;
    margin-bottom: 20px;
}

.abt-us .who-right p:last-child {
    margin-bottom: 0;
}

.abt-us .metrics-band {
    background: linear-gradient(293deg, #036977 0%, #047a8a 45%, #5FBFA9 100%);
    padding: 80px 20px;
    position: relative;
    overflow: hidden;
}

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

.abt-us .metrics-dots span {
    position: absolute;
    border-radius: 48px;
    background: rgba(255, 255, 255, 0.07);
}

.abt-us .metrics-dots span:nth-child(1) {
    width: 14px;
    height: 14px;
    top: 18%;
    left: 8%;
}

.abt-us .metrics-dots span:nth-child(2) {
    width: 7px;
    height: 7px;
    top: 55%;
    left: 15%;
}

.abt-us .metrics-dots span:nth-child(3) {
    width: 20px;
    height: 20px;
    top: 75%;
    left: 5%;
}

.abt-us .metrics-dots span:nth-child(4) {
    width: 10px;
    height: 10px;
    top: 30%;
    left: 88%;
}

.abt-us .metrics-dots span:nth-child(5) {
    width: 16px;
    height: 16px;
    top: 65%;
    left: 92%;
}

.abt-us .metrics-dots span:nth-child(6) {
    width: 6px;
    height: 6px;
    top: 12%;
    left: 75%;
}

.abt-us .metrics-dots span:nth-child(7) {
    width: 22px;
    height: 22px;
    top: 85%;
    left: 60%;
}

.abt-us .metrics-dots span:nth-child(8) {
    width: 9px;
    height: 9px;
    top: 40%;
    left: 50%;
}

.abt-us .metrics-inner {
    max-width: 1024px;
    margin: 0 auto;
}

.abt-us .metrics-inner h2 {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 40px;
    text-align: center;
}

.abt-us .metrics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.abt-us .met-card {
    background: rgba(255, 255, 255, 0.11);
    border: 1.5px solid rgba(255, 255, 255, 0.2);
    border-radius: 13px;
    padding: 40px 20px;
    text-align: center;
    position: relative;
    transition: box-shadow 0.09s ease-out, background 0.12s ease-out;
    animation: shadow-pulse 3s ease-in-out infinite;
}

.abt-us .met-card:nth-child(2) {
    animation-delay: 1s;
}

.abt-us .met-card:nth-child(3) {
    animation-delay: 2s;
}

@keyframes shadow-pulse {

    0%,
    100% {
        box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
    }

    50% {
        box-shadow: 0 12px 40px 0 rgba(3, 105, 119, 0.22);
    }
}

.abt-us .met-card:hover {
    background: rgba(255, 255, 255, 0.18);
}

.abt-us .met-num {
    font-size: 50px;
    line-height: 1.1;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.03em;
    display: block;
    margin-bottom: 10px;
}

.abt-us .met-desc {
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.82);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 500;
}

.abt-us .met-corner {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 26px;
    height: 26px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.7);
}

.abt-us .met-detail {
    margin-top: 20px;
    font-size: 15px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.75);
}

.abt-us .met-detail strong {
    color: #fff;
}

.abt-us .team-section {
    background: #D3E4DB;
    padding: 80px 20px;
    position: relative;
}

.abt-us .team-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle, rgba(3, 105, 119, 0.06) 1.5px, transparent 1.5px);
    background-size: 28px 28px;
    pointer-events: none;
}

.abt-us .team-inner {
    max-width: 1024px;
    margin: 0 auto;
    position: relative;
}

.abt-us .team-top {
    margin-bottom: 40px;
}

.abt-us .team-top h2 {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #036977;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.abt-us .team-top p {
    font-size: 17px;
    line-height: 1.55;
    color: #2a3a3c;
    max-width: 600px;
}

.abt-us .team-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.abt-us .team-img-wrap {
    border-radius: 13px;
    overflow: hidden;
    border: 1.5px solid rgba(3, 105, 119, 0.18);
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
    position: relative;
}

.abt-us .team-img-wrap img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
}

.abt-us .team-profiles {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.abt-us .profile-card {
    background: #fff;
    border-radius: 13px;
    padding: 20px;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
    border: 1.5px dashed rgba(3, 105, 119, 0.22);
    transition: box-shadow 0.1s ease-out;
}

.abt-us .profile-card:hover {
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.abt-us .profile-name {
    font-size: 17px;
    font-weight: 700;
    color: #036977;
    margin-bottom: 10px;
}

.abt-us .profile-role {
    font-size: 15px;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #5FBFA9;
    font-weight: 600;
    margin-bottom: 10px;
}

.abt-us .profile-bio {
    font-size: 15px;
    line-height: 1.55;
    color: #3a4a4c;
}

.abt-us .approach-block {
    background: #fff;
    padding: 40px;
    border-radius: 13px;
    border: 1.5px dashed rgba(3, 105, 119, 0.25);
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.abt-us .approach-block h3 {
    font-size: 20px;
    font-weight: 700;
    color: #036977;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 20px;
}

.abt-us .approach-block p {
    font-size: 15px;
    line-height: 1.55;
    color: #3a4a4c;
    margin-bottom: 20px;
}

.abt-us .approach-block p:last-child {
    margin-bottom: 0;
}

.abt-us .third-img-row {
    margin-top: 40px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px;
    align-items: center;
}

.abt-us .third-img-wrap {
    border-radius: 13px;
    overflow: hidden;
    border: 1.5px solid rgba(3, 105, 119, 0.18);
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10);
}

.abt-us .third-img-wrap img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

.abt-us .third-text {
    padding: 10px 0;
}

.abt-us .third-text p {
    font-size: 17px;
    line-height: 1.55;
    color: #2a3a3c;
    margin-bottom: 20px;
}

.abt-us .third-text p:last-child {
    margin-bottom: 0;
}

@keyframes reveal-up {
    from {
        opacity: 0;
        transform: translateY(var(--reveal-offset, 20px));
    }

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

.abt-us .page-cap .cap-text {
    animation: reveal-up 0.5s ease-out both;
    --reveal-offset: 24px;
}

.abt-us .page-cap .cap-img-col {
    animation: reveal-up 0.5s 0.12s ease-out both;
    --reveal-offset: 36px;
}

.abt-us .who-inner .who-left {
    animation: reveal-up 0.45s 0.08s ease-out both;
    --reveal-offset: 20px;
}

.abt-us .who-inner .who-right {
    animation: reveal-up 0.45s 0.18s ease-out both;
    --reveal-offset: 32px;
}

.abt-us .met-card:nth-child(1) {
    animation: shadow-pulse 3s ease-in-out infinite, reveal-up 0.4s 0.05s ease-out both;
    --reveal-offset: 20px;
}

.abt-us .met-card:nth-child(2) {
    animation: shadow-pulse 3s 1s ease-in-out infinite, reveal-up 0.4s 0.12s ease-out both;
    --reveal-offset: 30px;
}

.abt-us .met-card:nth-child(3) {
    animation: shadow-pulse 3s 2s ease-in-out infinite, reveal-up 0.4s 0.19s ease-out both;
    --reveal-offset: 40px;
}

@media (max-width: 1024px) {
    .abt-us .cap-frame {
        gap: 40px;
    }

    .abt-us .cap-img-col {
        flex: 0 0 260px;
    }

    .abt-us .cap-img-wrap {
        width: 260px;
        height: 320px;
    }

    .abt-us .who-inner {
        gap: 40px;
    }

    .abt-us .metrics-grid {
        gap: 20px;
    }

    .abt-us .team-layout {
        gap: 20px;
    }
}

@media (max-width: 640px) {
    .abt-us .page-cap {
        padding: 40px 20px;
    }

    .abt-us .cap-frame {
        flex-direction: column;
        gap: 40px;
    }

    .abt-us .cap-text h1 {
        font-size: 36px;
    }

    .abt-us .cap-img-col {
        flex: none;
        width: 100%;
    }

    .abt-us .cap-img-wrap {
        width: 100%;
        height: 260px;
    }

    .abt-us .cap-year-badge {
        right: 0;
        bottom: -10px;
    }

    .abt-us .who-strip {
        padding: 40px 20px;
    }

    .abt-us .who-inner {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .abt-us .who-right {
        padding-top: 0;
    }

    .abt-us .who-left h2 {
        font-size: 26px;
    }

    .abt-us .metrics-band {
        padding: 40px 20px;
    }

    .abt-us .metrics-inner h2 {
        font-size: 26px;
    }

    .abt-us .metrics-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .abt-us .met-num {
        font-size: 36px;
    }

    .abt-us .team-section {
        padding: 40px 20px;
    }

    .abt-us .team-top h2 {
        font-size: 26px;
    }

    .abt-us .team-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .abt-us .team-img-wrap img {
        height: 240px;
    }

    .abt-us .approach-block {
        padding: 20px;
    }

    .abt-us .third-img-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .abt-us .third-img-wrap img {
        height: 180px;
    }
}

.success-page {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    background: linear-gradient(293deg, #036977 0%, #ffffff 45%, #D3E4DB 100%);
}

.success-page .confirmation-card {
    max-width: 560px;
    width: 100%;
    background: #ffffff;
    border-radius: 13px;
    padding: 40px;
    box-shadow: 0 4px 28px 0 rgba(3, 105, 119, 0.10), 0 12px 40px 0 rgba(3, 105, 119, 0.11);
    text-align: center;
}

.success-page .checkmark-wrap {
    width: 72px;
    height: 72px;
    margin: 0 auto 40px;
    border-radius: 36px;
    background: #D3E4DB;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.success-page .checkmark-wrap svg {
    display: block;
}

.success-page .confirm-heading {
    font-size: 26px;
    line-height: 1.35;
    font-weight: 700;
    color: #036977;
    letter-spacing: -0.02em;
    margin: 0 0 20px;
}

.success-page .confirm-body {
    font-size: 17px;
    line-height: 1.55;
    color: #2d4a4e;
    margin: 0 0 20px;
}

.success-page .confirm-note {
    font-size: 15px;
    line-height: 1.55;
    color: #4a6b70;
    margin: 0 0 40px;
    padding: 20px;
    background: #D3E4DB;
    border-radius: 8px;
}

.success-page .action-group {
    display: flex;
    flex-direction: row;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.success-page .btn-primary {
    display: inline-block;
    padding: 10px 40px;
    background: #036977;
    color: #ffffff;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: filter 0.09s ease-out;
    box-shadow: 0 2px 2px 0 rgba(3, 105, 119, 0.06);
}

.success-page .btn-primary:hover {
    filter: brightness(1.15);
}

.success-page .btn-primary:focus {
    outline: 2px solid #5FBFA9;
    outline-offset: 3px;
}

.success-page .btn-secondary {
    display: inline-block;
    padding: 10px 40px;
    background: #D3E4DB;
    color: #036977;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: filter 0.12s linear;
}

.success-page .btn-secondary:hover {
    filter: brightness(0.93);
}

.success-page .btn-secondary:focus {
    outline: 2px solid #036977;
    outline-offset: 3px;
}

.success-page .divider-line {
    width: 40px;
    height: 2px;
    background: #5FBFA9;
    margin: 0 auto 20px;
    border-radius: 8px;
}

@media (max-width: 640px) {
    .success-page {
        padding: 40px 20px;
    }

    .success-page .confirmation-card {
        padding: 40px 20px;
    }

    .success-page .action-group {
        flex-direction: column;
        gap: 10px;
    }

    .success-page .btn-primary,
    .success-page .btn-secondary {
        width: 100%;
        text-align: center;
    }
}