* {
    box-sizing: border-box
}

body {
    margin: 0;
    position: relative;
    min-height: 100vh
}

html {
    scroll-behavior: auto
}

:focus {
    outline: none;
    box-shadow: 0 0 0 3px #cdc6578c
}

.strip__accent {
    height: 4px;
    width: 100%;
    background: linear-gradient(90deg, #252525 0%, #CDC657 55%, #252525 100%)
}

.bar {
    background-color: #252525;
    font-family: 'Public Sans', sans-serif
}

.bar__inside {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
    min-height: 80px
}

.brand__card {
    display: flex;
    align-items: center;
    gap: 12px;
    background-color: #f5f3e8;
    border: 1px solid #cdc65759;
    border-radius: 10px;
    padding: 6px 20px;
    box-shadow: 0 1px 6px 0 #2525250f;
    align-self: center;
    flex-shrink: 0;
    text-decoration: none
}

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

.brand__label {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #252525;
    letter-spacing: 0
}

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

.menu__side--left {
    justify-content: flex-end
}

.menu__side--right {
    justify-content: flex-start
}

.menu__side a {
    font-family: 'Public Sans', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
    color: #f5f3e8;
    text-decoration: none;
    padding: 12px;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), background-color .18s cubic-bezier(0.0, 0, 0.2, 1);
    white-space: nowrap
}

.menu__side a:hover,
.menu__side a:focus {
    color: #CDC657;
    background-color: #ffffff12
}

.menu__side a.active {
    color: #CDC657;
    font-weight: 700
}

.bar__contact {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 6px 0;
    align-self: center
}

.bar__contact a {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #CDC657;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 44px
}

.bar__contact a:hover {
    color: #fff
}

.bar__contact .typcn {
    font-size: 16px
}

.bar__sub {
    background-color: #252525f7;
    border-top: 1px solid #cdc65726
}

.bar__sub-inside {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 44px;
    gap: 6px
}

.bar__sub-inside a {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #f5f3e8a6;
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.bar__sub-inside a:hover {
    color: #CDC657
}

.foot {
    background-color: #252525;
    font-family: 'Open Sans', sans-serif;
    position: relative;
    overflow: hidden
}

.foot__depth {
    position: absolute;
    right: -20px;
    bottom: -40px;
    font-family: 'Public Sans', sans-serif;
    font-size: 200px;
    font-weight: 700;
    line-height: 1.1;
    color: #cdc6570f;
    pointer-events: none;
    user-select: none;
    letter-spacing: 0;
    white-space: nowrap
}

.foot__top {
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 40px 40px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    position: relative;
    z-index: 1
}

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

.foot__rule {
    width: 100%;
    height: 1px;
    background: #cdc6574d;
    border: none;
    margin-bottom: 20px
}

.foot__logo-card {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background-color: #f5f3e8;
    border: 1px solid #cdc65766;
    border-radius: 10px;
    padding: 6px 20px;
    box-shadow: 0 1px 6px 0 #cdc6570f;
    width: fit-content
}

.foot__logo-card img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    display: block
}

.foot__brand-name {
    font-family: 'Public Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: #252525
}

.foot__tagline {
    font-size: 14px;
    line-height: 1.7;
    color: #f5f3e8a6
}

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

.foot__column-heading {
    font-family: 'Public Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    color: #CDC657;
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: 6px
}

.foot__column a {
    font-size: 14px;
    line-height: 1.5;
    color: #f5f3e8bf;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color .19s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 44px
}

.foot__column a:hover {
    color: #CDC657
}

.foot__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    line-height: 1.7;
    color: #f5f3e8bf
}

.foot__contact-item .typcn {
    color: #CDC657;
    font-size: 16px;
    flex-shrink: 0;
    margin-top: 2px
}

.foot__contact-item a {
    color: #f5f3e8bf;
    text-decoration: none;
    transition: color .19s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 0
}

.foot__contact-item a:hover {
    color: #CDC657
}

.foot__bottom {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 40px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid #cdc6571f;
    position: relative;
    z-index: 1;
    flex-wrap: wrap
}

.foot__copy {
    font-size: 14px;
    line-height: 1.5;
    color: #f5f3e873
}

.foot__legal a {
    font-size: 14px;
    line-height: 1.5;
    color: #f5f3e873;
    text-decoration: none;
    transition: color .19s cubic-bezier(0.4, 0, 0.2, 1)
}

.foot__legal a:hover {
    color: #CDC657
}

.consent__box {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 320px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 7px 25px 0 #2525251c 0 12px 36px 0 #2525251f;
    z-index: 4000;
    font-family: 'Open Sans', sans-serif;
    overflow: hidden;
    transform: translateX(-40px);
    opacity: 0;
    transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1), opacity .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent__box--visible {
    transform: translateX(0);
    opacity: 1
}

.consent__box--hiding {
    transform: translateX(-40px);
    opacity: 0
}

.consent__top {
    background-color: #252525;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px
}

.consent__icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0
}

.consent__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.consent__text {
    font-size: 14px;
    line-height: 1.7;
    color: #252525
}

.consent__text strong {
    color: #252525;
    font-weight: 700
}

.consent__panel {
    display: none;
    flex-direction: column;
    gap: 12px;
    padding-top: 6px
}

.consent__panel--open {
    display: flex
}

.consent__toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px
}

.consent__toggle-label {
    font-size: 14px;
    line-height: 1.5;
    color: #252525
}

.consent__switch {
    position: relative;
    width: 40px;
    height: 22px;
    flex-shrink: 0
}

.consent__switch input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute
}

.consent__slider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #d0d0d0;
    border-radius: 26px;
    cursor: pointer;
    transition: background-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent__slider::before {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    left: 3px;
    top: 3px;
    background-color: #fff;
    border-radius: 40px;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.consent__switch input:checked+.consent__slider {
    background-color: #CDC657
}

.consent__switch input:checked+.consent__slider::before {
    transform: translateX(18px)
}

.consent__detail-toggle {
    font-size: 14px;
    line-height: 1.5;
    color: #CDC657;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: 'Open Sans', sans-serif;
    text-decoration: underline;
    transition: color .19s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 44px;
    display: inline-flex;
    align-items: center
}

.consent__detail-toggle:hover,
.consent__detail-toggle:focus {
    color: #252525
}

.consent__necessary {
    font-size: 14px;
    line-height: 1.5;
    color: #25252580;
    font-style: italic
}

.consent__actions {
    display: flex;
    gap: 12px;
    padding: 0 20px 20px
}

.consent__btn {
    flex: 1;
    padding: 12px 6px;
    font-family: 'Public Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    border-radius: 5px;
    border: 2px solid #252525;
    cursor: pointer;
    transition: background-color .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1), transform .15s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 44px
}

.consent__btn:active {
    transform: scale(0.97)
}

.consent__btn--accept {
    background-color: #252525;
    color: #CDC657
}

.consent__btn--accept:hover,
.consent__btn--accept:focus {
    background-color: #CDC657;
    color: #252525;
    border-color: #CDC657
}

.consent__btn--reject {
    background-color: transparent;
    color: #252525
}

.consent__btn--reject:hover,
.consent__btn--reject:focus {
    background-color: #252525;
    color: #fff
}

@media (max-width: 900px) {
    .bar__inside {
        flex-wrap: wrap;
        padding: 0 20px;
        min-height: auto;
        padding-top: 12px;
        padding-bottom: 12px;
        justify-content: center
    }

    .menu__side {
        justify-content: center;
        width: 100%;
        order: 2
    }

    .menu__side--left {
        order: 1
    }

    .menu__side--right {
        order: 3
    }

    .brand__card {
        order: 2;
        width: 100%;
        justify-content: center
    }

    .bar__contact {
        display: none
    }

    .foot__top {
        grid-template-columns: 1fr;
        padding: 40px 20px 20px
    }

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

    .bar__sub-inside {
        padding: 0 20px;
        justify-content: center
    }

    .consent__box {
        width: calc(100vw - 40px);
        right: 20px;
        left: 20px
    }
}

.legal-box-eqv {
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 40px;
    color: #252525;
    line-height: 1.7;
    font-size: 16px
}

.legal-box-eqv strong,
.legal-box-eqv b {
    font-weight: 700;
    color: #252525
}

.legal-box-eqv em,
.legal-box-eqv i {
    font-style: italic;
    color: #3a3a3a
}

.legal-box-eqv table {
    width: 100%;
    border-collapse: collapse;
    margin: 40px 0;
    font-size: 14px;
    line-height: 1.5;
    box-shadow: 0 1px 6px 0 #2525250f 0 7px 25px 0 #2525251c;
    border-radius: 10px;
    overflow: hidden
}

.legal-box-eqv thead {
    background-color: #252525;
    color: #FFF
}

.legal-box-eqv tbody {
    background-color: #FFF
}

.legal-box-eqv tr {
    border-bottom: 1px solid #25252514;
    transition: background-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.legal-box-eqv tbody tr:last-child {
    border-bottom: none
}

.legal-box-eqv tbody tr:hover {
    background-color: #cdc65712
}

.legal-box-eqv th {
    padding: 20px;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0
}

.legal-box-eqv td {
    padding: 20px;
    font-size: 14px;
    line-height: 1.7;
    color: #252525;
    vertical-align: top
}

.legal-box-eqv tbody tr:nth-child(even) {
    background-color: #25252506
}

.legal-box-eqv hr {
    border: none;
    border-top: 2px solid #CDC657;
    margin: 40px 0;
    width: 60px
}

.legal-box-eqv div {
    margin-bottom: 20px;
    line-height: 1.7
}

@media (max-width: 768px) {
    .legal-box-eqv {
        padding: 40px 20px;
        font-size: 16px
    }

    .legal-box-eqv table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 10px
    }

    .legal-box-eqv th,
    .legal-box-eqv td {
        padding: 12px;
        min-width: 120px
    }
}

.case-studies-detail {
    background: #f5f4ef;
    overflow-x: clip;
    position: relative
}

.case-studies-detail .post-frame {
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 40px
}

.case-studies-detail .title-panel {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 40px;
    position: relative;
    padding: 40px;
    background: #252525;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 36px 0 #2525251f
}

.case-studies-detail .title-panel::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    bottom: 12px;
    border: 1px solid #cdc6574d;
    border-radius: 10px;
    pointer-events: none;
    z-index: 1
}

.case-studies-detail .title-panel::after {
    content: '';
    position: absolute;
    top: 6px;
    left: 6px;
    right: 6px;
    bottom: 6px;
    border: 1px solid #cdc6571f;
    border-radius: 10px;
    pointer-events: none;
    z-index: 1
}

.case-studies-detail .title-text-area {
    flex: 1 1 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    z-index: 2;
    min-width: 0
}

.case-studies-detail .title-image-area {
    flex: 1 1 55%;
    min-height: 340px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    z-index: 2
}

.case-studies-detail .title-image-area img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: drop-shadow(0 7px 25px #cdc6572e)
}

.case-studies-detail .title-image-area::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, #cdc65714 0%, transparent 60%);
    pointer-events: none
}

.case-studies-detail .post-label {
    display: inline-block;
    background: #CDC657;
    color: #252525;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    padding: 6px 20px;
    border-radius: 5px;
    text-transform: uppercase;
    width: fit-content
}

.case-studies-detail .post-heading {
    font-size: 52px;
    line-height: 1.1;
    color: #FFF;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0
}

.case-studies-detail .post-meta-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap
}

.case-studies-detail .meta-chip {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #fff9
}

.case-studies-detail .meta-chip svg {
    flex-shrink: 0
}

.case-studies-detail .title-cta {
    display: inline-block;
    padding: 12px 40px;
    background: #CDC657;
    color: #252525;
    font-size: 16px;
    font-weight: 700;
    border-radius: 10px;
    text-decoration: none;
    width: fit-content;
    transition: background-color .2s cubic-bezier(0.4, 0, 0.2, 1), transform .15s cubic-bezier(0.0, 0, 0.2, 1);
    box-shadow: 0 7px 25px 0 #cdc6571c
}

.case-studies-detail .title-cta:hover {
    background: #b8b24a
}

.case-studies-detail .title-cta:active {
    transform: scale(0.97)
}

.case-studies-detail .decor-lines {
    position: absolute;
    bottom: 20px;
    left: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 1;
    pointer-events: none
}

.case-studies-detail .decor-lines span {
    display: block;
    height: 1px;
    background: #cdc65740;
    border-radius: 1px
}

.case-studies-detail .decor-lines span:nth-child(1) {
    width: 60px
}

.case-studies-detail .decor-lines span:nth-child(2) {
    width: 40px
}

.case-studies-detail .decor-lines span:nth-child(3) {
    width: 80px
}

.case-studies-detail .decor-lines span:nth-child(4) {
    width: 30px
}

.case-studies-detail .body-frame {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px 80px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 40px
}

.case-studies-detail .article-column {
    flex: 1 1 0;
    min-width: 0
}

.case-studies-detail .article-text {
    background: #FFF;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 1px 6px 0 #2525250f
}

.case-studies-detail .article-text p {
    font-size: 16px;
    line-height: 1.7;
    color: #252525;
    margin-bottom: 20px
}

.case-studies-detail .article-text h2 {
    font-size: 36px;
    line-height: 1.3;
    color: #252525;
    font-weight: 700;
    margin: 40px 0 20px;
    text-transform: uppercase
}

.case-studies-detail .article-text h3 {
    font-size: 18px;
    line-height: 1.5;
    color: #252525;
    font-weight: 600;
    margin: 40px 0 12px
}

.case-studies-detail .article-text ins {
    color: #CDC657;
    text-decoration: none;
    font-weight: 700
}

.case-studies-detail .article-text ul {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.case-studies-detail .article-text ul li {
    background: #f5f4ef;
    border-radius: 10px;
    padding: 12px 20px;
    font-size: 16px;
    line-height: 1.5;
    color: #252525;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px
}

.case-studies-detail .article-text ul li::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    min-width: 8px;
    background: #CDC657;
    border-radius: 40px;
    margin-top: 6px
}

.case-studies-detail .article-text table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 16px;
    border-radius: 10px;
    overflow: hidden
}

.case-studies-detail .article-text table caption {
    font-size: 14px;
    color: #252525;
    opacity: .6;
    text-align: left;
    margin-bottom: 6px;
    padding: 0 0 6px
}

.case-studies-detail .article-text table th {
    background: #252525;
    color: #FFF;
    padding: 12px 20px;
    text-align: left;
    font-size: 14px;
    font-weight: 700
}

.case-studies-detail .article-text table td {
    padding: 12px 20px;
    color: #252525;
    border-bottom: 1px solid #25252514;
    background: #FFF
}

.case-studies-detail .article-text table tr:last-child td {
    border-bottom: none
}

.case-studies-detail .article-text blockquote {
    border-radius: 10px;
    background: linear-gradient(to top, #CDC657, #FFF);
    padding: 20px 40px;
    margin: 20px 0;
    font-size: 18px;
    line-height: 1.5;
    color: #252525;
    font-style: italic
}

.case-studies-detail .article-text details {
    margin: 12px 0;
    border-radius: 10px;
    background: #f5f4ef;
    overflow: hidden
}

.case-studies-detail .article-text details summary {
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 600;
    color: #252525;
    cursor: pointer;
    list-style: none;
    transition: background-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.case-studies-detail .article-text details summary:hover {
    background: #cdc6572e
}

.case-studies-detail .article-text details[open] summary {
    background: #cdc65738
}

.case-studies-detail .article-text details> :not(summary) {
    padding: 12px 20px;
    font-size: 16px;
    line-height: 1.5;
    color: #252525
}

.case-studies-detail .sidebar-column {
    flex: 0 0 320px;
    display: flex;
    flex-direction: column;
    gap: 20px
}

.case-studies-detail .sidebar-divider {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 40px 0
}

.case-studies-detail .sidebar-divider span.line-short {
    display: block;
    width: 32px;
    height: 1px;
    background: #CDC657;
    border-radius: 1px
}

.case-studies-detail .sidebar-divider span.shape-mid {
    display: block;
    width: 8px;
    height: 8px;
    background: #CDC657;
    border-radius: 40px;
    transform: rotate(45deg)
}

.case-studies-detail .stat-ring-row {
    background: #252525;
    border-radius: 16px;
    padding: 40px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    gap: 20px;
    flex-wrap: wrap;
    box-shadow: 0 7px 25px 0 #2525251c
}

.case-studies-detail .ring-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px
}

.case-studies-detail .ring-wrap {
    position: relative;
    width: 80px;
    height: 80px
}

.case-studies-detail .ring-wrap svg {
    transform: rotate(-90deg);
    width: 80px;
    height: 80px
}

.case-studies-detail .ring-wrap .ring-bg {
    fill: none;
    stroke: #ffffff1a;
    stroke-width: 6
}

.case-studies-detail .ring-wrap .ring-fill {
    fill: none;
    stroke: #CDC657;
    stroke-width: 6;
    stroke-linecap: round;
    stroke-dasharray: 201;
    transition: stroke-dashoffset .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.case-studies-detail .ring-num {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    color: #FFF
}

.case-studies-detail .ring-label {
    font-size: 14px;
    color: #ffffffb3;
    text-align: center;
    line-height: 1.3;
    max-width: 80px
}

.case-studies-detail .poll-card {
    background: #FFF;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 1px 6px 0 #2525250f
}

.case-studies-detail .poll-heading {
    font-size: 18px;
    font-weight: 700;
    color: #252525;
    margin: 0 0 20px;
    line-height: 1.3
}

.case-studies-detail .poll-form {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.case-studies-detail .poll-option {
    position: relative
}

.case-studies-detail .poll-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.case-studies-detail .poll-option label {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    border-radius: 10px;
    background: #f5f4ef;
    cursor: pointer;
    font-size: 16px;
    color: #252525;
    line-height: 1.5;
    transition: background-color .18s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent
}

.case-studies-detail .poll-option label:hover {
    background: #cdc65726
}

.case-studies-detail .poll-option input[type="radio"]:checked+label {
    background: #cdc65733;
    border-color: #CDC657;
    font-weight: 600
}

.case-studies-detail .poll-dot {
    width: 16px;
    height: 16px;
    min-width: 16px;
    border-radius: 40px;
    border: 2px solid #2525254d;
    background: #FFF;
    transition: border-color .18s cubic-bezier(0.4, 0, 0.2, 1), background-color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.case-studies-detail .poll-option input[type="radio"]:checked+label .poll-dot {
    border-color: #CDC657;
    background: #CDC657
}

.case-studies-detail .poll-submit {
    margin-top: 20px;
    padding: 12px 40px;
    background: #252525;
    color: #FFF;
    font-size: 16px;
    font-weight: 600;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    width: 100%;
    transition: background-color .22s cubic-bezier(0.4, 0, 0.2, 1), transform .15s cubic-bezier(0.0, 0, 0.2, 1);
    box-shadow: 0 7px 25px 0 #2525251c
}

.case-studies-detail .poll-submit:hover {
    background: #3a3a3a
}

.case-studies-detail .poll-submit:active {
    transform: scale(0.97)
}

.case-studies-detail .services-card {
    background: linear-gradient(to top, #CDC657, #FFF);
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 7px 25px 0 #cdc6571c
}

.case-studies-detail .services-card-heading {
    font-size: 18px;
    font-weight: 700;
    color: #252525;
    margin: 0 0 12px;
    line-height: 1.3
}

.case-studies-detail .services-card p {
    font-size: 16px;
    line-height: 1.5;
    color: #252525;
    margin: 0 0 20px
}

.case-studies-detail .services-link {
    display: inline-block;
    padding: 12px 20px;
    background: #252525;
    color: #FFF;
    font-size: 14px;
    font-weight: 600;
    border-radius: 10px;
    text-decoration: none;
    transition: background-color .2s cubic-bezier(0.4, 0, 0.2, 1), transform .15s cubic-bezier(0.0, 0, 0.2, 1);
    box-shadow: 0 1px 6px 0 #2525250f
}

.case-studies-detail .services-link:hover {
    background: #3a3a3a
}

.case-studies-detail .services-link:active {
    transform: scale(0.97)
}

.case-studies-detail .bg-animate {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
    border-radius: 16px
}

.case-studies-detail .bg-animate .zone1 {
    position: absolute;
    width: 400px;
    height: 400px;
    border-radius: 40px;
    background: #cdc6570f;
    top: -80px;
    right: -80px;
    animation: zoneshift1 18s ease-in-out infinite
}

.case-studies-detail .bg-animate .zone2 {
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 40px;
    background: #cdc6570a;
    bottom: 0;
    left: 40px;
    animation: zoneshift2 22s ease-in-out infinite
}

@keyframes zoneshift1 {

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

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

@keyframes zoneshift2 {

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

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

@media (max-width: 1024px) {
    .case-studies-detail .title-panel {
        flex-direction: column-reverse
    }

    .case-studies-detail .title-image-area {
        min-height: 240px;
        flex: 0 0 auto
    }

    .case-studies-detail .post-heading {
        font-size: 36px
    }

    .case-studies-detail .body-frame {
        flex-direction: column
    }

    .case-studies-detail .sidebar-column {
        flex: 0 0 auto;
        width: 100%
    }
}

@media (max-width: 640px) {

    .case-studies-detail .post-frame,
    .case-studies-detail .body-frame {
        padding-left: 20px;
        padding-right: 20px
    }

    .case-studies-detail .title-panel {
        padding: 20px
    }

    .case-studies-detail .post-heading {
        font-size: 36px
    }

    .case-studies-detail .article-text,
    .case-studies-detail .poll-card,
    .case-studies-detail .services-card,
    .case-studies-detail .stat-ring-row {
        padding: 20px
    }

    .case-studies-detail .stat-ring-row {
        gap: 20px
    }
}

.analytics {
    background: #FFF;
    overflow-x: clip
}

.analytics .grid-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(#cdc65712 1px, transparent 1px), linear-gradient(90deg, #cdc65712 1px, transparent 1px);
    background-size: 48px 48px;
    animation: gridpulse 4s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate
}

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

    100% {
        opacity: 1
    }
}

.analytics .page-bound {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.analytics .dot-divider {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 20px 40px;
    max-width: 1400px;
    margin: 0 auto
}

.analytics .dot-divider span {
    display: block;
    height: 2px;
    background-image: radial-gradient(circle, #CDC657 1.2px, transparent 1.2px);
    background-size: 12px 2px;
    opacity: .45
}

.analytics .title-block {
    position: relative;
    padding-top: 80px;
    padding-bottom: 40px;
    overflow: hidden
}

.analytics .title-block .atmo-spot {
    position: absolute;
    border-radius: 40px;
    pointer-events: none;
    filter: blur(60px);
    opacity: .18
}

.analytics .title-block .atmo-spot--yellow {
    width: 480px;
    height: 320px;
    background: #CDC657;
    top: -60px;
    right: -80px
}

.analytics .title-block .atmo-spot--dark {
    width: 300px;
    height: 200px;
    background: #252525;
    bottom: 20px;
    left: -60px
}

.analytics .title-inner {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 80px;
    align-items: start;
    position: relative;
    z-index: 1
}

.analytics .title-image-col {
    position: relative
}

.analytics .title-image-wrap {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 12px 36px 0 #2525251f
}

.analytics .title-image-wrap img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
    filter: sepia(0.28) contrast(1.08) brightness(0.92) saturate(0.85);
    opacity: .88;
    transition: opacity .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.analytics .title-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, #25252552 100%);
    pointer-events: none
}

.analytics .title-text-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 12px
}

.analytics .label-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #CDC657;
    background: #cdc6571a;
    border-radius: 5px;
    padding: 6px 12px;
    width: fit-content
}

.analytics .heading-primary {
    font-size: 70px;
    line-height: 1.1;
    font-weight: 800;
    text-transform: uppercase;
    color: #252525;
    margin: 0
}

.analytics .heading-primary .accent-word {
    color: #CDC657
}

.analytics .lead-text {
    font-size: 18px;
    line-height: 1.7;
    color: #252525;
    opacity: .78;
    max-width: 560px;
    margin: 0
}

.analytics .title-cta-row {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap
}

.analytics .btn-primary {
    font-size: 16px;
    font-weight: 700;
    color: #252525;
    background: #CDC657;
    border: none;
    border-radius: 5px;
    padding: 20px 40px;
    cursor: pointer;
    box-shadow: 0 7px 25px 0 #cdc6571c;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    display: inline-block
}

.analytics .btn-primary:hover {
    background: #b8b240;
    box-shadow: 0 12px 36px 0 #cdc6571f
}

.analytics .btn-primary:active {
    transform: scale(0.97)
}

.analytics .btn-secondary {
    font-size: 14px;
    font-weight: 600;
    color: #252525;
    background: transparent;
    border: 2px solid #2525252e;
    border-radius: 5px;
    padding: 12px 20px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.analytics .btn-secondary:hover {
    border-color: #CDC657;
    color: #CDC657
}

.analytics .btn-secondary:active {
    transform: scale(0.97)
}

.analytics .service-block {
    position: relative;
    padding: 80px 0;
    background: #252525
}

.analytics .service-block .grid-bg {
    background-image: linear-gradient(#cdc6570d 1px, transparent 1px), linear-gradient(90deg, #cdc6570d 1px, transparent 1px)
}

.analytics .service-heading {
    font-size: 36px;
    line-height: 1.3;
    font-weight: 700;
    color: #FFF;
    margin: 0 0 40px;
    max-width: 600px
}

.analytics .service-heading .accent-word {
    color: #CDC657
}

.analytics .service-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 20px;
    align-items: stretch
}

.analytics .service-card {
    background: #ffffff0a;
    border: 1px solid #cdc6571f;
    border-radius: 10px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0 1px 6px 0 #2525250f;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.analytics .service-card:hover {
    background: #cdc65712;
    border-color: #cdc6574d
}

.analytics .service-card--featured {
    background: #cdc65714;
    border-color: #cdc65747
}

.analytics .card-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.analytics .card-icon svg {
    width: 28px;
    height: 28px
}

.analytics .service-card__name {
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
    color: #FFF;
    margin: 0
}

.analytics .service-card__text {
    font-size: 14px;
    line-height: 1.7;
    color: #ffffffa6;
    margin: 0;
    flex: 1
}

.analytics .service-card__link {
    font-size: 14px;
    font-weight: 600;
    color: #CDC657;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap .18s cubic-bezier(0.0, 0, 0.2, 1)
}

.analytics .service-card__link:hover {
    gap: 12px
}

.analytics .process-block {
    padding: 80px 0;
    background: linear-gradient(0deg, #FFF 0%, #f5f3e6 100%);
    position: relative
}

.analytics .process-heading {
    font-size: 52px;
    line-height: 1.1;
    font-weight: 800;
    color: #252525;
    margin: 0 0 12px
}

.analytics .process-subtext {
    font-size: 18px;
    line-height: 1.7;
    color: #252525;
    opacity: .7;
    max-width: 520px;
    margin: 0 0 40px
}

.analytics .process-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start
}

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

.analytics .process-body {
    font-size: 16px;
    line-height: 1.7;
    color: #252525;
    opacity: .78;
    margin: 0
}

.analytics .process-steps {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 20px
}

.analytics .step-item {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
    background: #FFF;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 1px 6px 0 #2525250f;
    transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: default
}

.analytics .step-item:hover {
    box-shadow: 0 7px 25px 0 #2525251c;
    transform: translateY(-2px)
}

.analytics .step-num {
    width: 40px;
    height: 40px;
    border-radius: 5px;
    background: #CDC657;
    color: #252525;
    font-size: 18px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.analytics .step-detail {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.analytics .step-detail h5 {
    font-size: 16px;
    line-height: 1.3;
    font-weight: 700;
    color: #252525;
    margin: 0
}

.analytics .step-detail p {
    font-size: 14px;
    line-height: 1.5;
    color: #252525;
    opacity: .7;
    margin: 0
}

.analytics .metrics-col {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.analytics .metric-card {
    background: #252525;
    border-radius: 10px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 0 7px 25px 0 #2525251c
}

.analytics .metric-card__value {
    font-size: 52px;
    line-height: 1.1;
    font-weight: 800;
    color: #CDC657;
    margin: 0
}

.analytics .metric-card__label {
    font-size: 16px;
    line-height: 1.5;
    color: #ffffffbf;
    margin: 0
}

.analytics .metric-bar {
    height: 6px;
    background: #ffffff1a;
    border-radius: 40px;
    overflow: hidden
}

.analytics .metric-bar-fill {
    height: 100%;
    border-radius: 40px;
    background: #CDC657;
    transition: width .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.analytics .faq-block {
    padding: 80px 0;
    background: #FFF
}

.analytics .faq-heading {
    font-size: 36px;
    line-height: 1.3;
    font-weight: 700;
    color: #252525;
    margin: 0 0 40px
}

.analytics .faq-heading .accent-word {
    color: #CDC657
}

.analytics .faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px
}

.analytics .faq-item {
    background: #FFF;
    border: 1px solid #2525251a;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 6px 0 #2525250f
}

.analytics .faq-item summary {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: #252525;
    padding: 20px;
    cursor: pointer;
    list-style: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.analytics .faq-item summary::-webkit-details-marker {
    display: none
}

.analytics .faq-item summary:hover {
    background: #cdc65712
}

.analytics .faq-toggle-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    position: relative
}

.analytics .faq-toggle-icon::before,
.analytics .faq-toggle-icon::after {
    content: "";
    position: absolute;
    background: #CDC657;
    border-radius: 40px;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), opacity .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.analytics .faq-toggle-icon::before {
    width: 14px;
    height: 2px;
    top: 9px;
    left: 3px
}

.analytics .faq-toggle-icon::after {
    width: 2px;
    height: 14px;
    top: 3px;
    left: 9px
}

.analytics .faq-item[open] .faq-toggle-icon::after {
    transform: rotate(90deg);
    opacity: 0
}

.analytics .faq-answer {
    font-size: 14px;
    line-height: 1.7;
    color: #252525;
    opacity: .75;
    padding: 0 20px 20px
}

.analytics .quote-block {
    padding: 80px 0;
    background: #252525;
    position: relative;
    overflow: hidden
}

.analytics .quote-block .grid-bg {
    background-image: linear-gradient(#cdc6570a 1px, transparent 1px), linear-gradient(90deg, #cdc6570a 1px, transparent 1px)
}

.analytics .quote-mark {
    position: absolute;
    font-size: 320px;
    line-height: 1;
    font-weight: 900;
    color: #cdc65712;
    top: -40px;
    left: 20px;
    pointer-events: none;
    user-select: none;
    letter-spacing: -.05em
}

.analytics .quote-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center
}

.analytics .quote-text {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.analytics .quote-main {
    font-size: 36px;
    line-height: 1.3;
    font-weight: 700;
    color: #FFF;
    margin: 0
}

.analytics .quote-main .accent-word {
    color: #CDC657
}

.analytics .quote-subtext {
    font-size: 16px;
    line-height: 1.7;
    color: #ffffffa6;
    margin: 0;
    max-width: 480px
}

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

.analytics .quote-list li {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: flex-start;
    background: #ffffff0a;
    border: 1px solid #cdc65724;
    border-radius: 10px;
    padding: 20px;
    font-size: 16px;
    line-height: 1.5;
    color: #ffffffd1;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.analytics .quote-list li:hover {
    background: #cdc65717;
    border-color: #cdc65752
}

.analytics .list-dot {
    width: 8px;
    height: 8px;
    border-radius: 40px;
    background: #CDC657;
    flex-shrink: 0;
    margin-top: 6px
}

@media (max-width: 1100px) {
    .analytics .service-grid {
        grid-template-columns: 1fr 1fr
    }

    .analytics .title-inner {
        grid-template-columns: 220px 1fr;
        gap: 40px
    }

    .analytics .heading-primary {
        font-size: 52px
    }

    .analytics .process-layout {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .analytics .quote-layout {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .analytics .faq-grid {
        grid-template-columns: 1fr
    }
}

@media (max-width: 768px) {
    .analytics .page-bound {
        padding: 0 20px
    }

    .analytics .title-inner {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .analytics .title-image-wrap img {
        height: 220px
    }

    .analytics .heading-primary {
        font-size: 36px
    }

    .analytics .service-grid {
        grid-template-columns: 1fr
    }

    .analytics .quote-mark {
        font-size: 160px
    }

    .analytics .process-heading {
        font-size: 36px
    }

    .analytics .metric-card__value {
        font-size: 36px
    }

    .analytics .dot-divider {
        padding: 20px
    }

    .analytics .title-block {
        padding-top: 40px
    }
}

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

.case-studies .page-top {
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 40px 40px;
    position: relative
}

.case-studies .page-top::before {
    content: '';
    position: absolute;
    top: 40px;
    left: 40px;
    width: 60px;
    height: 2px;
    background: #CDC657
}

.case-studies .page-top::after {
    content: '';
    position: absolute;
    top: 40px;
    left: 40px;
    width: 2px;
    height: 60px;
    background: #CDC657
}

.case-studies .page-top__label {
    font-size: 14px;
    line-height: 1.5;
    color: #CDC657;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 20px;
    margin-left: 6px
}

.case-studies .page-top__heading {
    font-size: 52px;
    line-height: 1.1;
    color: #252525;
    text-transform: uppercase;
    font-weight: 700;
    max-width: 700px;
    margin-bottom: 20px
}

.case-studies .page-top__heading span {
    color: #CDC657
}

.case-studies .page-top__desc {
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a;
    max-width: 600px
}

.case-studies .divider-curve {
    width: 100%;
    line-height: 0;
    overflow: hidden
}

.case-studies .divider-curve svg {
    display: block;
    width: 100%
}

.case-studies .posts-belt {
    background: linear-gradient(0deg, #fff 0%, #f5f3e8 100%);
    padding: 80px 0 40px;
    position: relative
}

.case-studies .posts-belt::before {
    content: 'FS';
    position: absolute;
    left: -20px;
    top: 40px;
    font-size: 180px;
    line-height: 1.1;
    font-weight: 800;
    color: #cdc65712;
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
    overflow: hidden;
    max-width: 300px
}

.case-studies .posts-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.case-studies .posts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px
}

@media (max-width: 900px) {
    .case-studies .posts-grid {
        grid-template-columns: 1fr
    }
}

.case-studies .card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 7px 25px 0 #2525251c;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.case-studies .card:hover {
    box-shadow: 0 12px 36px 0 #2525251f;
    transform: translateY(-4px)
}

.case-studies .card__image-wrap {
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
    position: relative
}

.case-studies .card__image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.case-studies .card:hover .card__image-wrap img {
    transform: scale(1.04)
}

.case-studies .card__body {
    padding: 20px 40px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.case-studies .card__meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px
}

.case-studies .card__meta-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    line-height: 1.5;
    color: #6a6a5e
}

.case-studies .card__meta-item svg {
    flex-shrink: 0
}

.case-studies .card__title {
    font-size: 18px;
    line-height: 1.3;
    color: #252525;
    font-weight: 700;
    margin: 0
}

.case-studies .card__text {
    font-size: 16px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0;
    flex: 1
}

.case-studies .card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    line-height: 1.5;
    color: #252525;
    text-decoration: none;
    font-weight: 600;
    border-bottom: 2px solid #CDC657;
    padding-bottom: 2px;
    align-self: flex-start;
    transition: color .18s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.case-studies .card__link:hover {
    color: #CDC657;
    border-color: #252525
}

.case-studies .card__link:focus-visible {
    outline: 3px solid #CDC657 !important;
    outline-offset: 3px !important;
    border-radius: 5px !important
}

.case-studies .divider-band {
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, #CDC657 0%, #252525 100%)
}

.case-studies .about-strip {
    background: #252525;
    padding: 80px 0;
    position: relative
}

.case-studies .about-strip::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 6px;
    height: 100%;
    background: #CDC657
}

.case-studies .about-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center
}

@media (max-width: 860px) {
    .case-studies .about-inner {
        grid-template-columns: 1fr;
        gap: 40px
    }
}

.case-studies .about-inner__visual {
    position: relative
}

.case-studies .about-inner__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 10px;
    display: block;
    box-shadow: 0 12px 36px 0 #cdc6571f;
    animation: sharpLoad .25s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes sharpLoad {
    from {
        filter: blur(6px);
        opacity: .5
    }

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

.case-studies .about-inner__text {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.case-studies .about-inner__eyebrow {
    font-size: 14px;
    line-height: 1.5;
    color: #CDC657;
    text-transform: uppercase
}

.case-studies .about-inner__heading {
    font-size: 36px;
    line-height: 1.3;
    color: #fff;
    font-weight: 700;
    margin: 0
}

.case-studies .about-inner__heading strong {
    color: #CDC657
}

.case-studies .about-inner__para {
    font-size: 16px;
    line-height: 1.7;
    color: #c8c8c0;
    margin: 0
}

.case-studies .about-inner__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #CDC657;
    color: #252525;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
    padding: 12px 40px;
    border-radius: 10px;
    text-decoration: none;
    align-self: flex-start;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.case-studies .about-inner__link:hover {
    background: #fff;
    color: #252525
}

.case-studies .about-inner__link:focus-visible {
    outline: 3px solid #CDC657 !important;
    outline-offset: 3px !important
}

.case-studies .about-inner__link:active {
    transform: scale(0.97)
}

.case-studies .experts-band {
    background: linear-gradient(0deg, #f5f3e8 0%, #fff 100%);
    padding: 80px 0;
    position: relative
}

.case-studies .experts-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.case-studies .experts-top {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 40px
}

.case-studies .experts-top__heading {
    font-size: 36px;
    line-height: 1.3;
    color: #252525;
    font-weight: 700;
    margin: 0
}

.case-studies .experts-top__sub {
    font-size: 16px;
    line-height: 1.7;
    color: #3a3a3a;
    max-width: 560px;
    margin: 0
}

.case-studies .experts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px
}

@media (max-width: 700px) {
    .case-studies .experts-grid {
        grid-template-columns: 1fr
    }
}

.case-studies .expert-card {
    background: #fff;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 1px 6px 0 #2525250f;
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
    transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.case-studies .expert-card:hover {
    box-shadow: 0 7px 25px 0 #2525251c
}

.case-studies .expert-card__portrait {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    flex-shrink: 0;
    box-shadow: 0 7px 25px 0 #cdc6571c
}

.case-studies .expert-card__info {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.case-studies .expert-card__name {
    font-size: 18px;
    line-height: 1.3;
    color: #252525;
    font-weight: 700;
    margin: 0
}

.case-studies .expert-card__role {
    font-size: 14px;
    line-height: 1.5;
    color: #CDC657;
    font-weight: 600
}

.case-studies .expert-card__text {
    font-size: 14px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0
}

@media (max-width: 600px) {
    .case-studies .page-top__heading {
        font-size: 36px
    }

    .case-studies .posts-inner,
    .case-studies .about-inner,
    .case-studies .experts-inner {
        padding: 0 20px
    }

    .case-studies .card__body {
        padding: 20px
    }

    .case-studies .page-top {
        padding: 80px 20px 40px
    }
}

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

.about-us .page-width {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.about-us .fade-in {
    animation: aboutFadeBlur .7s cubic-bezier(0.4, 0, 0.2, 1) both
}

.about-us .fade-in--delay1 {
    animation-delay: .1s
}

.about-us .fade-in--delay2 {
    animation-delay: .22s
}

.about-us .fade-in--delay3 {
    animation-delay: .36s
}

.about-us .fade-in--delay4 {
    animation-delay: .5s
}

.about-us .fade-in--delay5 {
    animation-delay: .64s
}

@keyframes aboutFadeBlur {
    from {
        opacity: 0;
        filter: blur(6px);
        transform: translateY(14px)
    }

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

.about-us .gradient-rule {
    height: 1px;
    border: none;
    background: linear-gradient(to right, transparent 0%, #CDC657 30%, #CDC657 70%, transparent 100%);
    margin: 0
}

.about-us .profile-panel {
    background: #fff;
    padding: 80px 0;
    position: relative
}

.about-us .profile-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 60% at 30% 50%, #cdc65712 0%, transparent 70%);
    pointer-events: none
}

.about-us .profile-panel .page-width {
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: flex-start
}

.about-us .profile-image-col {
    flex: 0 0 420px;
    position: relative
}

.about-us .profile-image-border {
    position: absolute;
    inset: -12px;
    border: 2px solid #cdc65759;
    border-radius: 16px;
    pointer-events: none;
    transition: border-color .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.about-us .profile-image-col:hover .profile-image-border {
    border-color: #cdc657e6
}

.about-us .profile-image-col .image-main {
    width: 100%;
    height: 520px;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
    display: block;
    box-shadow: 0 12px 36px 0 #2525251f;
    transition: box-shadow .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.about-us .profile-image-col:hover .image-main {
    box-shadow: 0 7px 25px 0 #cdc6571c 0 12px 36px 0 #2525251f
}

.about-us .profile-deco {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 80px;
    height: 80px;
    pointer-events: none;
    z-index: 0
}

.about-us .profile-text-col {
    flex: 1;
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px
}

.about-us .eyebrow {
    font-size: 14px;
    line-height: 1.3;
    color: #CDC657;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 600
}

.about-us .profile-heading {
    font-size: 52px;
    line-height: 1.1;
    color: #252525;
    text-transform: uppercase;
    font-weight: 800;
    margin: 0
}

.about-us .profile-heading span {
    color: #CDC657
}

.about-us .profile-subheading {
    font-size: 18px;
    line-height: 1.5;
    color: #252525;
    font-weight: 400;
    margin: 0
}

.about-us .profile-body {
    font-size: 16px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0
}

.about-us .profile-body strong {
    color: #CDC657;
    font-weight: 700
}

.about-us .profile-founding {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    background: #252525;
    color: #fff;
    border-radius: 10px;
    padding: 12px 20px;
    font-size: 14px;
    line-height: 1.3;
    box-shadow: 0 1px 6px 0 #2525250f;
    margin-top: 6px;
    width: fit-content
}

.about-us .profile-founding .year {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 800;
    color: #CDC657
}

.about-us .profile-founding .year-label {
    font-size: 14px;
    line-height: 1.5;
    color: #fffc
}

.about-us .team-panel {
    background: linear-gradient(to top, #fff 0%, #cdc6570f 100%);
    padding: 80px 0;
    position: relative
}

.about-us .team-panel::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 50% at 70% 60%, #25252508 0%, transparent 65%);
    pointer-events: none
}

.about-us .team-panel .page-width {
    position: relative;
    z-index: 1
}

.about-us .team-header {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 40px
}

.about-us .team-heading {
    font-size: 36px;
    line-height: 1.3;
    color: #252525;
    font-weight: 700;
    margin: 0
}

.about-us .team-heading em {
    font-style: normal;
    color: #CDC657
}

.about-us .team-desc {
    max-width: 480px;
    font-size: 16px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0
}

.about-us .team-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px
}

.about-us .team-card {
    background: #fff;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 1px 6px 0 #2525250f;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.about-us .team-card:hover {
    box-shadow: 0 7px 25px 0 #cdc6571c 0 12px 36px 0 #2525251f;
    transform: translateY(-3px)
}

.about-us .team-card--wide {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: center;
    gap: 40px
}

.about-us .portrait-wrap {
    flex: 0 0 80px;
    position: relative
}

.about-us .portrait-img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    display: block;
    box-shadow: 0 1px 6px 0 #2525250f;
    transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.about-us .portrait-wrap::after {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 2px solid transparent;
    transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.about-us .team-card:hover .portrait-wrap::after {
    border-color: #CDC657
}

.about-us .team-card:hover .portrait-img {
    box-shadow: 0 7px 25px 0 #cdc6571c
}

.about-us .person-info {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.about-us .person-name {
    font-size: 18px;
    line-height: 1.3;
    color: #252525;
    font-weight: 700;
    margin: 0
}

.about-us .person-role {
    font-size: 14px;
    line-height: 1.3;
    color: #CDC657;
    font-weight: 600;
    text-transform: uppercase
}

.about-us .person-bio {
    font-size: 16px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0;
    flex: 1
}

.about-us .card-image-band {
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
    display: block;
    box-shadow: 0 1px 6px 0 #2525250f;
    transition: box-shadow .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.about-us .team-card:hover .card-image-band {
    box-shadow: 0 7px 25px 0 #cdc6571c
}

.about-us .image-card-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1
}

.about-us .value-tag {
    display: inline-block;
    background: #cdc6571f;
    color: #252525;
    border-radius: 5px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
    width: fit-content
}

.about-us .math-deco {
    position: absolute;
    right: 40px;
    top: 40px;
    font-size: 160px;
    line-height: 1;
    color: #cdc6570f;
    font-weight: 900;
    pointer-events: none;
    user-select: none;
    z-index: 0
}

@media (max-width: 1024px) {
    .about-us .profile-panel .page-width {
        flex-direction: column;
        gap: 40px
    }

    .about-us .profile-image-col {
        flex: 0 0 auto;
        width: 100%
    }

    .about-us .profile-image-col .image-main {
        height: 360px
    }

    .about-us .profile-heading {
        font-size: 36px
    }

    .about-us .team-header {
        flex-direction: column;
        align-items: flex-start
    }

    .about-us .team-grid {
        grid-template-columns: 1fr
    }

    .about-us .team-card--wide {
        flex-direction: column
    }
}

@media (max-width: 640px) {
    .about-us .page-width {
        padding: 0 20px
    }

    .about-us .profile-panel {
        padding: 40px 0
    }

    .about-us .team-panel {
        padding: 40px 0
    }

    .about-us .profile-heading {
        font-size: 36px
    }

    .about-us .team-card {
        padding: 20px
    }

    .about-us .math-deco {
        font-size: 100px;
        right: 20px;
        top: 20px
    }
}

.contact-us {
    background: #f5f4ef;
    overflow-x: clip
}

.contact-us .page-title {
    background: #252525;
    padding: 80px 20px 40px;
    position: relative;
    overflow: hidden
}

.contact-us .page-title__inner {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.contact-us .page-title__quote-mark {
    position: absolute;
    top: -20px;
    left: -30px;
    font-size: 280px;
    line-height: 1.1;
    color: #CDC657;
    opacity: .07;
    pointer-events: none;
    user-select: none;
    z-index: 0
}

.contact-us .page-title__eyebrow {
    font-size: 14px;
    line-height: 1.5;
    color: #CDC657;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 20px;
    display: block
}

.contact-us .page-title__heading {
    font-size: 70px;
    line-height: 1.1;
    color: #FFF;
    text-transform: uppercase;
    margin: 0 0 20px;
    max-width: 700px
}

.contact-us .page-title__heading span {
    color: #CDC657;
    font-weight: 900
}

.contact-us .page-title__accent-line {
    width: 60px;
    height: 3px;
    background: #CDC657;
    margin-bottom: 20px
}

.contact-us .page-title__sub {
    font-size: 18px;
    line-height: 1.7;
    color: #ffffffb8;
    max-width: 520px
}

.contact-us .page-title__tint {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #cdc65714 0%, #25252500 100%);
    pointer-events: none
}

.contact-us .divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 12px 0;
    background: #f5f4ef
}

.contact-us .divider svg {
    display: block
}

.contact-us .form-contact {
    background: #FFF;
    padding: 80px 20px;
    position: relative
}

.contact-us .form-contact__radial {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 50% at 50% 50%, #cdc65712 0%, transparent 70%);
    pointer-events: none
}

.contact-us .form-contact__column {
    max-width: 700px;
    margin: 0 auto
}

.contact-us .form-contact__label-heading {
    font-size: 14px;
    line-height: 1.5;
    color: #CDC657;
    text-transform: uppercase;
    letter-spacing: .07em;
    display: block;
    margin-bottom: 12px
}

.contact-us .form-contact__heading {
    font-size: 36px;
    line-height: 1.3;
    color: #252525;
    margin: 0 0 6px
}

.contact-us .form-contact__accent-line {
    width: 40px;
    height: 2px;
    background: #CDC657;
    margin-bottom: 20px
}

.contact-us .form-contact__body {
    font-size: 16px;
    line-height: 1.7;
    color: #444;
    margin-bottom: 40px
}

.contact-us .form-contact__body strong {
    color: #252525;
    font-weight: 700
}

.contact-us .form-field {
    margin-bottom: 20px
}

.contact-us .form-field__label {
    display: block;
    font-size: 14px;
    line-height: 1.5;
    color: #252525;
    font-weight: 600;
    margin-bottom: 6px
}

.contact-us .form-field__input {
    width: 100%;
    padding: 12px 20px;
    border: 1.5px solid #ddd;
    border-radius: 10px;
    font-size: 16px;
    line-height: 1.5;
    color: #252525;
    background: #fafaf6;
    box-sizing: border-box;
    transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
    outline: none
}

.contact-us .form-field__input::placeholder {
    font-style: italic;
    opacity: .55
}

.contact-us .form-field__input:focus {
    border-color: #CDC657;
    box-shadow: 0 1px 6px 0 #cdc6570f 0 7px 25px 0 #cdc6571c
}

.contact-us .form-field__select {
    width: 100%;
    padding: 12px 20px;
    border: 1.5px solid #ddd;
    border-radius: 10px;
    font-size: 16px;
    line-height: 1.5;
    color: #252525;
    background: #fafaf6;
    box-sizing: border-box;
    appearance: none;
    cursor: pointer;
    transition: border-color .18s cubic-bezier(0.4, 0, 0.2, 1);
    outline: none
}

.contact-us .form-field__select:focus {
    border-color: #CDC657;
    box-shadow: 0 1px 6px 0 #cdc6570f
}

.contact-us .form-field__select-wrap {
    position: relative
}

.contact-us .form-field__select-wrap::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 6px;
    background: #252525;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    pointer-events: none
}

.contact-us .radio-group {
    margin-bottom: 20px
}

.contact-us .radio-group__label {
    display: block;
    font-size: 14px;
    line-height: 1.5;
    color: #252525;
    font-weight: 600;
    margin-bottom: 12px
}

.contact-us .radio-group__options {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px
}

.contact-us .radio-option {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer
}

.contact-us .radio-option__input {
    width: 18px;
    height: 18px;
    accent-color: #CDC657;
    cursor: pointer
}

.contact-us .radio-option__text {
    font-size: 14px;
    line-height: 1.5;
    color: #252525
}

.contact-us .privacy-check {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
    padding: 20px;
    background: #f5f4ef;
    border-radius: 10px
}

.contact-us .privacy-check__input {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: #CDC657;
    cursor: pointer
}

.contact-us .privacy-check__text {
    font-size: 14px;
    line-height: 1.7;
    color: #555
}

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

.contact-us .privacy-check__text a:hover {
    color: #CDC657
}

.contact-us .form-submit {
    display: inline-block;
    padding: 20px 40px;
    background: #252525;
    color: #FFF;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 700;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background .2s cubic-bezier(0.0, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.0, 0, 0.2, 1), transform .15s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 7px 25px 0 #2525251c
}

.contact-us .form-submit:hover {
    background: #CDC657;
    color: #252525;
    box-shadow: 0 12px 36px 0 #cdc6571f
}

.contact-us .form-submit:active {
    transform: scale(0.97)
}

.contact-us .info-strip {
    padding: 80px 20px;
    background: #252525;
    position: relative;
    overflow: hidden
}

.contact-us .info-strip__bg-anim {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #CDC657 0%, #252525 100%);
    opacity: 0;
    animation: desatcycle 8s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
    pointer-events: none
}

@keyframes desatcycle {
    0% {
        opacity: 0;
        filter: saturate(0)
    }

    40% {
        opacity: .12;
        filter: saturate(0.4)
    }

    100% {
        opacity: .18;
        filter: saturate(1)
    }
}

.contact-us .info-strip__dots {
    position: absolute;
    bottom: 40px;
    right: 40px;
    pointer-events: none;
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: flex-end
}

.contact-us .info-strip__dots span {
    display: block;
    border-radius: 40px;
    background: #CDC657;
    opacity: .18
}

.contact-us .info-strip__dots span:nth-child(1) {
    width: 8px;
    height: 8px
}

.contact-us .info-strip__dots span:nth-child(2) {
    width: 14px;
    height: 14px
}

.contact-us .info-strip__dots span:nth-child(3) {
    width: 22px;
    height: 22px
}

.contact-us .info-strip__inner {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px
}

.contact-us .info-strip__left {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.contact-us .info-strip__tag {
    font-size: 14px;
    line-height: 1.5;
    color: #CDC657;
    text-transform: uppercase;
    letter-spacing: .07em
}

.contact-us .info-strip__heading {
    font-size: 52px;
    line-height: 1.1;
    color: #FFF;
    text-transform: uppercase;
    margin: 0
}

.contact-us .info-strip__heading em {
    font-style: normal;
    color: #CDC657
}

.contact-us .info-strip__desc {
    font-size: 16px;
    line-height: 1.7;
    color: #ffffffa6;
    max-width: 400px
}

.contact-us .info-strip__image-wrap {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 36px 0 #cdc6571f;
    position: relative
}

.contact-us .info-strip__image-wrap img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    filter: blur(3px) saturate(0.6);
    transition: filter .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.contact-us .info-strip__image-wrap:hover img {
    filter: blur(0px) saturate(1)
}

.contact-us .info-strip__image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #cdc65724 0%, #25252573 100%);
    pointer-events: none;
    border-radius: 16px
}

.contact-us .contact-cards {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.contact-us .contact-card {
    background: #ffffff0f;
    border: 1px solid #cdc6572e;
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.contact-us .contact-card:hover {
    background: #cdc65714;
    border-color: #cdc65766
}

.contact-us .contact-card__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #cdc65726;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.contact-us .contact-card__icon svg {
    display: block
}

.contact-us .contact-card__label {
    font-size: 12px;
    line-height: 1.5;
    color: #CDC657;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 6px;
    display: block
}

.contact-us .contact-card__value {
    font-size: 16px;
    line-height: 1.5;
    color: #FFF;
    font-weight: 600
}

.contact-us .contact-card__value a {
    color: #FFF;
    text-decoration: none;
    transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.contact-us .contact-card__value a:hover {
    color: #CDC657
}

.contact-us .contact-card__detail {
    font-size: 14px;
    line-height: 1.5;
    color: #ffffff80;
    margin-top: 6px
}

@media (max-width: 900px) {
    .contact-us .page-title__heading {
        font-size: 52px
    }

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

    .contact-us .info-strip__heading {
        font-size: 36px
    }

    .contact-us .info-strip__image-wrap img {
        height: 240px
    }
}

@media (max-width: 600px) {
    .contact-us .page-title__heading {
        font-size: 36px
    }

    .contact-us .page-title {
        padding: 60px 20px 40px
    }

    .contact-us .form-contact {
        padding: 40px 20px
    }

    .contact-us .info-strip {
        padding: 40px 20px
    }

    .contact-us .radio-group__options {
        flex-direction: column
    }

    .contact-us .info-strip__dots {
        display: none
    }
}

.services {
    background: #f5f4ef;
    overflow-x: clip
}

.services .pitch {
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 40px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    align-items: end
}

.services .pitch__label {
    font-size: 14px;
    color: #CDC657;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 20px;
    display: block
}

.services .pitch__left {
    padding-top: 40px
}

.services .pitch__left-sub {
    font-size: 16px;
    line-height: 1.7;
    color: #252525;
    opacity: .75;
    margin-top: 20px
}

.services .pitch__right {
    position: relative
}

.services .pitch__heading {
    font-size: 70px;
    line-height: 1.1;
    color: #252525;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0 0 20px
}

.services .pitch__heading span {
    color: #CDC657
}

.services .pitch__image-wrap {
    position: relative;
    margin-top: 40px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 36px 0 #2525251f
}

.services .pitch__image-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 50%;
    background: linear-gradient(135deg, #cdc65747 0%, transparent 70%);
    pointer-events: none;
    border-radius: 16px 0 0 0
}

.services .pitch__image {
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.9) brightness(1.04) sepia(0.08)
}

.services .pitch__deco {
    position: absolute;
    top: -40px;
    right: -20px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 2px dashed #cdc65759;
    pointer-events: none
}

.services .pitch__deco::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #cdc65780
}

.services .divider-a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 40px;
    max-width: 1400px;
    margin: 0 auto
}

.services .divider-a::before,
.services .divider-a::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #2525251f
}

.services .divider-a__shape {
    width: 10px;
    height: 10px;
    background: #CDC657;
    border-radius: 5px;
    margin: 0 20px;
    transform: rotate(45deg);
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.services .divider-a:hover .divider-a__shape {
    transform: rotate(225deg)
}

.services .catalog {
    background: #252525;
    padding: 80px 0;
    position: relative
}

.services .catalog__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: 0
}

.services .catalog__dots {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .045;
    background-image: radial-gradient(circle, #CDC657 1px, transparent 1px);
    background-size: 28px 28px;
    background-position: 14px 14px
}

.services .catalog__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.services .catalog__top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
    gap: 40px
}

.services .catalog__heading {
    font-size: 52px;
    line-height: 1.1;
    color: #FFF;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0
}

.services .catalog__heading em {
    font-style: normal;
    color: #CDC657
}

.services .catalog__desc {
    font-size: 16px;
    line-height: 1.7;
    color: #ffffffa6;
    max-width: 440px;
    margin: 0
}

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

.services .card {
    background: #ffffff0d;
    border: 1px solid #cdc65726;
    border-radius: 16px;
    padding: 40px;
    position: relative;
    overflow: hidden;
    transition: background .25s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.services .card:hover {
    background: #cdc65712;
    border-color: #cdc65766
}

.services .card__number {
    font-size: 70px;
    line-height: 1.1;
    font-weight: 800;
    color: #cdc6571a;
    position: absolute;
    top: 20px;
    right: 20px;
    pointer-events: none;
    user-select: none
}

.services .card__icon {
    width: 44px;
    height: 44px;
    margin-bottom: 20px;
    transition: transform .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.services .card:hover .card__icon {
    transform: rotate(8deg)
}

.services .card__name {
    font-size: 18px;
    line-height: 1.3;
    color: #FFF;
    font-weight: 700;
    margin: 0 0 12px
}

.services .card__text {
    font-size: 14px;
    line-height: 1.7;
    color: #fff9;
    margin: 0 0 20px
}

.services .card__price {
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    color: #CDC657;
    background: #cdc6571f;
    border-radius: 5px;
    padding: 6px 12px
}

.services .card--wide {
    grid-column: span 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px
}

.services .card--wide .card__body {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.services .card--wide .card__details {
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: center
}

.services .card__detail-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 12px;
    background: #ffffff0a;
    border-radius: 10px;
    font-size: 14px;
    transition: background .18s cubic-bezier(0.0, 0, 0.2, 1)
}

.services .card__detail-row:hover {
    background: #cdc6571a
}

.services .card__detail-label {
    color: #ffffff80
}

.services .card__detail-value {
    color: #CDC657;
    font-weight: 700
}

.services .divider-b {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: #252525
}

.services .divider-b__line {
    width: 60px;
    height: 3px;
    background: linear-gradient(to top, #CDC657, #FFF);
    border-radius: 5px;
    margin: 20px auto
}

.services .faq {
    background: #f5f4ef;
    padding: 80px 0
}

.services .faq__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.services .faq__top {
    margin-bottom: 40px
}

.services .faq__heading {
    font-size: 36px;
    line-height: 1.3;
    color: #252525;
    font-weight: 700;
    margin: 0 0 12px
}

.services .faq__heading strong {
    color: #CDC657
}

.services .faq__intro {
    font-size: 16px;
    line-height: 1.7;
    color: #252525b3;
    max-width: 560px;
    margin: 0
}

.services .faq__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start
}

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

.services .faq__item {
    background: #FFF;
    border-radius: 10px;
    box-shadow: 0 1px 6px 0 #2525250f;
    overflow: hidden
}

.services .faq__question {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 20px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 16px;
    line-height: 1.5;
    color: #252525;
    font-weight: 600;
    gap: 12px;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.services .faq__question:hover {
    background: #cdc65712
}

.services .faq__question:focus {
    outline: 2px solid #CDC657;
    outline-offset: -2px
}

.services .faq__toggle {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #cdc65726;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .18s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.services .faq__item--open .faq__toggle {
    background: #CDC657;
    transform: rotate(45deg)
}

.services .faq__toggle svg {
    display: block
}

.services .faq__answer {
    display: none;
    padding: 0 20px 20px;
    font-size: 14px;
    line-height: 1.7;
    color: #252525b8
}

.services .faq__item--open .faq__answer {
    display: block
}

.services .faq__panel {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.services .faq__profile {
    background: #252525;
    border-radius: 16px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0 7px 25px 0 #2525251c
}

.services .faq__profile-row {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center
}

.services .faq__portrait {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    flex-shrink: 0;
    border: 2px solid #cdc65766
}

.services .faq__profile-name {
    font-size: 18px;
    color: #FFF;
    font-weight: 700;
    margin: 0 0 6px
}

.services .faq__profile-role {
    font-size: 14px;
    color: #ffffff80;
    margin: 0
}

.services .faq__profile-text {
    font-size: 14px;
    line-height: 1.7;
    color: #ffffffa6;
    margin: 0
}

.services .faq__profile-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #CDC657;
    color: #252525;
    font-size: 16px;
    font-weight: 700;
    border-radius: 10px;
    padding: 12px 20px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), transform .15s cubic-bezier(0.4, 0, 0.2, 1);
    align-self: flex-start
}

.services .faq__profile-cta:hover {
    background: #b8b240
}

.services .faq__profile-cta:active {
    transform: scale(0.97)
}

.services .faq__second-portrait {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    background: #cdc65714;
    border-radius: 10px;
    padding: 20px
}

.services .faq__second-portrait img {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    flex-shrink: 0
}

.services .faq__review-text {
    font-size: 14px;
    line-height: 1.5;
    color: #ffffffb3;
    margin: 0
}

.services .faq__review-name {
    font-size: 14px;
    color: #CDC657;
    font-weight: 700;
    margin: 6px 0 0
}

@media (max-width: 1024px) {
    .services .pitch {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 80px 20px
    }

    .services .pitch__heading {
        font-size: 52px
    }

    .services .catalog__grid {
        grid-template-columns: 1fr 1fr
    }

    .services .card--wide {
        grid-column: span 2
    }

    .services .faq__body {
        grid-template-columns: 1fr
    }
}

@media (max-width: 768px) {
    .services .pitch__heading {
        font-size: 36px
    }

    .services .catalog__top {
        flex-direction: column;
        align-items: flex-start
    }

    .services .catalog__heading {
        font-size: 36px
    }

    .services .catalog__grid {
        grid-template-columns: 1fr
    }

    .services .card--wide {
        grid-column: span 1;
        grid-template-columns: 1fr
    }

    .services .catalog__inner,
    .services .faq__inner {
        padding: 0 20px
    }

    .services .catalog {
        padding: 80px 0
    }

    .services .faq {
        padding: 80px 0
    }

    .services .faq__body {
        grid-template-columns: 1fr
    }
}

.opening {
    max-width: 100%;
    overflow-x: clip
}

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

.opening__container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.opening ::selection {
    background: linear-gradient(90deg, #252525, #CDC657);
    color: #fff
}

.title-block {
    position: relative;
    padding: 80px 0 0;
    background: #252525
}

.title-block__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    flex-direction: column;
    gap: 40px
}

.title-block__text {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 40px 0;
    position: relative;
    z-index: 2
}

.title-block__label {
    font-size: 14px;
    line-height: 1.3;
    color: #CDC657;
    letter-spacing: .08em;
    text-transform: uppercase
}

.title-block__heading {
    font-size: 70px;
    line-height: 1.1;
    color: #fff;
    text-transform: uppercase;
    margin: 0;
    max-width: 900px
}

.title-block__heading span {
    color: #CDC657;
    font-weight: 900
}

.title-block__sub {
    font-size: 36px;
    line-height: 1.3;
    color: #fff;
    opacity: .75;
    margin: 0;
    max-width: 700px;
    font-weight: 300
}

.title-block__description {
    font-size: 18px;
    line-height: 1.7;
    color: #fff;
    opacity: .65;
    max-width: 560px;
    margin: 0
}

.title-block__image-area {
    position: relative;
    height: 420px;
    border-radius: 16px 16px 0 0;
    overflow: hidden
}

.title-block__image-area img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 6s cubic-bezier(0.4, 0, 0.2, 1)
}

.title-block__image-area:hover img {
    transform: scale(1.06)
}

.title-block__vignette {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #252525d9 0%, #2525254d 50%, #25252500 100%);
    pointer-events: none
}

.approach {
    background: #f5f3ea;
    padding: 80px 0;
    position: relative
}

.approach__texture {
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 12px, #cdc65712 12px, #cdc65712 13px);
    pointer-events: none
}

.approach__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.approach__header {
    margin-bottom: 40px
}

.approach__heading {
    font-size: 52px;
    line-height: 1.1;
    color: #252525;
    margin: 0 0 12px;
    text-transform: uppercase;
    max-width: 750px
}

.approach__heading strong {
    color: #CDC657;
    font-weight: 900
}

.approach__intro {
    font-size: 18px;
    line-height: 1.7;
    color: #252525;
    max-width: 100%;
    margin: 0 0 20px
}

.approach__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px
}

.approach__column {
    font-size: 16px;
    line-height: 1.7;
    color: #3a3a3a
}

.approach__column p {
    margin: 0 0 20px
}

.approach__column p:last-child {
    margin-bottom: 0
}

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

.approach__step {
    background: #fff;
    border-radius: 10px;
    padding: 40px 20px;
    box-shadow: 0 1px 6px 0 #2525250f;
    position: relative;
    transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden
}

.approach__step:hover {
    box-shadow: 0 7px 25px 0 #2525251c;
    transform: translateY(-2px)
}

.approach__step-notch {
    width: 4px;
    height: 40px;
    background: #CDC657;
    border-radius: 5px;
    margin-bottom: 20px
}

.approach__step-number {
    font-size: 52px;
    line-height: 1.1;
    color: #25252514;
    font-weight: 900;
    position: absolute;
    top: 20px;
    right: 20px;
    pointer-events: none
}

.approach__step-heading {
    font-size: 16px;
    line-height: 1.3;
    color: #252525;
    margin: 0 0 12px;
    font-weight: 700
}

.approach__step-text {
    font-size: 14px;
    line-height: 1.7;
    color: #555;
    margin: 0
}

.context {
    background: #252525;
    padding: 80px 0
}

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

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

.context__portrait-frame {
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 2/3;
    width: 100%;
    max-width: 320px;
    box-shadow: 0 12px 36px 0 #cdc6571f;
    transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.context__portrait-frame:hover .context__portrait-wash {
    opacity: 1
}

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

.context__portrait-frame:hover img {
    transform: scale(1.03)
}

.context__portrait-wash {
    position: absolute;
    inset: 0;
    background: #cdc65738;
    opacity: 0;
    transition: opacity .22s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
    border-radius: 10px
}

.context__portrait-caption {
    font-size: 14px;
    line-height: 1.5;
    color: #ffffff8c
}

.context__portrait-name {
    font-size: 16px;
    color: #CDC657;
    font-weight: 700;
    display: block;
    margin-bottom: 6px
}

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

.context__heading {
    font-size: 52px;
    line-height: 1.1;
    color: #fff;
    margin: 0
}

.context__heading strong {
    color: #CDC657
}

.context__paragraph {
    font-size: 16px;
    line-height: 1.7;
    color: #ffffffb8;
    margin: 0
}

.context__metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 20px
}

.context__metric {
    background: #ffffff0d;
    border-radius: 10px;
    padding: 20px;
    border: 1px solid #cdc6572e;
    transition: background .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.context__metric:hover {
    background: #cdc65714
}

.context__metric-value {
    font-size: 36px;
    line-height: 1.1;
    color: #CDC657;
    font-weight: 900;
    display: block
}

.context__metric-label {
    font-size: 14px;
    line-height: 1.5;
    color: #ffffff8c;
    margin-top: 6px;
    display: block
}

.context__links {
    margin-top: 20px
}

.context__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    color: #CDC657;
    text-decoration: none;
    border-bottom: 1px solid #cdc65759;
    padding-bottom: 2px;
    transition: border-color .18s cubic-bezier(0.4, 0, 0.2, 1), color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.context__link:hover {
    color: #fff;
    border-color: #fff
}

.working {
    background: #fff;
    padding: 80px 0
}

.working__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.working__top {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 80px;
    align-items: start;
    margin-bottom: 40px
}

.working__heading {
    font-size: 52px;
    line-height: 1.1;
    color: #252525;
    margin: 0 0 20px
}

.working__heading strong {
    color: #CDC657
}

.working__paragraph {
    font-size: 16px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0 0 20px
}

.working__paragraph:last-child {
    margin-bottom: 0
}

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

.working__image-slot {
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 4/3;
    box-shadow: 0 7px 25px 0 #2525251c
}

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

.working__image-slot:hover img {
    transform: scale(1.04)
}

.working__image-slot:hover .working__image-wash {
    opacity: 1
}

.working__image-wash {
    position: absolute;
    inset: 0;
    background: #cdc65740;
    opacity: 0;
    transition: opacity .22s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none
}

.working__image-slot--tall {
    grid-row: span 2;
    aspect-ratio: unset
}

.working__disclosure-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 40px
}

.working__disclosure-item {
    border: 1px solid #2525251f;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 6px 0 #2525250f
}

.working__disclosure-summary {
    padding: 20px;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
    line-height: 1.5;
    color: #252525;
    font-weight: 600;
    list-style: none;
    transition: background .17s cubic-bezier(0.4, 0, 0.2, 1);
    user-select: none
}

.working__disclosure-summary::-webkit-details-marker {
    display: none
}

.working__disclosure-summary:hover {
    background: #cdc65714
}

.working__disclosure-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    position: relative
}

.working__disclosure-icon::before,
.working__disclosure-icon::after {
    content: '';
    position: absolute;
    background: #CDC657;
    border-radius: 5px;
    transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), opacity .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.working__disclosure-icon::before {
    width: 12px;
    height: 2px;
    top: 9px;
    left: 4px
}

.working__disclosure-icon::after {
    width: 2px;
    height: 12px;
    top: 4px;
    left: 9px
}

details[open] .working__disclosure-icon::after {
    transform: rotate(90deg);
    opacity: 0
}

.working__disclosure-body {
    padding: 0 20px 20px;
    font-size: 14px;
    line-height: 1.7;
    color: #555
}

.working__before-after {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    margin-top: 40px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 7px 25px 0 #2525251c
}

.working__before {
    background: #f5f3ea;
    padding: 40px
}

.working__after {
    background: #252525;
    padding: 40px
}

.working__ba-label {
    font-size: 14px;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 20px;
    display: block
}

.working__before .working__ba-label {
    color: #999
}

.working__after .working__ba-label {
    color: #CDC657
}

.working__ba-heading {
    font-size: 18px;
    line-height: 1.3;
    margin: 0 0 12px;
    font-weight: 700
}

.working__before .working__ba-heading {
    color: #252525
}

.working__after .working__ba-heading {
    color: #fff
}

.working__ba-text {
    font-size: 14px;
    line-height: 1.7;
    margin: 0
}

.working__before .working__ba-text {
    color: #666
}

.working__after .working__ba-text {
    color: #ffffffa6
}

.divider-zigzag {
    width: 100%;
    display: block;
    line-height: 0
}

@media (max-width: 900px) {
    .opening__container {
        padding: 0 20px
    }

    .title-block__inner {
        padding: 0 20px
    }

    .title-block__heading {
        font-size: 36px
    }

    .title-block__sub {
        font-size: 18px
    }

    .approach__inner,
    .context__inner,
    .working__inner {
        padding: 0 20px
    }

    .approach__body {
        grid-template-columns: 1fr
    }

    .approach__steps {
        grid-template-columns: 1fr
    }

    .approach__heading {
        font-size: 36px
    }

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

    .context__portrait-frame {
        max-width: 200px
    }

    .context__heading {
        font-size: 36px
    }

    .context__metrics {
        grid-template-columns: 1fr
    }

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

    .working__heading {
        font-size: 36px
    }

    .working__image-grid {
        grid-template-columns: 1fr 1fr
    }

    .working__image-slot--tall {
        grid-row: span 1;
        aspect-ratio: 4/3
    }

    .working__before-after {
        grid-template-columns: 1fr;
        gap: 0
    }

    .approach {
        padding: 40px 0
    }

    .context {
        padding: 40px 0
    }

    .working {
        padding: 40px 0
    }
}

.success-page {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    background: linear-gradient(to top, #CDC657 0%, #fff 100%)
}

.success-page .card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 12px 36px 0 #2525251f;
    padding: 80px 40px;
    max-width: 600px;
    width: 100%;
    text-align: center
}

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

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

.success-page .card__heading {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 700;
    color: #252525;
    text-transform: uppercase;
    margin-bottom: 20px
}

.success-page .card__heading span {
    color: #CDC657
}

.success-page .card__text {
    font-size: 16px;
    line-height: 1.7;
    color: #252525;
    margin-bottom: 40px
}

.success-page .card__link {
    display: inline-block;
    background: #252525;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    padding: 20px 40px;
    border-radius: 10px;
    text-decoration: none;
    transition: background-color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.0, 0, 0.2, 1);
    box-shadow: 0 7px 25px 0 #2525251c
}

.success-page .card__link:hover {
    background: #CDC657;
    color: #252525;
    box-shadow: 0 12px 36px 0 #cdc6571f
}

.success-page .card__link:active {
    transform: scale(0.97)
}

.success-page .card__divider {
    width: 40px;
    height: 3px;
    background: #CDC657;
    border-radius: 5px;
    margin: 0 auto 40px
}