
.dcv-page .header-page .box-content {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}

.dcv-page .header-page .hero-eyebrow {
    display: block;
    font-family: var(--heading-font);
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--theme-color-2);
}

.dcv-page .header-page .hero-lead {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
    line-height: 1.85;
    color: #fff;
    opacity: 0.82;
}

.dcv-page .header-page .dsn-btn {
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .dcv-page .header-page .hero-eyebrow {
        font-size: 12px;
        letter-spacing: 2px;
    }

    .dcv-page .header-page .hero-lead {
        font-size: 14px;
        line-height: 1.75;
    }
}

.dcv-page .service-under-header .item {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.dcv-page .service-under-header .item h3 {
    font-size: 22px;
    line-height: 1.3;
    margin-top: 8px;
    overflow-wrap: break-word;
}

.dcv-page .service-under-header .item p {
    margin-top: auto;
    font-size: 14px;
    line-height: 1.7;
}

@media only screen and (max-width: 767px) {
    .dcv-page .service-under-header .item h3 {
        font-size: 19px;
    }
}

.dcv-page .services-personal .service-item .content ul li {
    font-size: 13px;
    line-height: 2;
    letter-spacing: 1px;
}

@media only screen and (max-width: 991px) {
    .dcv-page .services-personal .service-item .content {
        grid-row-gap: 18px;
    }

    .dcv-page .services-personal .service-item .content ul {
        margin-left: 0;
        text-align: left;
    }

    .dcv-page .services-personal .service-item .title-box .number {
        font-size: 22px;
    }

    .dcv-page .services-personal .service-item .title-box h3 {
        font-size: 20px;
        line-height: 1.35;
    }
}

.dcv-page .seat .d-grid > *,
.dcv-page .catalogue-section .d-grid > *,
.dcv-page .dcv-perf .d-grid > *,
.dcv-page .dcv-partner .d-grid > *,
.dcv-page .seat .dsn-item,
.dcv-page .catalogue-section .dsn-item,
.dcv-page .seat .dsn-item-has-bg,
.dcv-page .seat .dsn-item-has-bg .text,
.dcv-page .seat .dsn-item-has-bg .tab,
.dcv-page .dsn-btn,
.dcv-page .dsn-btn .button,
.dcv-page .dsn-btn .title-btn {
    min-width: 0;
    max-width: 100%;
}

.dcv-page .dsn-btn .title-btn,
.dcv-page .dsn-btn .title-btn span {
    white-space: normal;
    overflow-wrap: break-word;
}

@media only screen and (max-width: 767px) {
    .dcv-page .seat .dsn-item {
        padding: 50px 15px;
    }
}

.dcv-page .section-title .title,
.dcv-page .dsn-style-list .post-content h3,
.dcv-page .seat .dsn-item .title {
    overflow-wrap: break-word;
}

@media only screen and (max-width: 767px) {
    .dcv-page .section-title .title br,
    .dcv-page .seat .dsn-item .title br {
        display: none;
    }

    .dcv-page .section-title {
        margin-bottom: 40px;
    }

    .dcv-page .dsn-btn.d-flex {
        flex-wrap: nowrap;
        align-items: center;
    }

    .dcv-page .dsn-btn .icon {
        flex: 0 0 auto;
    }
}

.dcv-page .gallery .post-item.dcv-clipped {
    display: none;
}

.dcv-page .dcv-loadmore {
    display: flex;
    justify-content: center;
    margin-top: 60px;
}

.dcv-page .dcv-loadmore[hidden] {
    display: none;
}

.dcv-page .dcv-loadmore .button {
    -webkit-appearance: none;
    appearance: none;
    border: 0;
    font-family: inherit;
    letter-spacing: inherit;
    cursor: pointer;
}

.dcv-page .dcv-loadmore .button:focus-visible {
    outline: 2px solid var(--theme-color);
    outline-offset: 3px;
}

@media only screen and (max-width: 767px) {
    .dcv-page .dcv-loadmore {
        margin-top: 40px;
    }
}

.dcv-page .dcv-statement .d-grid {
    grid-column-gap: 80px;
}

.dcv-page .dcv-statement .statement-copy {
    position: relative;
    min-width: 0;
}

.dcv-page .dcv-statement .statement-ghost {
    position: absolute;
    top: -66px;
    left: 0;
    right: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
}

.dcv-page .dcv-statement .statement-ghost span {
    display: block;
    font-family: var(--heading-font);
    font-size: clamp(90px, 9vw, 155px);
    line-height: 0.8;
    letter-spacing: -3px;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--heading-color);
    opacity: 0.09;
}

@media only screen and (max-width: 1199px) {
    .dcv-page .dcv-statement .statement-ghost {
        display: none;
    }
}

.dcv-page .dcv-statement .statement-eyebrow,
.dcv-page .dcv-statement .statement-copy .title,
.dcv-page .dcv-statement .statement-copy .lead {
    position: relative;
    z-index: 1;
}

.dcv-page .dcv-statement .statement-eyebrow {
    margin-bottom: 22px;
}

.dcv-page .dcv-statement .statement-eyebrow .rule {
    flex: 0 0 auto;
    width: 42px;
    height: 1px;
    margin-right: 18px;
    background-color: var(--theme-color);
}

.dcv-page .dcv-statement .statement-eyebrow .label {
    font-family: var(--heading-font);
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--theme-color);
}

.dcv-page .dcv-statement .statement-copy .title {
    font-size: clamp(28px, 3vw, 46px);
    line-height: 1.12;
    letter-spacing: 1px;
    margin: 0 0 28px;
    overflow-wrap: break-word;
}

.dcv-page .dcv-statement .statement-text {
    min-width: 0;
    padding-top: 52px;
}

.dcv-page .dcv-statement .statement-text p {
    margin: 0;
    font-size: 15px;
    line-height: 1.95;
    color: var(--font-color);
}

.dcv-page .dcv-statement .statement-text p + p {
    margin-top: 26px;
}

@media only screen and (max-width: 991px) {
    .dcv-page .dcv-statement .d-grid {
        grid-row-gap: 26px;
    }

    .dcv-page .dcv-statement .statement-copy .lead {
        max-width: 100%;
    }
    .dcv-page .dcv-statement .statement-text {
        padding-top: 0;
    }
}

@media only screen and (max-width: 767px) {
    .dcv-page .dcv-statement .statement-copy .title {
        margin-bottom: 22px;
    }

    .dcv-page .dcv-statement .statement-copy .lead {
        font-size: 16px;
    }

    .dcv-page .dcv-statement .statement-text p + p {
        margin-top: 22px;
    }
}

.dcv-page .service-architecture .d-grid > * {
    min-width: 0;
}

.dcv-page .service-architecture .section-title p {
    text-transform: none;
}

.dcv-page .service-architecture .services-item h3 {
    font-size: 22px;
    line-height: 1.3;
    overflow-wrap: break-word;
}

.dcv-page .service-architecture .services-item p {
    font-size: 15px;
    line-height: 1.85;
}

@media only screen and (max-width: 991px) {
    .dcv-page .service-architecture .item-img,
    .dcv-page .service-architecture .item-img .box-img {
        min-height: 280px;
    }
}

.dcv-page .dcv-format .format-head {
    grid-column-gap: 20px;
    align-items: center;
    padding-bottom: 55px;
}

.dcv-format.no_color .format-head{
    padding-bottom: 0;
}

.dcv-page .dcv-format .format-head-title,
.dcv-page .dcv-format .format-head-desc {
    min-width: 0;
}

.dcv-page .dcv-format .format-head-title .title {
    font-size: clamp(28px, 3vw, 46px);
    line-height: 1.12;
    letter-spacing: 1px;
    margin: 0;
    overflow-wrap: break-word;
}

.dcv-page .dcv-format .format-head-desc p {
    margin: 0;
    font-size: 15px;
    line-height: 1.95;
    color: var(--font-color);
}

.dcv-page .dcv-format .format-head-desc p + p {
    margin-top: 20px;
}

.dcv-page .dcv-format .format-list-head {
    margin-bottom: 30px;
}

.dcv-page .dcv-format .format-list-head .rule {
    flex: 0 0 auto;
    width: 42px;
    height: 1px;
    margin-right: 18px;
    background-color: var(--theme-color);
}

.dcv-page .dcv-format .format-list-head .label {
    font-family: var(--heading-font);
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--theme-color);
}

.dcv-page .dcv-format .format-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--border-color);
}

.dcv-page .dcv-format .format-item {
    display: flex;
    align-items: baseline;
    gap: 16px;
    min-width: 0;
    padding: 30px 28px 30px 22px;
    border-bottom: 1px solid var(--border-color);
    border-right: 1px solid var(--border-color);
    cursor: pointer;
    transition: background-color 0.4s ease;
}

.dcv-page .dcv-format .format-item:nth-child(3n) {
    border-right: 0;
}

.dcv-page .dcv-format .format-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 0;
    background-color: var(--theme-color);
    transform: translateY(-50%);
    transition: height 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}

.dcv-page .dcv-format .format-item:hover::before {
    height: 60%;
}

.dcv-page .dcv-format .format-item .num {
    flex: 0 0 auto;
    font-family: var(--heading-font);
    font-size: 13px;
    line-height: 1;
    letter-spacing: 1px;
    color: var(--theme-color);
}

.dcv-page .dcv-format .format-item .title {
    margin: 0;
    font-size: 19px;
    line-height: 1.35;
    letter-spacing: 0.5px;
    overflow-wrap: break-word;
    transition: transform 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}

.dcv-page .dcv-format .format-item:hover .title {
    transform: translateX(6px);
}

@media only screen and (max-width: 991px) {
    .dcv-page .dcv-format .format-head {
        grid-row-gap: 30px;
        align-items: start;
        padding-bottom: 45px;
    }

    .dcv-page .dcv-format .format-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dcv-page .dcv-format .format-item:nth-child(3n) {
        border-right: 1px solid var(--border-color);
    }

    .dcv-page .dcv-format .format-item:nth-child(2n) {
        border-right: 0;
    }

    .dcv-page .dcv-format .format-item .title {
        font-size: 17px;
    }
}

@media only screen and (max-width: 575px) {
    .dcv-page .dcv-format .format-grid {
        grid-template-columns: 1fr;
    }

    .dcv-page .dcv-format .format-item,
    .dcv-page .dcv-format .format-item:nth-child(2n),
    .dcv-page .dcv-format .format-item:nth-child(3n) {
        border-right: 0;
        padding: 24px 0 24px 18px;
    }

    .dcv-page .dcv-format .format-item .title {
        font-size: 16px;
    }
}

.dcv-page .dcv-polished .polished-band {
    position: relative;
}

.dcv-page .dcv-polished .polished-media {
    overflow: hidden;
    height: clamp(520px, 46vw, 700px);
}

.dcv-page .dcv-polished .polished-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dcv-page .dcv-polished .polished-panel {
    position: absolute;
    top: 50%;
    left: 60px;
    transform: translateY(-50%);
    width: 100%;
    max-width: 545px;
    padding: 48px 44px;
}

.dcv-page .dcv-polished .polished-eyebrow {
    margin-bottom: 20px;
}

.dcv-page .dcv-polished .polished-eyebrow .rule {
    flex: 0 0 auto;
    width: 42px;
    height: 1px;
    margin-right: 18px;
    background-color: var(--theme-color);
}

.dcv-page .dcv-polished .polished-eyebrow .label {
    font-family: var(--heading-font);
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--theme-color);
}

.dcv-page .dcv-polished .polished-panel .title {
    font-size: clamp(26px, 2.3vw, 36px);
    line-height: 1.16;
    letter-spacing: 1px;
    margin: 0 0 22px;
    overflow-wrap: break-word;
}

.dcv-page .dcv-polished .polished-panel p {
    margin: 0;
    font-size: 15px;
    line-height: 1.9;
    color: var(--font-color);
}

.dcv-page .dcv-polished .polished-panel p + p {
    margin-top: 16px;
}

@media only screen and (max-width: 1199px) {
    .dcv-page .dcv-polished .polished-panel {
        left: 35px;
        max-width: 500px;
        padding: 45px 40px;
    }
}

@media only screen and (max-width: 991px) {
    .dcv-page .dcv-polished .polished-media {
        height: clamp(320px, 42vw, 420px);
    }

    .dcv-page .dcv-polished .polished-panel {
        position: static;
        transform: none;
        max-width: 100%;
        margin: 38px 0 0;
        padding: 0;
    }
}

@media only screen and (max-width: 575px) {
    .dcv-page .dcv-polished .polished-media {
        height: 280px;
    }

    .dcv-page .dcv-polished .polished-panel {
        margin-top: 30px;
    }
}

.dcv-page .dcv-perf .perf-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-column-gap: 50px;
    align-items: end;
    margin-bottom: 55px;
}

.dcv-page .dcv-perf .perf-head-copy {
    min-width: 0;
    max-width: 640px;
}

.dcv-page .dcv-perf .perf-eyebrow {
    margin-bottom: 20px;
}

.dcv-page .dcv-perf .perf-eyebrow .rule {
    flex: 0 0 auto;
    width: 42px;
    height: 1px;
    margin-right: 18px;
    background-color: var(--theme-color);
}

.dcv-page .dcv-perf .perf-eyebrow .label {
    font-family: var(--heading-font);
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--theme-color);
}

.dcv-page .dcv-perf .perf-head-copy .title {
    font-size: clamp(28px, 3vw, 46px);
    line-height: 1.12;
    letter-spacing: 1px;
    margin: 0 0 18px;
    overflow-wrap: break-word;
}

.dcv-page .dcv-perf .perf-lead {
    margin: 0;
    font-size: 16px;
    line-height: 1.9;
    color: var(--font-color);
}

.dcv-page .dcv-perf .perf-head-action {
    min-width: 0;
    padding-bottom: 4px;
}

.dcv-page .dcv-perf .perf-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin: 0;
    padding: 0;
    background-color: var(--border-color);
    border: 1px solid var(--border-color);
}

.dcv-page .dcv-perf .perf-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-width: 0;
    padding: 34px 30px;
    background-color: var(--assistant-color);
}

.dcv-page .dcv-perf .perf-value {
    order: 1;
    margin: 0 0 10px;
    font-family: var(--heading-font);
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.1;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-heading);
    color: var(--heading-color);
    overflow-wrap: break-word;
}

.dcv-page .dcv-perf .perf-value sup {
    font-size: 0.55em;
    vertical-align: super;
}

.dcv-page .dcv-perf .perf-label {
    order: 2;
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--font-color);
    opacity: 0.8;
    overflow-wrap: break-word;
}

.dcv-page .dcv-perf .perf-note {
    max-width: 720px;
    margin: 30px 0 0;
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0.5px;
    color: var(--font-color);
    opacity: 0.85;
}

@media only screen and (max-width: 991px) {
    .dcv-page .dcv-perf .perf-head {
        grid-template-columns: 1fr;
        grid-row-gap: 28px;
        align-items: start;
        margin-bottom: 40px;
    }

    .dcv-page .dcv-perf .perf-head-action {
        padding-bottom: 0;
    }

    .dcv-page .dcv-perf .perf-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dcv-page .dcv-perf .perf-item {
        padding: 28px 24px;
    }
}

@media only screen and (max-width: 575px) {
    .dcv-page .dcv-perf .perf-grid {
        grid-template-columns: 1fr;
    }

    .dcv-page .dcv-perf .perf-item {
        padding: 22px 20px;
    }

    .dcv-page .dcv-perf .perf-value {
        font-size: 22px;
    }
}

.dcv-page .dcv-apps .apps-head {
    max-width: 760px;
    margin-bottom: 55px;
}

.dcv-page .dcv-apps .apps-eyebrow {
    margin-bottom: 20px;
}

.dcv-page .dcv-apps .apps-eyebrow .rule {
    flex: 0 0 auto;
    width: 42px;
    height: 1px;
    margin-right: 18px;
    background-color: var(--theme-color);
}

.dcv-page .dcv-apps .apps-eyebrow .label {
    font-family: var(--heading-font);
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--theme-color);
}

.dcv-page .dcv-apps .apps-head .title {
    font-size: clamp(28px, 3vw, 46px);
    line-height: 1.12;
    letter-spacing: 1px;
    margin: 0 0 20px;
    overflow-wrap: break-word;
}

.dcv-page .dcv-apps .apps-lead {
    margin: 0;
    font-size: 16px;
    line-height: 1.9;
    color: var(--font-color);
}

.dcv-page .dcv-apps .apps-body {
    display: grid;
    grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
    grid-column-gap: 60px;
    align-items: stretch;
}

.dcv-page .dcv-apps .apps-nav {
    border-top: 1px solid var(--border-color);
}

.dcv-page .dcv-apps .apps-item {
    position: relative;
    border-bottom: 1px solid var(--border-color);
}

.dcv-page .dcv-apps .apps-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 0;
    background-color: var(--theme-color);
    transition: height 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}

.dcv-page .dcv-apps .apps-item.is-active::before {
    height: 100%;
}

.dcv-page .dcv-apps .apps-heading {
    margin: 0;
}

.dcv-page .dcv-apps .apps-tab {
    display: flex;
    align-items: baseline;
    gap: 14px;
    width: 100%;
    padding: 22px 16px 22px 48px;
    border: 0;
    background: none;
    text-align: left;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    font-family: inherit;
    transition: padding-left 0.4s cubic-bezier(0.65, 0, 0.076, 1);
}

.dcv-page .dcv-apps .apps-item.is-active .apps-tab {
    padding-left: 56px;
    padding-bottom: 12px;
}

.dcv-page .dcv-apps .apps-item .num {
    position: absolute;
    left: 20px;
    top: 24px;
    width: 20px;
    margin: 0;
    font-family: var(--heading-font);
    font-size: 12px;
    line-height: 1;
    letter-spacing: 1px;
    color: var(--theme-color);
    pointer-events: none;
    transition: left 0.4s cubic-bezier(0.65, 0, 0.076, 1);
}

.dcv-page .dcv-apps .apps-item.is-active .num {
    left: 28px;
}

.dcv-page .dcv-apps .apps-tab .label {
    font-family: var(--heading-font);
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-heading);
    color: var(--heading-color);
    overflow-wrap: break-word;
    opacity: 0.55;
    transition: opacity 0.35s ease;
}

.dcv-page .dcv-apps .apps-tab:hover .label,
.dcv-page .dcv-apps .apps-item.is-active .apps-tab .label {
    opacity: 1;
}

.dcv-page .dcv-apps .apps-tab:focus-visible {
    outline: 2px solid var(--theme-color);
    outline-offset: -2px;
}

.dcv-page .dcv-apps .apps-desc {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.65, 0, 0.076, 1),
        opacity 0.35s ease;
    opacity: 0;
}

.dcv-page .dcv-apps .apps-item.is-active .apps-desc {
    opacity: 1;
}

.dcv-page .dcv-apps .apps-desc p {
    margin: 0;
    padding: 0 0 24px 28px;
    font-size: 15px;
    line-height: 1.9;
    color: var(--font-color);
}

.dcv-page .dcv-apps .apps-panels {
    min-width: 0;
    height: 100%;
}

.dcv-page .dcv-apps .apps-panel {
    height: 100%;
}

.dcv-page .dcv-apps .apps-media {
    overflow: hidden;
    height: 100%;
    min-height: 360px;
}

.dcv-page .dcv-apps .apps-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media only screen and (max-width: 991px) {
    .dcv-page .dcv-apps .apps-head {
        margin-bottom: 40px;
    }

    .dcv-page .dcv-apps .apps-body {
        grid-template-columns: 1fr;
        grid-row-gap: 35px;
    }

    .dcv-page .dcv-apps .apps-panels {
        order: -1;
    }

    .dcv-page .dcv-apps .apps-media {
        height: clamp(280px, 46vw, 420px);
        min-height: 0;
    }
}

@media only screen and (max-width: 575px) {
    .dcv-page .dcv-apps .apps-tab {
        padding: 18px 12px 18px 42px;
    }

    .dcv-page .dcv-apps .apps-item.is-active .apps-tab {
        padding-left: 48px;
    }

    .dcv-page .dcv-apps .apps-item .num {
        left: 16px;
        top: 20px;
    }

    .dcv-page .dcv-apps .apps-item.is-active .num {
        left: 22px;
    }

    .dcv-page .dcv-apps .apps-tab .label {
        font-size: 16px;
    }

    .dcv-page .dcv-apps .apps-desc p {
        padding: 0 12px 20px 22px;
        font-size: 14px;
    }
}

.dcv-page .dcv-maker .maker-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 450px);
    overflow: hidden;
}

.dcv-page .dcv-maker .maker-copy {
    min-width: 0;
    padding: 45px;
}

.dcv-page .dcv-maker .maker-eyebrow {
    margin-bottom: 20px;
}

.dcv-page .dcv-maker .maker-eyebrow .rule {
    flex: 0 0 auto;
    width: 42px;
    height: 1px;
    margin-right: 18px;
    background-color: var(--theme-color);
}

.dcv-page .dcv-maker .maker-eyebrow .label {
    font-family: var(--heading-font);
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--theme-color);
}

.dcv-page .dcv-maker .maker-copy .title {
    font-size: clamp(26px, 2.5vw, 40px);
    line-height: 1.14;
    letter-spacing: 1px;
    margin: 0 0 24px;
    overflow-wrap: break-word;
}

.dcv-page .dcv-maker .maker-copy p {
    margin: 0;
    max-width: 620px;
    font-size: 15px;
    line-height: 1.9;
    color: var(--font-color);
}

.dcv-page .dcv-maker .maker-copy p + p {
    margin-top: 16px;
}

.dcv-page .dcv-maker .maker-media {
    min-width: 0;
    overflow: hidden;
}

.dcv-page .dcv-maker .maker-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media only screen and (max-width: 991px) {
    .dcv-page .dcv-maker .maker-card {
        grid-template-columns: 1fr;
    }

    .dcv-page .dcv-maker .maker-media {
        order: -1;
        height: clamp(280px, 42vw, 380px);
    }

    .dcv-page .dcv-maker .maker-copy {
        padding: 45px 40px;
    }
}

@media only screen and (max-width: 575px) {
    .dcv-page .dcv-maker .maker-media {
        height: 240px;
    }

    .dcv-page .dcv-maker .maker-copy {
        padding: 34px 24px;
    }

    .dcv-page .dcv-maker .maker-copy p {
        font-size: 14px;
    }
}

.dcv-page .dcv-partner {
    background-color: var(--bg-color);
}

.dcv-page .dcv-partner .partner-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 42%);
    grid-column-gap: 70px;
    align-items: start;
}

.dcv-page .dcv-partner .partner-copy {
    min-width: 0;
}

.dcv-page .dcv-partner .partner-eyebrow {
    margin-bottom: 20px;
}

.dcv-page .dcv-partner .partner-eyebrow .rule {
    flex: 0 0 auto;
    width: 42px;
    height: 1px;
    margin-right: 18px;
    background-color: var(--theme-color-2);
}

.dcv-page .dcv-partner .partner-eyebrow .label {
    font-family: var(--heading-font);
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--theme-color-2);
}

.dcv-page .dcv-partner .partner-copy .title {
    font-size: clamp(28px, 3vw, 46px);
    line-height: 1.12;
    letter-spacing: 1px;
    margin: 0 0 22px;
    overflow-wrap: break-word;
}

.dcv-page .dcv-partner .partner-copy p {
    margin: 0;
    max-width: 560px;
    font-size: 15px;
    line-height: 1.9;
    color: var(--font-color);
}

.dcv-page .dcv-partner .partner-lead {
    font-size: 17px;
    color: var(--heading-color);
}

.dcv-page .dcv-partner .partner-copy p + p {
    margin-top: 16px;
}

.dcv-page .dcv-partner .partner-actions {
    gap: 18px 34px;
    margin-top: 38px;
}

.dcv-page .dcv-partner .partner-needs {
    min-width: 0;
    padding-top: 8px;
}

.dcv-page .dcv-partner .partner-needs-head {
    margin: 0 0 8px;
    font-family: var(--heading-font);
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--font-color);
    opacity: 0.7;
}

.dcv-page .dcv-partner .partner-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dcv-page .dcv-partner .partner-list li {
    display: flex;
    align-items: baseline;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--border-color);
    font-size: 15px;
    line-height: 1.6;
    color: var(--heading-color);
    overflow-wrap: break-word;
}

.dcv-page .dcv-partner .partner-list li:last-child {
    border-bottom: 0;
}

.dcv-page .dcv-partner .partner-list .tick {
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
    fill: var(--theme-color-2);
}

@media only screen and (max-width: 991px) {
    .dcv-page .dcv-partner .partner-grid {
        grid-template-columns: 1fr;
        grid-row-gap: 45px;
    }

    .dcv-page .dcv-partner .partner-copy p {
        max-width: 100%;
    }

    .dcv-page .dcv-partner .partner-needs {
        padding-top: 0;
    }
}

@media only screen and (max-width: 575px) {
    .dcv-page .dcv-partner .partner-actions {
        gap: 16px;
    }

    .dcv-page .dcv-partner .partner-list li {
        padding: 14px 0;
        font-size: 14px;
    }
}

.dcv-page .dcv-partner .partner-btn-alt .button {
    background: #f6a40b;
    padding: 0 40px;
}

.dcv-page .dcv-partner .partner-btn-alt .icon {
    background-color: #f6a40b;
}

@media only screen and (max-width: 767px) {
    .dcv-page .dcv-partner .partner-actions .button {
        padding: 0 25px;
    }
}

.dcv-page .dcv-catalogue .catalogue-grid {
    display: grid;
    grid-template-columns: minmax(0, 46%) minmax(0, 1fr);
    grid-column-gap: 40px;
    align-items: center;
}

.dcv-page .dcv-catalogue .catalogue-copy {
    min-width: 0;
}

.dcv-page .dcv-catalogue .catalogue-eyebrow {
    margin-bottom: 22px;
}

.dcv-page .dcv-catalogue .catalogue-eyebrow .rule {
    flex: 0 0 auto;
    width: 42px;
    height: 1px;
    margin-right: 18px;
    background-color: var(--theme-color);
}

.dcv-page .dcv-catalogue .catalogue-eyebrow .label {
    font-family: var(--heading-font);
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--theme-color);
}

.dcv-page .dcv-catalogue .catalogue-copy .title {
    font-size: clamp(30px, 3.2vw, 50px);
    line-height: 1.1;
    letter-spacing: 1px;
    margin: 0 0 26px;
    overflow-wrap: break-word;
}

.dcv-page .dcv-catalogue .catalogue-copy p {
    margin: 0;
    max-width: 560px;
    font-size: 16px;
    line-height: 1.9;
    color: var(--font-color);
}

.dcv-page .dcv-catalogue .catalogue-lead {
    color: var(--heading-color);
}

.dcv-page .dcv-catalogue .catalogue-copy p + p {
    margin-top: 18px;
}

.dcv-page .dcv-catalogue .catalogue-media {
    min-width: 0;
    overflow: hidden;
    height: clamp(440px, 42vw, 640px);
}

.dcv-page .dcv-catalogue .catalogue-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media only screen and (max-width: 1199px) {
    .dcv-page .dcv-catalogue .catalogue-grid {
        grid-template-columns: minmax(0, 46%) minmax(0, 1fr);
        grid-column-gap: 50px;
    }
}

@media only screen and (max-width: 991px) {
    .dcv-page .dcv-catalogue .catalogue-grid {
        grid-template-columns: 1fr;
        grid-row-gap: 45px;
    }

    .dcv-page .dcv-catalogue .catalogue-media {
        order: -1;
        height: clamp(320px, 48vw, 460px);
    }

    .dcv-page .dcv-catalogue .catalogue-copy p {
        max-width: 100%;
    }
}

@media only screen and (max-width: 575px) {
    .dcv-page .dcv-catalogue .catalogue-media {
        height: 280px;
    }

    .dcv-page .dcv-catalogue .catalogue-copy p {
        font-size: 15px;
    }
}

.dcv-page .dcv-faq .faq-grid {
    display: grid;
    grid-template-columns: minmax(0, 34%) minmax(0, 1fr);
    grid-column-gap: 70px;
    align-items: start;
}

.dcv-page .dcv-faq .faq-head {
    min-width: 0;
}

.dcv-page .dcv-faq .faq-eyebrow {
    margin-bottom: 20px;
}

.dcv-page .dcv-faq .faq-eyebrow .rule {
    flex: 0 0 auto;
    width: 42px;
    height: 1px;
    margin-right: 18px;
    background-color: var(--theme-color);
}

.dcv-page .dcv-faq .faq-eyebrow .label {
    font-family: var(--heading-font);
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--theme-color);
}

.dcv-page .dcv-faq .faq-head .title {
    font-size: clamp(28px, 3vw, 46px);
    line-height: 1.12;
    letter-spacing: 1px;
    margin: 0;
    overflow-wrap: break-word;
}

.dcv-page .dcv-faq .faq-list {
    min-width: 0;
    border-top: 1px solid var(--border-color);
}

.dcv-page .dcv-faq .faq-item {
    border-bottom: 1px solid var(--border-color);
}

.dcv-page .dcv-faq .faq-heading {
    margin: 0;
}

.dcv-page .dcv-faq .faq-q {
    display: flex;
    align-items: baseline;
    gap: 16px;
    width: 100%;
    padding: 24px 0;
    border: 0;
    background: none;
    text-align: left;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    font-family: inherit;
}

.dcv-page .dcv-faq .faq-q:focus-visible {
    outline: 2px solid var(--theme-color);
    outline-offset: -2px;
}

.dcv-page .dcv-faq .faq-q .label {
    flex: 1 1 auto;
    min-width: 0;
    font-family: var(--heading-font);
    font-size: 18px;
    line-height: 1.45;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-heading);
    color: var(--heading-color);
    overflow-wrap: break-word;
    transition: color 0.3s ease;
}

.dcv-page .dcv-faq .faq-q:hover .label {
    color: var(--theme-color);
}

.dcv-page .dcv-faq .faq-q .sign {
    position: relative;
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
    align-self: center;
}

.dcv-page .dcv-faq .faq-q .sign::before,
.dcv-page .dcv-faq .faq-q .sign::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 14px;
    height: 2px;
    background-color: var(--heading-color);
    transform: translateY(-50%);
    transition: transform 0.4s cubic-bezier(0.65, 0, 0.076, 1),
        background-color 0.3s ease;
}

.dcv-page .dcv-faq .faq-q .sign::after {
    transform: translateY(-50%) rotate(90deg);
}

.dcv-page .dcv-faq .faq-item.is-active .sign::after {
    transform: translateY(-50%) rotate(0deg);
}

.dcv-page .dcv-faq .faq-item.is-active .sign::before,
.dcv-page .dcv-faq .faq-item.is-active .sign::after {
    background-color: var(--theme-color);
}

.dcv-page .dcv-faq .faq-item.is-active .faq-q .label {
    color: var(--theme-color);
}

.dcv-page .dcv-faq .faq-a {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.5s cubic-bezier(0.65, 0, 0.076, 1),
        opacity 0.35s ease;
}

.dcv-page .dcv-faq .faq-item.is-active .faq-a {
    opacity: 1;
}

.dcv-page .dcv-faq .faq-a p {
    margin: 0;
    padding: 0 30px 26px 0;
    max-width: 760px;
    font-size: 15px;
    line-height: 1.9;
    color: var(--font-color);
}

@media only screen and (max-width: 991px) {
    .dcv-page .dcv-faq .faq-grid {
        grid-template-columns: 1fr;
        grid-row-gap: 40px;
    }
}

@media only screen and (max-width: 575px) {
    .dcv-page .dcv-faq .faq-q {
        gap: 12px;
        padding: 20px 0;
    }

    .dcv-page .dcv-faq .faq-q .label {
        font-size: 16px;
    }

    .dcv-page .dcv-faq .faq-a p {
        padding: 0 0 22px;
        font-size: 14px;
    }
}

.dcv-page .dcv-quote .quote-card {
    background-color: var(--bg-color);
    padding: 70px 60px;
}

.dcv-page .dcv-quote .quote-inner {
    max-width: 780px;
}

.dcv-page .dcv-quote .quote-eyebrow {
    margin-bottom: 20px;
}

.dcv-page .dcv-quote .quote-eyebrow .rule {
    flex: 0 0 auto;
    width: 42px;
    height: 1px;
    margin-right: 18px;
    background-color: var(--theme-color-2);
}

.dcv-page .dcv-quote .quote-eyebrow .label {
    font-family: var(--heading-font);
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--theme-color-2);
}

.dcv-page .dcv-quote .title {
    font-size: clamp(28px, 3vw, 46px);
    line-height: 1.12;
    letter-spacing: 1px;
    margin: 0 0 20px;
    overflow-wrap: break-word;
}

.dcv-page .dcv-quote .quote-lead {
    margin: 0;
    font-size: 16px;
    line-height: 1.9;
    color: var(--font-color);
}

@media only screen and (max-width: 991px) {
    .dcv-page .dcv-quote .quote-card {
        padding: 55px 40px;
    }
}

@media only screen and (max-width: 575px) {
    .dcv-page .dcv-quote .quote-card {
        padding: 40px 24px;
    }

    .dcv-page .dcv-quote .quote-lead {
        font-size: 15px;
    }
}

@media only screen and (min-width: 992px) {
    .dcv-page .dcv-partner .partner-grid-split {
        grid-template-columns: minmax(0, 1fr) minmax(0, 47%);
    }

    .dcv-page .dcv-partner .partner-grid-split .partner-list {
        column-count: 2;
        column-gap: 34px;
    }

    .dcv-page .dcv-partner .partner-grid-split .partner-list li {
        break-inside: avoid;
        -webkit-column-break-inside: avoid;
        padding: 26px 0;
        gap: 11px;
        font-size: 14px;
    }

    .dcv-page .dcv-partner .partner-grid-split .partner-list li:last-child {
        border-bottom: 1px solid var(--border-color);
    }
}


.dcv-page .dcv-apps {
    padding-top: 0;
}

.dcv-page .dcv-quote {
    padding-top: 0;
}

.dcv-page .dcv-perf .perf-legend {
    margin: 0 0 16px;
    font-family: var(--heading-font);
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: 2px;
    color: var(--font-color);
    opacity: 0.75;
}

.dcv-page .dcv-perf .perf-legend span {
    margin: 0 6px;
    color: var(--theme-color);
}

.dcv-page .dcv-format.application_areas + .dcv-perf {
    padding-top: 0;
}

.dcv-page .service-architecture + .dcv-polished {
    padding-top: 0;
}

.dcv-page .dcv-pricing .pricing-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: 30px;
    align-items: stretch;
}

.dcv-page .dcv-pricing .quotecard {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 50px 45px;
    background-color: var(--bg-color);
    border-radius: 5px;
}

.dcv-page .dcv-pricing .quotecard-eyebrow {
    margin-bottom: 18px;
}

.dcv-page .dcv-pricing .quotecard-eyebrow .rule {
    flex: 0 0 auto;
    width: 42px;
    height: 1px;
    margin-right: 18px;
    background-color: var(--theme-color);
}

.dcv-page .dcv-pricing .quotecard-eyebrow .label {
    font-family: var(--heading-font);
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 3px;
    color: var(--theme-color);
}

.dcv-page .dcv-pricing .quotecard .title {
    font-size: clamp(21px, 1.7vw, 27px);
    line-height: 1.25;
    letter-spacing: 0.5px;
    margin: 0 0 18px;
    overflow-wrap: break-word;
}

.dcv-page .dcv-pricing .quotecard p {
    margin: 0;
    font-size: 15px;
    line-height: 1.85;
    color: var(--font-color);
}

.dcv-page .dcv-pricing .quotecard-leadin {
    margin-top: 26px !important;
    font-family: var(--heading-font);
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: 2px;
    color: var(--font-color);
    opacity: 0.75;
}

.dcv-page .dcv-pricing .quotecard-list {
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
}

.dcv-page .dcv-pricing .quotecard-list li {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border-color);
    font-size: 15px;
    line-height: 1.6;
    color: var(--heading-color);
    overflow-wrap: break-word;
}

.dcv-page .dcv-pricing .quotecard-list li:last-child {
    border-bottom: 0;
}

.dcv-page .dcv-pricing .quotecard-list .tick {
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
    fill: var(--theme-color);
}

.dcv-page .dcv-pricing .quotecard > div:last-child {
    margin-top: auto;
}

@media only screen and (max-width: 991px) {
    .dcv-page .dcv-pricing .pricing-grid {
        grid-template-columns: 1fr;
        grid-row-gap: 25px;
    }

    .dcv-page .dcv-pricing .quotecard {
        padding: 40px 32px;
    }
}

@media only screen and (max-width: 575px) {
    .dcv-page .dcv-pricing .quotecard {
        padding: 32px 22px;
    }
}

.dcv-page .gallery-head .title {
    font-size: clamp(28px, 3vw, 46px);
    line-height: 1.12;
    letter-spacing: 1px;
    margin-bottom: 0;
}

.dcv-page .gallery-head p {
    max-width: 570px;
    text-transform: none;
    font-family: var(--body-font);
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: normal;
    color: var(--font-color);
}

.dcv-page .gallery-head .dsn-btn {
    align-self: flex-start;
}

.dcv-page .gallery-head + .box-brands {
    padding: 34px 0;
}

.dcv-page .gallery-head + .box-brands .gallery-filter {
    margin: 0;
    padding: 0;
}

@media only screen and (max-width: 767px) {
    .dcv-page .gallery-head p {
        font-size: 15px;
    }

    .dcv-page .gallery-head + .box-brands {
        padding: 24px 0;
    }
}

@media only screen and (min-width: 992px) {
    .dcv-page .gallery-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 42%);
        grid-column-gap: 60px;
        align-items: center;
    }

    .dcv-page .gallery-head .gallery-head-copy {
        padding-bottom: 8px;
    }
}

@media only screen and (max-width: 991px) {
    .dcv-page .gallery-head .gallery-head-copy {
        margin-top: 22px;
    }
}

.dcv-page .dcv-quote .quote-lead + .quote-lead {
    margin-top: 18px;
}
/* ==========================================================================
   30. FAQ page — the standalone /faq page has no heading column beside the
   list (its only heading is the banner H1), so the list runs on its own.
   Capped for a readable measure instead of stretching the full container.
   ========================================================================== */
.dcv-page .dcv-faq .faq-grid-full {
    grid-template-columns: minmax(0, 1fr);
    max-width: 940px;
    margin-left: auto;
    margin-right: auto;
}

/* §30 cont. — the /faq page now leads with a heading and intro copy above
   the list, so the single column needs a row gap and lead styling. */
.dcv-page .dcv-faq .faq-grid-full {
    grid-row-gap: 55px;
}

.dcv-page .dcv-faq .faq-head-top .faq-lead {
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.9;
    color: var(--font-color);
}

@media only screen and (max-width: 767px) {
    .dcv-page .dcv-faq .faq-grid-full {
        grid-row-gap: 38px;
    }

    .dcv-page .dcv-faq .faq-head-top .faq-lead {
        margin-top: 18px;
        font-size: 15px;
    }
}


/* ==========================================================================
   Intro band - image beside heading and lead copy.
   Folded in from the former css/dcv-intro.css so the dcv-* pages load one
   stylesheet. Scoped under .dcv-page like everything above it, which keeps
   these rules off any page that does not set that body class.
   ========================================================================== */

.dcv-page .dcv-intro .d-grid {
    align-items: center;
}

.dcv-page .dcv-intro .intro-media {
    position: relative;
    min-width: 0;
    overflow: hidden;
}

.dcv-page .dcv-intro .intro-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dcv-page .dcv-intro .intro-content {
    min-width: 0;
}

.dcv-page .dcv-intro .intro-content .title {
    font-size: clamp(28px, 2.9vw, 44px);
    line-height: 1.14;
    letter-spacing: 1px;
    overflow-wrap: break-word;
}

.dcv-page .dcv-intro .intro-content .title .sep {
    color: var(--theme-color-2);
    font-weight: inherit;
}

.dcv-page .dcv-intro .intro-content .title .sep .word {
    background-image: linear-gradient(var(--theme-color-2), var(--theme-color-2));
}

.dcv-page .dcv-intro .intro-content .intro-lead {
    max-width: 560px;
    font-size: 16px;
    line-height: 1.9;
}

@media only screen and (max-width: 991px) {
    .dcv-page .dcv-intro .intro-media {
        height: clamp(420px, 60vw, 560px);
    }

    .dcv-page .dcv-intro .intro-content {
        margin-top: 45px;
    }

    .dcv-page .dcv-intro .intro-content .intro-lead {
        max-width: 100%;
    }
}

@media only screen and (max-width: 575px) {
    .dcv-page .dcv-intro .intro-media {
        height: clamp(360px, 105vw, 480px);
    }

    .dcv-page .dcv-intro .intro-content {
        margin-top: 35px;
    }

    .dcv-page .dcv-intro .intro-content .intro-lead {
        font-size: 15px;
        line-height: 1.85;
    }
}

.dcv-format .services-item .icon-right img{
    max-width: 80px;
}
