* {
    box-sizing: border-box;
}

html {
    font-size: 100%;
}

body {
    margin: 0;
    min-height: 100dvh;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #1e3235;
    background-color: #f5fafa;
}

.brand-bar {
    background: linear-gradient(135deg, #63888A 0%, #4a6e70 100%);
    border-bottom: 2px solid #6AB191;
}

.brand-bar__pod {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.brand-bar__identity {
    display: flex;
    align-items: center;
    gap: 20px;
}

.logo-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    background-color: #ffffff;
    border-radius: 14px;
    border-right: 4px solid #6AB191;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06), 0 6px 25px 0 rgba(99, 136, 138, 0.10);
    flex-shrink: 0;
}

.logo-cell img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    display: block;
}

.brand-bar__name {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.brand-bar__tagline {
    font-size: 16px;
    color: #B7DDD7;
    line-height: 1.2;
    letter-spacing: 0.01em;
    margin-top: 4px;
}

.brand-bar__contact {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.brand-bar__contact-item {
    font-size: 16px;
    color: #B7DDD7;
    text-decoration: none;
    letter-spacing: 0.01em;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.brand-bar__contact-item:hover {
    color: #ffffff;
}

.brand-bar__contact-item:focus {
    outline: 2px solid #6AB191;
    outline-offset: 2px;
    border-radius: 2px;
}

.brand-bar__contact-label {
    font-size: 16px;
    color: rgba(183, 221, 215, 0.7);
    letter-spacing: 0.06em;
    font-weight: 700;
}

.primary-nav {
    background-color: #ffffff;
    border-bottom: 1px solid #B7DDD7;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06);
}

.primary-nav__deck {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: stretch;
}

.primary-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: stretch;
    gap: 0;
}

.primary-nav__item {
    display: flex;
    align-items: stretch;
}

.primary-nav__link {
    display: flex;
    align-items: center;
    padding: 20px 20px;
    font-size: 16px;
    font-weight: 700;
    color: #2e5254;
    text-decoration: none;
    letter-spacing: 0.03em;
    border-bottom: 3px solid transparent;
    transition: color 0.24s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s cubic-bezier(0.0, 0, 0.2, 1);
    min-height: 44px;
    white-space: nowrap;
}

.primary-nav__link:hover {
    color: #63888A;
    border-bottom-color: #6AB191;
}

.primary-nav__link:focus {
    outline: 2px solid #63888A;
    outline-offset: -2px;
}

.primary-nav__link--active {
    color: #63888A;
    border-bottom-color: #63888A;
}

.site-footer {
    background: linear-gradient(160deg, #2e5254 0%, #1e3235 100%);
    border-top: 3px solid #6AB191;
}

.footer-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 40px 40px;
}

.footer-main__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(183, 221, 215, 0.2);
}

.footer-brand__pod {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 20px;
}

.footer-logo-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background-color: #ffffff;
    border-radius: 14px;
    border-right: 4px solid #6AB191;
    box-shadow: 0 6px 25px 0 rgba(106, 177, 145, 0.10);
    flex-shrink: 0;
}

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

.footer-brand__meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.footer-brand__name {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.footer-brand__since {
    font-size: 16px;
    color: #6AB191;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.footer-brand__desc {
    font-size: 16px;
    color: rgba(183, 221, 215, 0.8);
    line-height: 1.7;
    margin: 0;
}

.footer-nav__heading {
    font-size: 16px;
    font-weight: 700;
    color: #B7DDD7;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 20px;
    line-height: 1.2;
}

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

.footer-nav__link {
    font-size: 16px;
    color: rgba(183, 221, 215, 0.75);
    text-decoration: none;
    letter-spacing: 0.01em;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-block;
    padding: 4px 0;
    min-height: 44px;
    display: flex;
    align-items: center;
}

.footer-nav__link:hover {
    color: #6AB191;
}

.footer-nav__link:focus {
    outline: 2px solid #6AB191;
    outline-offset: 2px;
    border-radius: 2px;
}

.footer-contact__heading {
    font-size: 16px;
    font-weight: 700;
    color: #B7DDD7;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 20px;
    line-height: 1.2;
}

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

.footer-contact__item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.footer-contact__label {
    font-size: 16px;
    color: rgba(183, 221, 215, 0.5);
    letter-spacing: 0.06em;
    font-weight: 700;
    text-transform: uppercase;
}

.footer-contact__value {
    font-size: 16px;
    color: rgba(183, 221, 215, 0.8);
    text-decoration: none;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 44px;
    display: flex;
    align-items: center;
}

.footer-contact__value:hover {
    color: #6AB191;
}

.footer-contact__value:focus {
    outline: 2px solid #6AB191;
    outline-offset: 2px;
    border-radius: 2px;
}

.footer-contact__address {
    font-size: 16px;
    color: rgba(183, 221, 215, 0.7);
    line-height: 1.7;
    margin: 0;
    font-style: normal;
}

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

.footer-bottom__copy {
    font-size: 16px;
    color: rgba(183, 221, 215, 0.5);
    margin: 0;
    line-height: 1.7;
}

.footer-bottom__legal {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.footer-bottom__link {
    font-size: 16px;
    color: rgba(183, 221, 215, 0.5);
    text-decoration: none;
    transition: color 0.26s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 44px;
    display: flex;
    align-items: center;
}

.footer-bottom__link:hover {
    color: #B7DDD7;
}

.footer-bottom__link:focus {
    outline: 2px solid #6AB191;
    outline-offset: 2px;
    border-radius: 2px;
}

.cookie-card {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 340px;
    background-color: #ffffff;
    border-radius: 14px;
    box-shadow: 0 10px 52px 0 rgba(99, 136, 138, 0.11), 0 6px 25px 0 rgba(99, 136, 138, 0.10);
    border: 1px solid #B7DDD7;
    z-index: 1200;
    overflow: hidden;
}

.cookie-card__body {
    padding: 20px;
}

.cookie-card__desc {
    font-size: 16px;
    color: #2e5254;
    line-height: 1.7;
    margin: 0 0 8px;
}

.cookie-card__headline {
    font-size: 18px;
    font-weight: 700;
    color: #1e3235;
    margin: 0 0 20px;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.cookie-card__panel {
    background-color: #f5fafa;
    border-radius: 8px;
    border: 1px solid #B7DDD7;
    margin-bottom: 20px;
    overflow: hidden;
}

.cookie-card__panel-trigger {
    width: 100%;
    background: none;
    border: none;
    padding: 8px 20px;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #63888A;
    cursor: pointer;
    text-align: left;
    letter-spacing: 0.02em;
    min-height: 44px;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.cookie-card__panel-trigger:hover {
    color: #4a6e70;
}

.cookie-card__panel-trigger:focus {
    outline: 2px solid #63888A;
    outline-offset: -2px;
}

.cookie-card__options {
    padding: 8px 20px 20px;
    display: none;
    flex-direction: column;
    gap: 8px;
}

.cookie-card__options--open {
    display: flex;
}

.cookie-card__toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.cookie-card__toggle-label {
    font-size: 16px;
    color: #2e5254;
    line-height: 1.7;
}

.cookie-card__toggle-input {
    width: 40px;
    height: 22px;
    cursor: pointer;
    accent-color: #6AB191;
}

.cookie-card__actions {
    display: flex;
    gap: 8px;
}

.cookie-btn {
    flex: 1;
    padding: 8px 20px;
    border-radius: 22px;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    min-height: 44px;
    letter-spacing: 0.02em;
    transition: background-color 0.24s cubic-bezier(0.4, 0, 0.2, 1), color 0.24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.0, 0, 0.2, 1);
    position: relative;
}

.cookie-btn--accept {
    background-color: transparent;
    color: #63888A;
    border: 2px solid #63888A;
}

.cookie-btn--accept:hover {
    background-color: #63888A;
    color: #ffffff;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
}

.cookie-btn--accept:focus {
    outline: 2px solid #63888A;
    outline-offset: 2px;
}

.cookie-btn--accept::after {
    content: '';
    position: absolute;
    inset: 3px;
    border: 1px solid transparent;
    border-radius: 20px;
    transition: border-color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.cookie-btn--accept:hover::after {
    border-color: rgba(255, 255, 255, 0.3);
}

.cookie-btn--reject {
    background-color: transparent;
    color: #63888A;
    border: 2px solid #B7DDD7;
}

.cookie-btn--reject:hover {
    background-color: #B7DDD7;
    color: #1e3235;
}

.cookie-btn--reject:focus {
    outline: 2px solid #B7DDD7;
    outline-offset: 2px;
}

.pref-trigger {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    border-radius: 22px;
    background-color: #63888A;
    border: 2px solid #6AB191;
    cursor: pointer;
    z-index: 1100;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
    transition: background-color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.pref-trigger:hover {
    background-color: #4a6e70;
}

.pref-trigger:focus {
    outline: 2px solid #6AB191;
    outline-offset: 2px;
}

.pref-trigger__icon {
    width: 22px;
    height: 22px;
    display: block;
}

.pref-trigger__icon circle,
.pref-trigger__icon path {
    stroke: #ffffff;
}

@media (max-width: 768px) {
    .brand-bar__pod {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
        gap: 20px;
    }

    .brand-bar__contact {
        align-items: flex-start;
    }

    .primary-nav__deck {
        padding: 0 20px;
        overflow-x: auto;
    }

    .footer-main {
        padding: 40px 20px 20px;
    }

    .footer-main__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

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

    .cookie-card {
        right: 8px;
        left: 8px;
        width: auto;
        top: 8px;
    }
}

.policy-section-fvs {
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 40px;
    background: #fff;
}

.policy-section-fvs p {
    font-size: 18px;
    line-height: 1.7;
    color: #2a3a3b;
    margin-bottom: 20px;
    letter-spacing: 0.01em;
}

.policy-section-fvs ul,
.policy-section-fvs ol {
    margin: 20px 0;
    padding-left: 40px;
}

.policy-section-fvs li {
    font-size: 18px;
    line-height: 1.7;
    color: #2a3a3b;
    margin-bottom: 8px;
    letter-spacing: 0.01em;
}

.policy-section-fvs ul li::marker {
    color: #63888A;
}

.policy-section-fvs ol li::marker {
    color: #63888A;
    font-weight: 600;
}

.policy-section-fvs a {
    color: #63888A;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.policy-section-fvs a:hover {
    color: #6AB191;
    text-decoration-color: #6AB191;
}

.policy-section-fvs table {
    width: 100%;
    border-collapse: collapse;
    margin: 40px 0;
    font-size: 16px;
    line-height: 1.7;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06), 0 6px 25px 0 rgba(99, 136, 138, 0.10);
    border-radius: 8px;
    overflow: hidden;
}

.policy-section-fvs thead {
    background: linear-gradient(135deg, #63888A 0%, #6AB191 100%);
}

.policy-section-fvs thead th {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.06em;
    padding: 20px;
    text-align: left;
}

.policy-section-fvs tbody tr {
    border-bottom: 1px solid #B7DDD7;
    transition: background 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

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

.policy-section-fvs tbody tr:hover {
    background: rgba(183, 221, 215, 0.18);
}

.policy-section-fvs td {
    padding: 20px;
    font-size: 16px;
    line-height: 1.7;
    color: #2a3a3b;
    vertical-align: top;
}

.policy-section-fvs tbody tr:nth-child(even) {
    background: rgba(183, 221, 215, 0.08);
}

.policy-section-fvs tbody tr:nth-child(even):hover {
    background: rgba(183, 221, 215, 0.22);
}

.policy-section-fvs div {
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    .policy-section-fvs {
        padding: 40px 20px;
    }

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

    .policy-section-fvs p,
    .policy-section-fvs li {
        font-size: 16px;
    }
}

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

.anlt-det .pg-bound {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
}

.anlt-det .divider--atm {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #63888A 50%, transparent 100%);
    border: none;
    margin: 0;
}

.anlt-det .art-lead {
    background: linear-gradient(158deg, #63888A 0%, #ffffff 100%);
    padding: 80px 0 40px;
    position: relative;
}

.anlt-det .art-lead__shapes {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.anlt-det .art-lead__shape--a {
    position: absolute;
    width: 320px;
    height: 320px;
    border-radius: 22px;
    border: 1px solid rgba(99, 136, 138, 0.18);
    top: -60px;
    right: 80px;
    transform: rotate(22deg);
}

.anlt-det .art-lead__shape--b {
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 22px;
    border: 1px solid rgba(106, 177, 145, 0.14);
    bottom: 20px;
    right: 200px;
    transform: rotate(-12deg);
}

.anlt-det .art-lead__shape--c {
    position: absolute;
    width: 90px;
    height: 90px;
    border-radius: 14px;
    background: rgba(183, 221, 215, 0.13);
    top: 40px;
    left: 60px;
    transform: rotate(8deg);
}

.anlt-det .art-lead__grid {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: center;
}

.anlt-det .art-lead__text {
    flex: 0 0 60%;
    max-width: 60%;
}

.anlt-det .art-lead__tag-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.anlt-det .art-lead__tag {
    display: inline-block;
    padding: 4px 20px;
    border-radius: 4px;
    background: rgba(99, 136, 138, 0.15);
    border: 1px solid rgba(99, 136, 138, 0.3);
    font-size: 16px;
    color: #2a4a4c;
    letter-spacing: 0.08em;
}

.anlt-det .art-lead__meta {
    font-size: 16px;
    color: #3a5a5c;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.anlt-det .art-lead__title {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 300;
    letter-spacing: -0.01em;
    color: #1b3335;
    margin: 0 0 20px;
}

.anlt-det .art-lead__title em {
    font-style: normal;
    color: #63888A;
}

.anlt-det .art-lead__stat-row {
    display: flex;
    flex-direction: row;
    gap: 40px;
    margin-top: 20px;
}

.anlt-det .art-lead__stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.anlt-det .art-lead__stat-num {
    font-size: 40px;
    font-weight: 300;
    color: #63888A;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.anlt-det .art-lead__stat-label {
    font-size: 16px;
    color: #4a6a6c;
    letter-spacing: 0.06em;
}

.anlt-det .art-lead__img-col {
    flex: 0 0 40%;
    max-width: 40%;
}

.anlt-det .art-lead__img-wrap {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 52px 0 rgba(99, 136, 138, 0.11);
    position: relative;
}

.anlt-det .art-lead__img-wrap img {
    width: 100%;
    max-width: 100%;
    display: block;
    object-fit: contain;
    filter: saturate(0.7) sepia(0.18);
    transition: filter 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.anlt-det .art-lead__img-wrap:hover img {
    filter: saturate(1) sepia(0);
}

.anlt-det .art-lead__img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(158deg, rgba(99, 136, 138, 0.22) 0%, transparent 60%);
    border-radius: 14px;
    pointer-events: none;
}

.anlt-det .art-body {
    padding: 80px 0;
    background: #ffffff;
}

.anlt-det .art-body__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.anlt-det .art-body__prose {
    font-size: 18px;
    line-height: 1.7;
    color: #1e3436;
}

.anlt-det .art-body__prose p {
    margin: 0 0 20px;
}

.anlt-det .art-body__prose h2 {
    font-size: 40px;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #1b3335;
    margin: 40px 0 20px;
}

.anlt-det .art-body__prose blockquote {
    margin: 40px 0;
    padding: 20px 20px 20px 40px;
    border-left: 4px solid #63888A;
    border-top: 1px solid rgba(99, 136, 138, 0.2);
    border-bottom: 1px solid rgba(99, 136, 138, 0.2);
    border-right: 1px solid rgba(99, 136, 138, 0.08);
    border-radius: 0 8px 8px 0;
    background: rgba(183, 221, 215, 0.1);
    font-size: 18px;
    line-height: 1.7;
    color: #2a4a4c;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06);
}

.anlt-det .art-body__prose cite {
    display: block;
    margin-top: 8px;
    font-size: 16px;
    color: #63888A;
    font-style: normal;
    letter-spacing: 0.04em;
}

.anlt-det .art-body__prose table {
    width: 100%;
    border-collapse: collapse;
    margin: 40px 0;
    font-size: 16px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
}

.anlt-det .art-body__prose caption {
    font-size: 16px;
    color: #63888A;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
    text-align: left;
}

.anlt-det .art-body__prose thead tr {
    background: #63888A;
    color: #ffffff;
}

.anlt-det .art-body__prose thead td,
.anlt-det .art-body__prose thead th {
    padding: 8px 20px;
    font-size: 16px;
    letter-spacing: 0.04em;
    font-weight: 600;
}

.anlt-det .art-body__prose tbody tr {
    border-bottom: 1px solid rgba(99, 136, 138, 0.12);
    transition: background 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.anlt-det .art-body__prose tbody tr:hover {
    background: rgba(183, 221, 215, 0.18);
}

.anlt-det .art-body__prose td {
    padding: 8px 20px;
    color: #1e3436;
    line-height: 1.7;
}

.anlt-det .art-body__prose tfoot td {
    padding: 8px 20px;
    background: rgba(99, 136, 138, 0.07);
    font-size: 16px;
    color: #3a5a5c;
}

.anlt-det .art-body__aside {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.anlt-det .art-body__aside-card {
    border-radius: 14px;
    padding: 20px;
    background: linear-gradient(158deg, rgba(183, 221, 215, 0.25) 0%, #ffffff 100%);
    border: 1px solid rgba(99, 136, 138, 0.15);
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
}

.anlt-det .art-body__aside-label {
    font-size: 16px;
    letter-spacing: 0.08em;
    color: #63888A;
    margin-bottom: 8px;
    font-weight: 600;
}

.anlt-det .art-body__aside-val {
    font-size: 40px;
    font-weight: 300;
    color: #1b3335;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.anlt-det .art-body__aside-sub {
    font-size: 16px;
    color: #4a6a6c;
    margin-top: 4px;
    line-height: 1.7;
}

.anlt-det .art-body__aside-dashed {
    border: 1.5px dashed rgba(99, 136, 138, 0.35);
    border-radius: 14px;
    padding: 20px;
    position: relative;
}

.anlt-det .art-body__aside-dashed::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 20px;
    width: 40px;
    height: 4px;
    background: #6AB191;
    border-radius: 2px;
}

.anlt-det .art-metrics {
    padding: 80px 0 40px;
    background: linear-gradient(135deg, #f0f7f6 0%, #e8f4f2 100%);
    position: relative;
}

.anlt-det .art-metrics__bg-anim {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.anlt-det .art-metrics__shadow-drift {
    position: absolute;
    width: 500px;
    height: 300px;
    border-radius: 22px;
    background: rgba(99, 136, 138, 0.07);
    top: 20px;
    left: -100px;
    animation: driftShadow 8s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
}

@keyframes driftShadow {
    0% {
        transform: translateX(0) rotate(-3deg);
        opacity: 0.5;
    }

    100% {
        transform: translateX(180px) rotate(3deg);
        opacity: 1;
    }
}

.anlt-det .art-metrics__heading {
    font-size: 40px;
    font-weight: 300;
    color: #1b3335;
    letter-spacing: -0.01em;
    line-height: 1.2;
    margin: 0 0 40px;
}

.anlt-det .art-metrics__heading em {
    font-style: normal;
    color: #6AB191;
}

.anlt-det .art-metrics__row {
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.anlt-det .art-metrics__bar-group {
    flex: 1 1 340px;
}

.anlt-det .art-metrics__bar-label {
    font-size: 16px;
    color: #2a4a4c;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
}

.anlt-det .art-metrics__bar-track {
    height: 8px;
    background: rgba(99, 136, 138, 0.15);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 4px;
}

.anlt-det .art-metrics__bar-fill {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, #63888A 0%, #6AB191 100%);
    transition: width 0.28s cubic-bezier(0.0, 0, 0.2, 1);
}

.anlt-det .art-metrics__bar-fill--a {
    width: 82%;
}

.anlt-det .art-metrics__bar-fill--b {
    width: 67%;
}

.anlt-det .art-metrics__bar-fill--c {
    width: 91%;
}

.anlt-det .art-metrics__bar-fill--d {
    width: 54%;
}

.anlt-det .art-metrics__bar-pct {
    font-size: 16px;
    color: #63888A;
    letter-spacing: 0.04em;
}

.anlt-det .art-metrics__pan-wrap {
    flex: 1 1 260px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
    height: 180px;
}

.anlt-det .art-metrics__pan-img {
    width: 200%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: panLR 18s linear infinite alternate;
}

@keyframes panLR {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.anlt-det .art-act {
    padding: 80px 0;
    background: #ffffff;
}

.anlt-det .art-act__inner {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: center;
}

.anlt-det .art-act__text-col {
    flex: 0 0 60%;
}

.anlt-det .art-act__label {
    font-size: 16px;
    letter-spacing: 0.1em;
    color: #63888A;
    margin-bottom: 8px;
}

.anlt-det .art-act__heading {
    font-size: 40px;
    font-weight: 300;
    line-height: 1.2;
    color: #1b3335;
    margin: 0 0 20px;
    letter-spacing: -0.01em;
}

.anlt-det .art-act__heading em {
    font-style: normal;
    color: #63888A;
}

.anlt-det .art-act__body {
    font-size: 18px;
    line-height: 1.7;
    color: #2a4a4c;
    margin: 0;
}

.anlt-det .art-act__btn-col {
    flex: 0 0 40%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
}

.anlt-det .art-act__btn {
    display: inline-block;
    padding: 20px 40px;
    border-radius: 8px;
    font-size: 16px;
    letter-spacing: 0.06em;
    cursor: pointer;
    text-decoration: none;
    border: 2px solid #63888A;
    color: #63888A;
    background: transparent;
    position: relative;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1), background 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06);
}

.anlt-det .art-act__btn::before {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 6px;
    border: 1px solid transparent;
    transition: border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.anlt-det .art-act__btn:hover {
    background: #63888A;
    color: #ffffff;
}

.anlt-det .art-act__btn:hover::before {
    border-color: rgba(255, 255, 255, 0.35);
}

.anlt-det .art-act__btn:focus {
    outline: 2px solid #6AB191;
    outline-offset: 4px;
}

.anlt-det .art-act__btn--sec {
    border-color: #6AB191;
    color: #6AB191;
}

.anlt-det .art-act__btn--sec:hover {
    background: #6AB191;
    color: #ffffff;
}

.anlt-det .art-act__btn--sec:hover::before {
    border-color: rgba(255, 255, 255, 0.35);
}

@media (max-width: 900px) {
    .anlt-det .art-lead__grid {
        flex-direction: column;
    }

    .anlt-det .art-lead__text,
    .anlt-det .art-lead__img-col {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .anlt-det .art-body__grid {
        grid-template-columns: 1fr;
    }

    .anlt-det .art-act__inner {
        flex-direction: column;
    }

    .anlt-det .art-act__text-col,
    .anlt-det .art-act__btn-col {
        flex: 0 0 100%;
    }
}

@media (max-width: 600px) {
    .anlt-det .pg-bound {
        padding-left: 20px;
        padding-right: 20px;
    }

    .anlt-det .art-lead__stat-row {
        flex-wrap: wrap;
        gap: 20px;
    }

    .anlt-det .art-metrics__row {
        flex-direction: column;
    }
}

.anlt {
    background: #fff;
    max-width: 100%;
    overflow-x: hidden;
}

.anlt__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.anlt__lead {
    padding: 80px 20px 40px;
    max-width: 1200px;
    margin: 0 auto;
}

.anlt__lead-tag {
    display: inline-block;
    font-size: 16px;
    letter-spacing: 0.12em;
    color: #63888A;
    border: 1px solid #B7DDD7;
    border-radius: 4px;
    padding: 4px 8px;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.anlt__lead-heading {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    font-weight: 300;
    color: #1e3a3b;
    margin: 0 0 20px;
    max-width: 640px;
}

.anlt__lead-desc {
    font-size: 18px;
    line-height: 1.7;
    color: #3a5557;
    max-width: 560px;
    margin: 0;
}

.anlt__stat-row {
    display: flex;
    flex-direction: row;
    gap: 40px;
    margin-top: 40px;
    flex-wrap: wrap;
}

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

.anlt__stat-num {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    color: #63888A;
    letter-spacing: -0.03em;
}

.anlt__stat-label {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5557;
    letter-spacing: 0.04em;
}

.anlt__divider {
    height: 1px;
    max-width: 1200px;
    margin: 0 auto;
    background: linear-gradient(90deg, transparent 0%, #B7DDD7 30%, #B7DDD7 70%, transparent 100%);
}

.anlt__posts-area {
    padding: 80px 20px;
    max-width: 1200px;
    margin: 0 auto;
    background: linear-gradient(180deg, #f4fafa 0%, #fff 100%);
    border-radius: 14px;
}

.anlt__posts-heading {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 300;
    letter-spacing: -0.02em;
    color: #1e3a3b;
    margin: 0 0 40px;
}

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

.anlt__card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06), 0 6px 25px 0 rgba(99, 136, 138, 0.10);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1), transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    border-right: 3px solid #B7DDD7;
}

.anlt__card:hover {
    box-shadow: 0 10px 52px 0 rgba(99, 136, 138, 0.11);
    transform: translateY(-4px);
}

.anlt__card--featured {
    grid-column: span 2;
    flex-direction: row;
}

.anlt__card-img-wrap {
    overflow: hidden;
    flex-shrink: 0;
}

.anlt__card--featured .anlt__card-img-wrap {
    width: 48%;
}

.anlt__card:not(.anlt__card--featured) .anlt__card-img-wrap {
    height: 180px;
    width: 100%;
}

.anlt__card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.28s cubic-bezier(0.0, 0, 0.2, 1);
}

.anlt__card:hover .anlt__card-img {
    transform: translateX(6px);
}

.anlt__card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.anlt__card-meta {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.anlt__card-tag {
    font-size: 16px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #6AB191;
    background: #f0faf5;
    border-radius: 4px;
    padding: 4px 8px;
    font-weight: 600;
}

.anlt__card-readtime {
    font-size: 16px;
    color: #63888A;
    letter-spacing: 0.04em;
}

.anlt__card-views {
    font-size: 16px;
    color: #3a5557;
    margin-left: auto;
    letter-spacing: 0.04em;
}

.anlt__card-title {
    font-size: 18px;
    line-height: 1.2;
    font-weight: 600;
    color: #1e3a3b;
    margin: 0;
    letter-spacing: -0.01em;
}

.anlt__card-desc {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5557;
    margin: 0;
    flex: 1;
}

.anlt__card-link {
    display: inline-block;
    font-size: 16px;
    color: #63888A;
    text-decoration: none;
    border: 1px solid #63888A;
    border-radius: 8px;
    padding: 8px 20px;
    margin-top: 8px;
    align-self: flex-start;
    transition: background 0.24s cubic-bezier(0.4, 0, 0.2, 1), color 0.24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.24s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.anlt__card-link::after {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 6px;
    border: 1px solid transparent;
    transition: border-color 0.24s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.anlt__card-link:hover {
    background: #63888A;
    color: #fff;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
}

.anlt__card-link:hover::after {
    border-color: rgba(255, 255, 255, 0.3);
}

.anlt__card-link:focus {
    outline: 2px solid #6AB191;
    outline-offset: 2px;
}

.anlt__quote-section {
    padding: 80px 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.anlt__quote-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.anlt__quote-img-col {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
}

.anlt__quote-img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
    transition: transform 0.26s cubic-bezier(0.0, 0, 0.2, 1);
}

.anlt__quote-img-col:hover .anlt__quote-img {
    transform: translateY(-6px);
}

.anlt__quote-img-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(180deg, rgba(30, 58, 59, 0.45) 0%, transparent 100%);
    pointer-events: none;
}

.anlt__quote-text-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.anlt__quote-label {
    font-size: 16px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #63888A;
}

.anlt__quote-block {
    border-left: 4px solid #6AB191;
    border-top: 1px solid #B7DDD7;
    border-radius: 2px;
    padding: 20px;
    background: linear-gradient(180deg, #f0faf5 0%, #fff 100%);
}

.anlt__quote-text {
    font-size: 18px;
    line-height: 1.7;
    color: #1e3a3b;
    margin: 0 0 8px;
}

.anlt__quote-accent {
    font-size: 18px;
    line-height: 1.7;
    font-weight: 700;
    color: #6AB191;
}

.anlt__quote-author {
    font-size: 16px;
    color: #63888A;
    letter-spacing: 0.04em;
    margin: 0;
}

.anlt__quote-body {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5557;
    margin: 0;
}

.anlt__tips-section {
    padding: 80px 20px;
    background: linear-gradient(180deg, #edf6f5 0%, #f7fcfb 100%);
}

.anlt__tips-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.anlt__tips-heading {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 300;
    letter-spacing: -0.02em;
    color: #1e3a3b;
    margin: 0 0 40px;
    max-width: 500px;
}

.anlt__tips-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.anlt__tip {
    background: #fff;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06);
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-right: 3px solid #B7DDD7;
    transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.anlt__tip:hover {
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
}

.anlt__tip-num {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    color: #B7DDD7;
    letter-spacing: -0.04em;
}

.anlt__tip-title {
    font-size: 18px;
    line-height: 1.2;
    font-weight: 600;
    color: #1e3a3b;
    margin: 0;
}

.anlt__tip-text {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5557;
    margin: 0;
}

@media (max-width: 900px) {
    .anlt__grid {
        grid-template-columns: 1fr 1fr;
    }

    .anlt__card--featured {
        grid-column: span 2;
        flex-direction: column;
    }

    .anlt__card--featured .anlt__card-img-wrap {
        width: 100%;
        height: 200px;
    }

    .anlt__quote-wrap {
        grid-template-columns: 1fr;
    }

    .anlt__tips-list {
        grid-template-columns: 1fr 1fr;
    }
}

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

    .anlt__card--featured {
        grid-column: span 1;
    }

    .anlt__tips-list {
        grid-template-columns: 1fr;
    }

    .anlt__lead-heading {
        font-size: 40px;
    }

    .anlt__stat-row {
        gap: 20px;
    }
}

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

.au__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.au__intro {
    background: #f5f7f7;
    padding: 80px 20px 80px;
    position: relative;
}

.au__intro-stripe {
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #63888A, #B7DDD7);
}

.au__intro-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: flex-start;
}

.au__intro-left {
    width: 30%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-top: 8px;
}

.au__label {
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.12em;
    color: #63888A;
    text-transform: uppercase;
    font-weight: 600;
}

.au__stat-group {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.au__stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-top: 1px solid #B7DDD7;
    padding-top: 20px;
}

.au__stat-num {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 300;
    color: #63888A;
    letter-spacing: -0.02em;
}

.au__stat-desc {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5254;
}

.au__decor-lines {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 20px;
}

.au__decor-lines span {
    display: block;
    height: 1px;
    background: #B7DDD7;
}

.au__decor-lines span:nth-child(1) {
    width: 40px;
}

.au__decor-lines span:nth-child(2) {
    width: 24px;
    height: 2px;
    background: #63888A;
}

.au__decor-lines span:nth-child(3) {
    width: 32px;
}

.au__decor-lines span:nth-child(4) {
    width: 16px;
    height: 2px;
    background: #6AB191;
}

.au__decor-lines span:nth-child(5) {
    width: 28px;
}

.au__intro-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.au__heading {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 300;
    letter-spacing: -0.01em;
    color: #1e3436;
}

.au__heading strong {
    font-weight: 700;
    display: block;
}

.au__body {
    font-size: 18px;
    line-height: 1.7;
    color: #2e4a4c;
}

.au__body p {
    margin: 0 0 20px;
}

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

.au__link {
    color: #63888A;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.22s cubic-bezier(0.4, 0, 0.2, 1), color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.au__link:hover {
    color: #1e3436;
    border-bottom-color: #63888A;
}

.au__divider {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin: 0;
    padding: 0;
}

.au__divider-thick {
    height: 3px;
    background: #63888A;
}

.au__divider-thin {
    height: 1px;
    background: #B7DDD7;
}

.au__team {
    background: #ffffff;
    padding: 80px 20px;
    position: relative;
}

.au__team-bg {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(90deg,
            transparent,
            transparent 38px,
            rgba(99, 136, 138, 0.04) 38px,
            rgba(99, 136, 138, 0.04) 39px);
    pointer-events: none;
}

.au__team-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.au__team-top {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-end;
    justify-content: space-between;
}

.au__team-heading {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 300;
    color: #1e3436;
    letter-spacing: -0.01em;
    max-width: 480px;
}

.au__team-note {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5254;
    max-width: 320px;
    text-align: right;
}

.au__ring {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
}

.au__ring-center {
    flex: 0 0 auto;
    width: 380px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.au__img-frame {
    width: 380px;
    height: 480px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
    position: relative;
}

.au__img-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.au__img-frame:hover img {
    transform: scale(1.04);
}

.au__img-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(99, 136, 138, 0.18) 0%, transparent 40%);
    pointer-events: none;
}

.au__center-caption {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5254;
    text-align: center;
    max-width: 340px;
}

.au__ring-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.au__ring-col--right {
    align-items: flex-start;
}

.au__ring-col--left {
    align-items: flex-end;
}

.au__card {
    background: #f5f7f7;
    border-radius: 8px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06);
    transition: box-shadow 0.24s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
}

.au__card:hover {
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
}

.au__card-img {
    width: 100%;
    height: 160px;
    border-radius: 4px;
    overflow: hidden;
}

.au__card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.26s cubic-bezier(0.0, 0, 0.2, 1);
}

.au__card-img:hover img {
    transform: scale(1.05);
}

.au__card-title {
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    color: #1e3436;
    letter-spacing: 0.02em;
}

.au__card-text {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5254;
}

.au__person {
    background: #ffffff;
    border-radius: 8px;
    padding: 20px;
    border: 1px solid #B7DDD7;
    border-top: 3px solid #6AB191;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 3px 2px 0 rgba(106, 177, 145, 0.06);
    transition: box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
}

.au__person:hover {
    box-shadow: 0 10px 52px 0 rgba(106, 177, 145, 0.11);
}

.au__person-name {
    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
    color: #1e3436;
}

.au__person-role {
    font-size: 16px;
    line-height: 1.2;
    color: #63888A;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.au__person-bio {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5254;
}

.au__analytics-cta {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    background: linear-gradient(135deg, #63888A 0%, #B7DDD7 100%);
    border-radius: 14px;
    padding: 40px;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
}

.au__cta-text {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.au__cta-heading {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 300;
    color: #ffffff;
    letter-spacing: -0.01em;
}

.au__cta-sub {
    font-size: 18px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.88);
}

.au__btn {
    display: inline-block;
    padding: 20px 40px;
    border-radius: 4px;
    border: 2px solid #ffffff;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    background: transparent;
    position: relative;
    transition: background 0.24s cubic-bezier(0.4, 0, 0.2, 1), color 0.24s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    flex-shrink: 0;
}

.au__btn::after {
    content: '';
    position: absolute;
    inset: 4px;
    border: 1px solid transparent;
    border-radius: 2px;
    transition: border-color 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}

.au__btn:hover {
    background: #ffffff;
    color: #63888A;
}

.au__btn:hover::after {
    border-color: #63888A;
}

.au__fog {
    position: absolute;
    top: 0;
    left: -20%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
    animation: fogDrift 7s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
}

@keyframes fogDrift {
    from {
        transform: translateX(0);
        opacity: 0.7;
    }

    to {
        transform: translateX(30%);
        opacity: 1;
    }
}

.au__analytics-cta {
    position: relative;
    overflow: hidden;
}

@media (max-width: 900px) {
    .au__intro-inner {
        flex-direction: column;
        gap: 40px;
    }

    .au__intro-left {
        width: 100%;
    }

    .au__ring {
        flex-direction: column;
    }

    .au__ring-center {
        width: 100%;
    }

    .au__img-frame {
        width: 100%;
    }

    .au__ring-col--left {
        align-items: flex-start;
    }

    .au__team-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .au__team-note {
        text-align: left;
    }

    .au__analytics-cta {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 600px) {
    .au__heading {
        font-size: 40px;
    }

    .au__team-heading {
        font-size: 40px;
    }

    .au__cta-heading {
        font-size: 40px;
    }

    .au__intro {
        padding: 40px 20px;
    }

    .au__team {
        padding: 40px 20px;
    }

    .au__analytics-cta {
        padding: 20px;
    }
}

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

.ctc__load-reveal {
    animation: ctcBlurIn 0.26s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.ctc__load-reveal--delay1 {
    animation-delay: 0.08s;
}

.ctc__load-reveal--delay2 {
    animation-delay: 0.16s;
}

@keyframes ctcBlurIn {
    from {
        filter: blur(8px);
        opacity: 0;
    }

    to {
        filter: blur(0);
        opacity: 1;
    }
}

.ctc__split {
    display: flex;
    flex-direction: row;
    min-height: 480px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 40px;
    gap: 80px;
    align-items: flex-start;
}

.ctc__split-left {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    padding-right: 40px;
}

.ctc__split-left::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background: repeating-linear-gradient(to bottom,
            #63888A 0px,
            #63888A 4px,
            transparent 4px,
            transparent 8px,
            #B7DDD7 8px,
            #B7DDD7 10px,
            transparent 10px,
            transparent 16px);
}

.ctc__eyebrow {
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.12em;
    color: #6AB191;
    text-transform: uppercase;
    font-weight: 600;
}

.ctc__heading {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #1e3638;
    font-weight: 300;
    margin: 0;
}

.ctc__desc {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5254;
    margin: 0;
}

.ctc__pull-quote {
    font-size: 18px;
    line-height: 1.7;
    color: #63888A;
    font-weight: 300;
    letter-spacing: 0.01em;
    border-top: 2px solid #B7DDD7;
    border-bottom: 1px solid #B7DDD7;
    padding: 20px 0;
    margin: 20px 0 0;
}

.ctc__split-right {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ctc__addr-card {
    background: linear-gradient(135deg, #f4f9f8 0%, #fff 100%);
    border-radius: 14px;
    padding: 40px;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    overflow: hidden;
}

.ctc__addr-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, #6AB191, #B7DDD7);
    border-radius: 4px 0 0 4px;
}

.ctc__addr-label {
    font-size: 16px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #63888A;
    font-weight: 600;
    line-height: 1.2;
}

.ctc__addr-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ctc__addr-key {
    font-size: 16px;
    line-height: 1.2;
    color: #8aabac;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ctc__addr-val {
    font-size: 18px;
    line-height: 1.7;
    color: #1e3638;
    font-weight: 400;
}

.ctc__addr-val a {
    color: #1e3638;
    text-decoration: none;
    border-bottom: 1px solid #B7DDD7;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.ctc__addr-val a:hover {
    color: #6AB191;
    border-color: #6AB191;
}

.ctc__stat-row {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: stretch;
}

.ctc__stat {
    flex: 1 1 0;
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    border: 1px solid #B7DDD7;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ctc__stat-num {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: #63888A;
    font-weight: 300;
}

.ctc__stat-lbl {
    font-size: 16px;
    line-height: 1.2;
    color: #3a5254;
    letter-spacing: 0.04em;
}

.ctc__form-section {
    background: linear-gradient(170deg, #f0f7f6 0%, #fff 60%);
    padding: 80px 0;
    position: relative;
}

.ctc__form-section::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: linear-gradient(to bottom, #B7DDD7 0%, #6AB191 50%, #63888A 100%);
    border-radius: 0 0 0 2px;
}

.ctc__form-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 80px;
    align-items: start;
}

.ctc__form-meta {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 8px;
}

.ctc__form-heading {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #1e3638;
    font-weight: 300;
    margin: 0;
}

.ctc__form-note {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5254;
    margin: 0;
}

.ctc__bar-compare {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 20px;
}

.ctc__bar-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ctc__bar-label {
    font-size: 16px;
    line-height: 1.2;
    color: #3a5254;
    letter-spacing: 0.04em;
}

.ctc__bar-track {
    height: 8px;
    background: #e8f2f1;
    border-radius: 4px;
    overflow: hidden;
}

.ctc__bar-fill {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, #63888A, #6AB191);
    transition: width 0.28s cubic-bezier(0.0, 0, 0.2, 1);
}

.ctc__bar-fill--a {
    width: 82%;
}

.ctc__bar-fill--b {
    width: 65%;
}

.ctc__bar-fill--c {
    width: 91%;
}

.ctc__form {
    background: #fff;
    border-radius: 14px;
    padding: 40px;
    box-shadow: 0 10px 52px 0 rgba(99, 136, 138, 0.11);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

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

.ctc__lbl {
    font-size: 16px;
    line-height: 1.2;
    color: #3a5254;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 600;
}

.ctc__input {
    font-size: 16px;
    line-height: 1.7;
    color: #1e3638;
    background: #f4f9f8;
    border: 1px solid #B7DDD7;
    border-radius: 8px;
    padding: 8px 20px;
    outline: none;
    transition: border-color 0.22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    box-sizing: border-box;
}

.ctc__input::placeholder {
    color: #8aabac;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 16px;
}

.ctc__input:focus {
    border-color: #6AB191;
    box-shadow: inset 0 3px 2px 0 rgba(99, 136, 138, 0.06);
}

.ctc__radio-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ctc__radio-opt {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 8px 20px;
    border-radius: 8px;
    border: 1px solid #B7DDD7;
    background: #f4f9f8;
    transition: background 0.24s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.24s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.ctc__radio-opt:hover {
    background: #e8f5f0;
    border-color: #6AB191;
}

.ctc__radio-opt input[type="radio"] {
    accent-color: #6AB191;
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.ctc__radio-opt input[type="radio"]:focus-visible {
    outline: 2px solid #63888A;
    outline-offset: 2px;
}

.ctc__radio-text {
    font-size: 16px;
    line-height: 1.7;
    color: #1e3638;
}

.ctc__privacy {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.ctc__privacy input[type="checkbox"] {
    accent-color: #6AB191;
    width: 18px;
    height: 18px;
    margin-top: 4px;
    cursor: pointer;
    flex-shrink: 0;
}

.ctc__privacy-text {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5254;
}

.ctc__privacy-text a {
    color: #63888A;
    text-decoration: none;
    border-bottom: 1px solid #B7DDD7;
    transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.ctc__privacy-text a:hover {
    color: #6AB191;
}

.ctc__btn {
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #63888A;
    background: transparent;
    border: 2px solid #63888A;
    border-radius: 8px;
    padding: 20px 40px;
    cursor: pointer;
    position: relative;
    transition: color 0.24s cubic-bezier(0.4, 0, 0.2, 1), background 0.24s cubic-bezier(0.4, 0, 0.2, 1);
    align-self: flex-start;
    font-weight: 600;
}

.ctc__btn::before {
    content: '';
    position: absolute;
    inset: 4px;
    border: 1px solid transparent;
    border-radius: 4px;
    transition: border-color 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}

.ctc__btn:hover {
    background: #63888A;
    color: #fff;
}

.ctc__btn:hover::before {
    border-color: rgba(183, 221, 215, 0.5);
}

.ctc__btn:focus-visible {
    outline: 2px solid #6AB191;
    outline-offset: 3px;
}

.ctc__btn:active {
    background: #4d6e70;
    border-color: #4d6e70;
    color: #fff;
}

.ctc__channels {
    background: #fff;
    padding: 80px 0 80px;
    position: relative;
}

.ctc__channels::before {
    content: '';
    position: absolute;
    top: 0;
    left: 40px;
    right: 40px;
    height: 1px;
    background: repeating-linear-gradient(to right,
            #63888A 0px,
            #63888A 6px,
            transparent 6px,
            transparent 10px,
            #B7DDD7 10px,
            #B7DDD7 12px,
            transparent 12px,
            transparent 18px);
}

.ctc__channels-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.ctc__channels-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
}

.ctc__channels-heading {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #1e3638;
    font-weight: 300;
    margin: 0;
    max-width: 480px;
}

.ctc__channels-sub {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5254;
    max-width: 360px;
    margin: 0;
    text-align: right;
}

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

.ctc__ch-item {
    border-radius: 14px;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    border: 1px solid #B7DDD7;
    background: #fff;
    transition: box-shadow 0.26s cubic-bezier(0.4, 0, 0.2, 1), background 0.26s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: default;
}

.ctc__ch-item:hover {
    box-shadow: 0 6px 25px 0 rgba(106, 177, 145, 0.10);
    background: linear-gradient(135deg, #f4f9f8 0%, #fff 100%);
}

.ctc__ch-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 8px;
}

.ctc__ch-name {
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #63888A;
    font-weight: 600;
}

.ctc__ch-val {
    font-size: 18px;
    line-height: 1.7;
    color: #1e3638;
}

.ctc__ch-val a {
    color: #1e3638;
    text-decoration: none;
    border-bottom: 1px solid #B7DDD7;
    transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.ctc__ch-val a:hover {
    color: #6AB191;
    border-color: #6AB191;
}

.ctc__ch-desc {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5254;
    margin-top: 4px;
}

.ctc__ch-item--featured {
    background: linear-gradient(135deg, #f0f7f6 0%, #e8f5f0 100%);
    border-color: #6AB191;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06);
}

.ctc__ch-item--featured .ctc__mini-card {
    margin-top: 20px;
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    border: 1px solid #B7DDD7;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ctc__mini-card-label {
    font-size: 16px;
    line-height: 1.2;
    color: #8aabac;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ctc__mini-card-val {
    font-size: 16px;
    line-height: 1.7;
    color: #1e3638;
}

.ctc__ch-checkerboard {
    position: absolute;
    inset: 0;
    border-radius: 14px;
    opacity: 0;
    background-image:
        linear-gradient(45deg, rgba(183, 221, 215, 0.07) 25%, transparent 25%),
        linear-gradient(-45deg, rgba(183, 221, 215, 0.07) 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, rgba(183, 221, 215, 0.07) 75%),
        linear-gradient(-45deg, transparent 75%, rgba(183, 221, 215, 0.07) 75%);
    background-size: 20px 20px;
    background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
    transition: opacity 0.26s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.ctc__ch-item:hover .ctc__ch-checkerboard {
    opacity: 1;
}

@media (max-width: 900px) {
    .ctc__split {
        flex-direction: column;
        gap: 40px;
        padding: 40px 20px;
    }

    .ctc__split-left {
        padding-right: 0;
    }

    .ctc__split-left::after {
        display: none;
    }

    .ctc__form-wrap {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 0 20px;
    }

    .ctc__form-section {
        padding: 40px 0;
    }

    .ctc__channels-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .ctc__channels-sub {
        text-align: left;
    }

    .ctc__ch-grid {
        grid-template-columns: 1fr;
    }

    .ctc__channels-inner {
        padding: 0 20px;
    }

    .ctc__stat-row {
        flex-direction: column;
    }

    .ctc__channels {
        padding: 40px 0;
    }
}

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

.opn .pg-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.opn .title-blk {
    position: relative;
    padding: 80px 0 80px;
    background-color: #e8efef;
    border-bottom: 3px solid #63888A;
}

.opn .title-blk::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(135deg, #63888A 0%, #ffffff 100%);
}

.opn .title-blk__dots {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 320px;
    pointer-events: none;
    overflow: hidden;
}

.opn .title-blk__dots::before {
    content: '';
    position: absolute;
    top: 20px;
    right: 20px;
    width: 280px;
    height: 100%;
    background-image:
        radial-gradient(circle, #63888A 1.5px, transparent 1.5px),
        radial-gradient(circle, #6AB191 1px, transparent 1px),
        radial-gradient(circle, #B7DDD7 2.5px, transparent 2.5px),
        radial-gradient(circle, #63888A 1px, transparent 1px);
    background-size: 28px 28px, 18px 18px, 42px 42px, 14px 14px;
    background-position: 0 0, 9px 9px, 4px 4px, 14px 20px;
    opacity: 0.35;
}

.opn .title-blk__grid {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 80px;
}

.opn .title-blk__text {
    flex: 1;
}

.opn .title-blk__label {
    font-size: 16px;
    letter-spacing: 0.18em;
    color: #63888A;
    text-transform: uppercase;
    margin-bottom: 20px;
    font-weight: 600;
}

.opn .title-blk__h1 {
    font-size: 72px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: #1e3535;
    font-weight: 300;
    margin-bottom: 20px;
}

.opn .title-blk__h1 strong {
    font-weight: 700;
    color: #63888A;
}

.opn .title-blk__desc {
    font-size: 18px;
    line-height: 1.7;
    color: #3a5252;
    max-width: 520px;
    margin-bottom: 40px;
}

.opn .title-blk__stats {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

.opn .stat-item__num {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    color: #63888A;
    letter-spacing: -0.02em;
}

.opn .stat-item__lbl {
    font-size: 16px;
    color: #3a5252;
    letter-spacing: 0.04em;
}

.opn .title-blk__img-col {
    flex: 0 0 420px;
}

.opn .img-channel {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
}

.opn .img-channel img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    filter: saturate(0.7) contrast(1.1) brightness(1.05);
    transition: filter 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.opn .img-channel:hover img {
    filter: saturate(1.1) contrast(1.05) brightness(1.0);
}

.opn .img-channel::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(200deg, rgba(106, 177, 145, 0.22) 0%, transparent 60%);
    pointer-events: none;
}

.opn .approach {
    padding: 80px 0;
    background-color: #ffffff;
}

.opn .approach__head {
    margin-bottom: 40px;
}

.opn .approach__tag {
    font-size: 16px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #6AB191;
    font-weight: 600;
    margin-bottom: 8px;
}

.opn .approach__h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    font-weight: 300;
    color: #1e3535;
    max-width: 600px;
}

.opn .approach__layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}

.opn .approach__img-wrap {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 52px 0 rgba(99, 136, 138, 0.11);
}

.opn .approach__img-wrap img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.opn .approach__img-wrap:hover img {
    transform: scale(1.03);
}

.opn .approach__corner {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    background: #6AB191;
    border-radius: 0 8px 0 22px;
}

.opn .approach__body {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.opn .approach__para {
    font-size: 18px;
    line-height: 1.7;
    color: #2e4848;
}

.opn .fact-strip {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.opn .fact-item {
    padding: 20px;
    background-color: #e8efef;
    border-radius: 8px;
    border-top: 3px solid #B7DDD7;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06);
    position: relative;
}

.opn .fact-item__num {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    color: #63888A;
    letter-spacing: -0.02em;
}

.opn .fact-item__num span {
    font-size: 16px;
    font-weight: 400;
    color: #3a5252;
    letter-spacing: 0.04em;
    margin-left: 8px;
}

.opn .fact-item__desc {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5252;
    margin-top: 4px;
}

.opn .community {
    padding: 80px 0;
    background-color: #dcecea !important;
}

.opn .community__inner {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.opn .community__lead {
    grid-column: 1 / 3;
}

.opn .community__h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    font-weight: 300;
    color: #1e3535;
    margin-bottom: 20px;
}

.opn .community__intro {
    font-size: 18px;
    line-height: 1.7;
    color: #2e4848;
    max-width: 560px;
}

.opn .community__aside {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.opn .peer-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
    position: relative;
    overflow: hidden;
}

.opn .peer-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #6AB191 0%, #B7DDD7 100%);
    border-radius: 14px 0 0 14px;
}

.opn .peer-card__name {
    font-size: 16px;
    font-weight: 700;
    color: #1e3535;
    letter-spacing: 0.04em;
}

.opn .peer-card__role {
    font-size: 16px;
    color: #63888A;
    margin-bottom: 8px;
}

.opn .peer-card__quote {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5252;
}

.opn .community__grid-imgs {
    grid-column: 1 / 4;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
    margin-top: 20px;
}

.opn .community__img-wrap {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06);
}

.opn .community__img-wrap img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform 0.22s cubic-bezier(0.0, 0, 0.2, 1);
}

.opn .community__img-wrap:hover img {
    transform: scale(1.04);
}

.opn .community__img-sm {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06);
}

.opn .community__img-sm img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform 0.26s cubic-bezier(0.4, 0, 0.2, 1);
}

.opn .community__img-sm:hover img {
    transform: scale(1.04);
}

.opn .method {
    padding: 80px 0;
    background-color: #ffffff;
}

.opn .method__head {
    text-align: center;
    margin-bottom: 80px;
}

.opn .method__h2 {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 300;
    letter-spacing: -0.01em;
    color: #1e3535;
    margin-bottom: 20px;
}

.opn .method__sub {
    font-size: 18px;
    line-height: 1.7;
    color: #3a5252;
    max-width: 560px;
    margin: 0 auto;
}

.opn .method__steps {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.opn .step-card {
    padding: 40px;
    border-radius: 14px;
    background: #f2f8f7;
    box-shadow: 0 3px 2px 0 rgba(99, 136, 138, 0.06);
    position: relative;
    transition: box-shadow 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}

.opn .step-card:hover {
    box-shadow: 0 10px 52px 0 rgba(99, 136, 138, 0.11);
}

.opn .step-card__num {
    font-size: 72px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.04em;
    color: #B7DDD7;
    margin-bottom: 8px;
}

.opn .step-card__h3 {
    font-size: 18px;
    font-weight: 700;
    color: #1e3535;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
}

.opn .step-card__text {
    font-size: 16px;
    line-height: 1.7;
    color: #3a5252;
}

.opn .step-card--accent {
    background: #63888A;
}

.opn .step-card--accent .step-card__num {
    color: rgba(183, 221, 215, 0.4);
}

.opn .step-card--accent .step-card__h3 {
    color: #ffffff;
}

.opn .step-card--accent .step-card__text {
    color: #d4ecea;
}

.opn .method__cta-row {
    margin-top: 80px;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.opn .btn-primary {
    display: inline-block;
    padding: 20px 40px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #63888A;
    background: transparent;
    border: 2px solid #63888A;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1), background 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.opn .btn-primary::before {
    content: '';
    position: absolute;
    inset: 4px;
    border: 1px solid #63888A;
    border-radius: 2px;
    opacity: 0;
    transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.opn .btn-primary:hover {
    background: #63888A;
    color: #ffffff;
}

.opn .btn-primary:hover::before {
    opacity: 1;
    border-color: rgba(255, 255, 255, 0.4);
}

.opn .btn-primary:focus {
    outline: 3px solid #6AB191;
    outline-offset: 3px;
}

.opn .title-blk__label,
.opn .title-blk__h1,
.opn .title-blk__desc,
.opn .title-blk__stats,
.opn .title-blk__img-col {
    opacity: 0;
    transform: translateY(20px);
    animation: opn-fadein 0.25s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.opn .title-blk__label {
    animation-delay: 0.05s;
}

.opn .title-blk__h1 {
    animation-delay: 0.12s;
}

.opn .title-blk__desc {
    animation-delay: 0.18s;
}

.opn .title-blk__stats {
    animation-delay: 0.23s;
}

.opn .title-blk__img-col {
    animation-delay: 0.28s;
}

@keyframes opn-fadein {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 900px) {
    .opn .title-blk__grid {
        flex-direction: column;
        gap: 40px;
    }

    .opn .title-blk__img-col {
        flex: 0 0 auto;
        width: 100%;
    }

    .opn .title-blk__h1 {
        font-size: 40px;
    }

    .opn .approach__layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .opn .community__inner {
        grid-template-columns: 1fr;
    }

    .opn .community__lead {
        grid-column: 1;
    }

    .opn .community__grid-imgs {
        grid-column: 1;
        grid-template-columns: 1fr;
    }

    .opn .method__steps {
        grid-template-columns: 1fr;
    }

    .opn .title-blk__dots {
        display: none;
    }
}

@media (max-width: 600px) {
    .opn .title-blk__stats {
        flex-direction: column;
        gap: 20px;
    }

    .opn .title-blk {
        padding: 40px 0;
    }

    .opn .approach,
    .opn .community,
    .opn .method {
        padding: 40px 0;
    }

    .opn .method__head {
        margin-bottom: 40px;
    }
}

.success-page {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    background: #ffffff;
}

.success-page .result-card {
    max-width: 560px;
    width: 100%;
    background: #ffffff;
    border: 1px solid #B7DDD7;
    border-radius: 14px;
    padding: 40px;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
    text-align: center;
}

.success-page .result-card__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.success-page .result-card__icon svg {
    width: 64px;
    height: 64px;
}

.success-page .result-card__heading {
    font-size: 40px;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #2c4a4c;
    margin: 0 0 20px;
}

.success-page .result-card__body {
    font-size: 18px;
    line-height: 1.7;
    color: #3d5e60;
    margin: 0 0 40px;
}

.success-page .result-card__divider {
    width: 48px;
    height: 2px;
    background: linear-gradient(90deg, #63888A, #B7DDD7);
    border-radius: 2px;
    margin: 0 auto 40px;
}

.success-page .result-card__action {
    display: inline-block;
}

.success-page .result-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: #63888A;
    background: transparent;
    border: 1px solid #63888A;
    border-radius: 8px;
    padding: 20px 40px;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1),
        background 0.22s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.25s cubic-bezier(0.0, 0, 0.2, 1);
}

.success-page .result-card__btn::before {
    content: "";
    position: absolute;
    inset: 3px;
    border: 1px solid transparent;
    border-radius: 6px;
    transition: border-color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.success-page .result-card__btn:hover {
    background: #63888A;
    color: #ffffff;
    box-shadow: 0 6px 25px 0 rgba(99, 136, 138, 0.10);
}

.success-page .result-card__btn:hover::before {
    border-color: rgba(183, 221, 215, 0.45);
}

.success-page .result-card__btn:focus-visible {
    outline: 2px solid #63888A;
    outline-offset: 4px;
}

.success-page .result-card__btn:active {
    background: #4e7072;
    color: #ffffff;
}

.success-page .result-card__note {
    font-size: 16px;
    line-height: 1.7;
    color: #63888A;
    margin: 20px 0 0;
}