/* dmhouse-service.css — «قالب صفحه طراحی سایت».
   ساختار و رفتار از لندینگ آزمایشی گرفته شده، ولی همه‌چیز اینجا مستقل و پیشونددار است و
   هیچ کلاسی از شیوه‌نامه‌های دیگر قرض گرفته نمی‌شود.
   تناوب روشن/تیره ثابت است و رنگ‌ها از توکن‌های تم می‌آیند. */

.dmsv {
    --dmsv-px: 0;
    --dmsv-py: 0;
    --dmsv-scroll: 0px;
}

/* هر سکشن خودش تمام‌عرض است و فرزندش داخل ظرف مهار می‌شود. */
.dmsv-sec {
    position: relative;
    padding-block: clamp(56px, 7vw, 110px);
    background-color: var(--bg-primary);
    color: var(--text-primary);
}

/* ═══ موج جداکنندهٔ سکشن‌های تیره ═══
   ارتفاع موج در پدینگ حساب شده تا محتوا به موج نچسبد. */
.dmsv-sec.dmsv-meld {
    padding-block: calc(clamp(50px, 8vw, 120px) + clamp(40px, 5vw, 70px));
}

.dmsv-sec.dmsv-meld::before,
.dmsv-sec.dmsv-meld::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: clamp(50px, 8vw, 120px);
    background-color: #ffffff;
    pointer-events: none;
    z-index: 1;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0v74.7C62 44 122.4 28.7 205 46c83.8 17.6 160.5 25.4 240-7 54-22 110-21 173-5 76.5 19.4 146.5 23.3 222 0 55-17 110.3-31.9 160-22.2V0H0Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0v74.7C62 44 122.4 28.7 205 46c83.8 17.6 160.5 25.4 240-7 54-22 110-21 173-5 76.5 19.4 146.5 23.3 222 0 55-17 110.3-31.9 160-22.2V0H0Z'/%3E%3C/svg%3E");
    -webkit-mask-size: 200% 100%;
    mask-size: 200% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.dmsv-sec.dmsv-meld::before {
    top: -1px;
    animation: dmsvWave 12s ease-in-out infinite alternate;
}

.dmsv-sec.dmsv-meld::after {
    bottom: -1px;
    transform: rotate(180deg);
    animation: dmsvWave 14s ease-in-out infinite alternate-reverse;
}

.dmsv-sec.dmsv-meld--bottom::before {
    display: none;
}

@keyframes dmsvWave {
    0% {
        -webkit-mask-position: 0 0;
        mask-position: 0 0;
    }
    100% {
        -webkit-mask-position: 100% 0;
        mask-position: 100% 0;
    }
}

.dmsv-sec > .page-container {
    position: relative;
    z-index: 5;
}

/* ═══ عناصر مشترک ═══ */

.dmsv-title {
    margin: 0 0 14px;
    font-size: clamp(22px, 2.6vw, 34px);
    line-height: 1.7;
    color: var(--text-primary);
    text-align: start;
}

.dmsv-mark {
    color: var(--accent-primary);
}

/* ⚠ رنگ پیوند فقط داخل «متن‌های آزاد» بازنویسی می‌شود، نه روی هر a در صفحه. نسخهٔ قبلی
   عمومی بود و نوار فیلتر نمونه‌کار و دکمهٔ مشاورهٔ همان نوار را هم رنگ و خط‌چین‌دار کرد.
   important لازم است چون شیوه‌نامهٔ سراسری سایت روی a و a:visited رنگ قدیمی را با
   important می‌گذارد. */
/* ⚠ هیرو جداگانه و با وزن بالاتر نوشته شده: شیوه‌نامهٔ سایت زنده روی پیوندها قاعده‌های
   important با وزن بالا دارد و نسخهٔ کوتاه اینجا در هیرو باخت می‌خورد. */
.dmsv .dmsv-hero .dmsv-hero__desc a,
.dmsv .dmsv-hero .dmsv-hero__desc a:link,
.dmsv .dmsv-hero .dmsv-hero__desc a:visited,
.dmsv .dmsv-hero .dmsv-hero__desc a:hover,
.dmsv .dmsv-hero .dmsv-hero__desc a:focus,
.dmsv .dmsv-hero .dmsv-hero__desc a:active,
.dmsv-hero__desc a,
.dmsv-hero__desc a:visited,
.dmsv-services__desc a,
.dmsv-services__desc a:visited,
.dmsv-answer__desc a,
.dmsv-answer__desc a:visited,
.dmsv-answer__step-desc a,
.dmsv-answer__step-desc a:visited,
.dmsv-support__desc a,
.dmsv-support__desc a:visited,
.dmsv-support__desc-text a,
.dmsv-support__desc-text a:visited,
.dmsv-longread__inner a,
.dmsv-longread__inner a:visited,
.dmsv-lead a,
.dmsv-lead a:visited,
.dmsv-card__desc a,
.dmsv-card__desc a:visited,
.dmsv-why__desc a,
.dmsv-why__desc a:visited,
.dmsv-qpair__a a,
.dmsv-qpair__a a:visited,
.dmsv-faq__a a,
.dmsv-faq__a a:visited {
    color: var(--accent-primary) !important;
    font-weight: 700;
    text-decoration: none;
    border-block-end: 1px dashed currentColor;
}

.dmsv-lead {
    margin: 0;
    font-size: 15px;
    line-height: 2.1;
    color: var(--text-secondary);
    text-align: start;
}

/* ⚠ محتوای همهٔ فیلدهای متنی از ویرایشگر می‌آید و داخل پاراگراف و فهرست بسته می‌شود؛
   پس اندازه و رنگ باید به فرزندان هم برسد، نه فقط به خود ظرف. */
.dmsv-lead > :first-child,
.dmsv-card__desc > :first-child,
.dmsv-why__desc > :first-child,
.dmsv-qpair__a > :first-child,
.dmsv-support__desc-text > :first-child,
.dmsv-answer__step-desc > :first-child,
.dmsv-faq__a-inner > :first-child {
    margin-block-start: 0;
}

.dmsv-lead > :last-child,
.dmsv-card__desc > :last-child,
.dmsv-why__desc > :last-child,
.dmsv-qpair__a > :last-child,
.dmsv-support__desc-text > :last-child,
.dmsv-answer__step-desc > :last-child,
.dmsv-faq__a-inner > :last-child {
    margin-block-end: 0;
}

.dmsv-lead p,
.dmsv-card__desc p,
.dmsv-why__desc p,
.dmsv-qpair__a p,
.dmsv-support__desc-text p,
.dmsv-answer__step-desc p,
.dmsv-faq__a-inner p {
    margin: 0 0 10px;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    text-align: inherit;
}

.dmsv-lead ul,
.dmsv-card__desc ul,
.dmsv-why__desc ul,
.dmsv-qpair__a ul,
.dmsv-support__desc-text ul,
.dmsv-faq__a-inner ul,
.dmsv-lead ol,
.dmsv-card__desc ol,
.dmsv-why__desc ol,
.dmsv-qpair__a ol,
.dmsv-support__desc-text ol,
.dmsv-faq__a-inner ol {
    margin: 0 0 10px;
    padding-inline-start: 20px;
}

.dmsv-lead li,
.dmsv-card__desc li,
.dmsv-why__desc li,
.dmsv-qpair__a li,
.dmsv-support__desc-text li,
.dmsv-faq__a-inner li {
    margin-block-end: 6px;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}

.dmsv-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-block-end: 14px;
    padding: 7px 16px;
    border: 1px solid var(--border-color);
    border-radius: var(--pill-radius, 50px);
    background-color: rgba(255, 255, 255, .04);
    font-size: 13px;
    color: var(--accent-primary);
}

.dmsv-eyebrow--light {
    background-color: rgba(184, 115, 51, .1);
}

.dmsv-eyebrow::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: var(--accent-primary);
}

.dmsv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border-radius: var(--pill-radius, 50px);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .3s ease, background-color .3s ease, color .3s ease;
}

.dmsv-btn--primary {
    background-color: var(--accent-primary);
    color: var(--color-navy, #0a192f) !important;
}

.dmsv-btn--ghost {
    border: 1px solid var(--border-color);
    color: var(--text-primary) !important;
}

.dmsv-btn:hover {
    transform: translateY(-2px);
}

/* ═══ هیرو ═══ */

.dmsv-hero {
    overflow: hidden;
    padding-block: clamp(170px, 17vw, 250px) calc(clamp(50px, 8vw, 120px) + clamp(40px, 5vw, 70px));
}

.dmsv-hero__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 4vw, 60px);
    align-items: center;
}

.dmsv-hero__text {
    min-width: 0;
}

/* بردکرام از ماژول بلاگ می‌آید و شیوه‌نامهٔ آن اینجا بار نمی‌شود؛ پس ظاهر مینیمالش
   همین‌جا تعریف می‌شود. */
.dmsv-hero .dmhb-crumbs {
    margin-block-end: 16px;
    font-size: 13px;
    color: var(--text-secondary);
}

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

.dmsv-hero .dmhb-crumbs__item::after {
    content: "»";
    margin-inline: 6px;
    color: var(--text-secondary);
}

.dmsv-hero .dmhb-crumbs__item--current::after {
    content: none;
}

.dmsv-hero .dmhb-crumbs a,
.dmsv-hero .dmhb-crumbs a:visited {
    color: var(--text-secondary) !important;
    text-decoration: none;
}

.dmsv-hero .dmhb-crumbs a:hover,
.dmsv-hero .dmhb-crumbs__item--current {
    color: var(--accent-primary) !important;
}

.dmsv-hero__title {
    margin: 0 0 16px;
    font-size: clamp(34px, 5vw, 62px);
    line-height: 1.35;
    color: var(--text-primary);
}

.dmsv-hero__desc p {
    margin: 0 0 12px;
    font-size: clamp(15px, 1.1vw, 17px);
    line-height: 2.1;
    color: var(--text-secondary);
    text-align: justify;
}

.dmsv-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-block: 22px 26px;
}

.dmsv-hero__stats {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(18px, 3vw, 40px);
    margin: 0;
    padding-block-start: 20px;
    border-block-start: 1px solid var(--border-color);
}

.dmsv-hero__stats dt {
    font-size: clamp(22px, 2.4vw, 30px);
    font-weight: 700;
    color: var(--accent-primary);
}

.dmsv-hero__stats dd {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--text-secondary);
}

.dmsv-hero__visual {
    position: relative;
    isolation: isolate;
}

.dmsv-hero__visual::before {
    content: "";
    position: absolute;
    inset: -12% -8% -18% -8%;
    z-index: -1;
    border-radius: 50%;
    background-image: radial-gradient(closest-side, rgba(245, 214, 143, .22), transparent 72%);
    transform: translate3d(calc(var(--dmsv-px) * -26px), calc(var(--dmsv-py) * -22px), 0);
    transition: transform .6s ease-out;
}

/* ارتفاع ثابت است تا هر تصویری با هر نسبتی، چیدمان را جابه‌جا نکند. */
.dmsv-hero__figure {
    margin: 0;
    height: clamp(260px, 34vw, 460px);
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 24px;
    background-color: var(--bg-secondary);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .28);
    transform: translate3d(calc(var(--dmsv-px) * 12px), calc(var(--dmsv-py) * 12px + var(--dmsv-scroll)), 0);
    transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}

.dmsv-hero__figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.04);
}

/* ═══ نمونه‌کارها ═══ */

.dmsv-portfolio__cta {
    display: flex;
    justify-content: center;
    margin-block-start: clamp(28px, 4vw, 52px);
}

/* ═══ خدمات: گرید ۵۰/۵۰ با ردیف‌های استک‌شونده ═══
   خانهٔ اولِ ردیف نخست، متن سکشن است؛ هر ردیف در همان نقطهٔ بالای صفحه می‌چسبد و ردیف
   بعدی با اسکرول روی ردیف قبلی می‌نشیند. */

.dmsv-services__stack {
    display: block;
}

.dmsv-services__row {
    position: sticky;
    top: clamp(90px, 12vh, 130px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 26px);
    align-items: stretch;
    /* ⚠ پدینگ عمودی صفر است: پدینگ، نواری هم‌رنگ سکشن بالای کارت‌ها می‌ساخت که با اسکرول
       حرکت می‌کرد. پس‌زمینه می‌ماند تا فقط شکاف میان دو کارت را بپوشاند. */
    background-color: var(--bg-primary);
    padding-block: 0;
}

.dmsv-services__row:nth-of-type(1) { z-index: 11; }
.dmsv-services__row:nth-of-type(2) { z-index: 12; }
.dmsv-services__row:nth-of-type(3) { z-index: 13; }
.dmsv-services__row:nth-of-type(4) { z-index: 14; }
.dmsv-services__row:nth-of-type(5) { z-index: 15; }
.dmsv-services__row:nth-of-type(6) { z-index: 16; }

.dmsv-services__row + .dmsv-services__row {
    margin-block-start: clamp(40px, 8vh, 90px);
}

.dmsv-services__head {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    padding-block: clamp(8px, 1.6vw, 20px);
}

.dmsv-services__desc p {
    margin: 0 0 10px;
    font-size: 15px;
    line-height: 2.1;
    color: var(--text-secondary);
    text-align: justify;
}

.dmsv-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: clamp(300px, 38vh, 420px);
    padding: clamp(20px, 2.4vw, 28px);
    border: 1px solid var(--border-color);
    border-radius: 24px;
    overflow: hidden;
    background-color: var(--color-navy, #0a192f);
    transition: transform .3s ease, border-color .3s ease;
}

.dmsv-card:hover {
    transform: translateY(-6px);
    border-color: var(--accent-primary);
}

.dmsv-card__image {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.dmsv-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.dmsv-card:hover .dmsv-card__image img {
    transform: scale(1.05);
}

.dmsv-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(120% 90% at 100% 0%, rgba(6, 17, 33, .95) 0%, rgba(6, 17, 33, .55) 45%, rgba(6, 17, 33, .2) 75%),
        linear-gradient(to bottom, rgba(6, 17, 33, .85) 0%, rgba(6, 17, 33, .45) 45%, rgba(6, 17, 33, .65) 100%);
}

.dmsv-card__badge,
.dmsv-card__body {
    position: relative;
    z-index: 2;
}

.dmsv-card__badge {
    align-self: flex-start;
    padding: 6px 14px;
    border-radius: var(--pill-radius, 50px);
    background-color: rgba(245, 214, 143, .16);
    font-size: 13px;
    font-weight: 700;
    color: var(--color-gold, #f5d68f);
}

.dmsv-card__body {
    margin-block-start: auto;
}

.dmsv-card__title {
    margin: 0 0 8px;
    font-size: clamp(18px, 1.8vw, 24px);
    line-height: 1.7;
    color: #ffffff;
}

.dmsv-card__desc {
    margin: 0;
    font-size: 14px;
    line-height: 2;
    color: rgba(255, 255, 255, .88);
    text-align: justify;
}

/* ═══ اعتماد برندها ═══ */

/* سکشن «نوار لوگوی برندها» هم همان نسخهٔ متن + لوگو است: سهم لوگوها دو برابر متن.
   کاروسل نظرها از این قاعده بیرون است. */
.dmsv-brands__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: clamp(30px, 5vw, 70px);
    align-items: center;
}

/* ═══ چرا ما ═══ */

.dmsv-why__grid {
    display: grid;
    grid-template-columns: minmax(0, 30fr) minmax(0, 70fr);
    gap: clamp(24px, 3vw, 48px);
    align-items: start;
}

.dmsv-why__intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    position: sticky;
    top: 14vh;
}

/* ⚠ چیدمان ستونی (columns) عمداً به‌کار نرفته: ترتیب خواندنش عمودی می‌شود و کارت‌ها
   وسط ستون می‌شکنند. با گرید دوستونی و دو کارتِ «بلند» در ابتدا و انتها، مجموع ارتفاع
   ستون‌ها برابر می‌ماند و لبهٔ پایین یک خط صاف است. */
.dmsv-why__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    /* ⚠ ردیف‌ها هم‌ارتفاع می‌شوند: بدون این، کارتی که دو ردیف را می‌گیرد ارتفاع دو ردیفِ
       نابرابر را جمع می‌کرد و کارت‌های کنارش قد متفاوت پیدا می‌کردند. */
    grid-auto-rows: 1fr;
    gap: clamp(14px, 1.6vw, 22px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.dmsv-why__card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: clamp(20px, 2.2vw, 28px);
    border: 1px solid var(--border-color);
    border-radius: 22px;
    background-color: var(--bg-secondary);
    transition: transform .3s ease, border-color .3s ease;
}

.dmsv-why__card:hover {
    transform: translateY(-6px);
    border-color: var(--accent-primary);
}

/* کارت اول دو ردیف را می‌گیرد؛ همین ریتم نامتقارن، ستون‌ها را هم‌ارتفاع و لبهٔ پایین را
   صاف نگه می‌دارد. */
.dmsv-why__card--tall {
    grid-row: span 2;
    justify-content: center;
}

.dmsv-why__num {
    font-size: clamp(24px, 2.6vw, 34px);
    font-weight: 700;
    line-height: 1;
    color: var(--accent-primary);
    opacity: .55;
}

.dmsv-why__title {
    margin: 0;
    font-size: 17px;
    line-height: 1.7;
    color: var(--text-primary);
}

.dmsv-why__desc {
    margin: 0;
    font-size: 14px;
    line-height: 2;
    color: var(--text-secondary);
}

/* ═══ پرسش و پاسخ کوتاه ═══ */

.dmsv-answer__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 4vw, 60px);
    align-items: start;
}

.dmsv-answer__desc p {
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 2.1;
    color: var(--text-secondary);
    text-align: justify;
}

.dmsv-answer__short {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 22px;
    padding: 16px 20px;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background-color: rgba(245, 214, 143, .08);
    font-size: clamp(15px, 1.2vw, 18px);
    font-weight: 700;
    color: var(--text-primary);
}

.dmsv-answer__mark {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--accent-primary);
    color: var(--color-navy, #0a192f);
}

.dmsv-answer__steps {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dmsv-answer__steps > li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 16px 18px;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background-color: var(--bg-secondary);
}

.dmsv-answer__num {
    font-size: 20px;
    font-weight: 700;
    color: var(--accent-primary);
}

.dmsv-answer__body {
    display: grid;
    gap: 6px;
}

.dmsv-answer__step-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
}

.dmsv-answer__step-desc {
    font-size: 14px;
    line-height: 1.9;
    color: var(--text-secondary);
}

/* ═══ پشتیبانی ═══ */

.dmsv-support__head {
    max-width: 900px;
    margin-block-end: clamp(28px, 4vw, 48px);
}

.dmsv-support__desc p {
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 2.1;
    color: var(--text-secondary);
}

.dmsv-support__lead {
    margin: 0;
    font-weight: 700;
    color: var(--text-primary);
}

.dmsv-support__cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 1.8vw, 24px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.dmsv-support__card {
    position: relative;
    overflow: hidden;
    padding: clamp(22px, 2.2vw, 32px);
    border: 1px solid var(--border-color);
    border-radius: 22px;
    background-color: var(--bg-primary);
    box-shadow: var(--card-shadow, 0 2px 10px rgba(10, 25, 47, .08));
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.dmsv-support__card::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    height: 3px;
    background-image: linear-gradient(to left, var(--color-gold, #f5d68f), var(--color-copper, #b87333));
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .6s ease;
}

.dmsv-support__card:hover {
    transform: translateY(-6px);
    border-color: rgba(184, 115, 51, .35);
    box-shadow: 0 20px 44px rgba(10, 25, 47, .12);
}

.dmsv-support__card:hover::before {
    transform: scaleX(1);
}

.dmsv-support__num {
    position: absolute;
    inset-block-start: 10px;
    inset-inline-end: 18px;
    font-size: 46px;
    font-weight: 700;
    line-height: 1;
    color: rgba(10, 25, 47, .06);
}

.dmsv-support__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-block-end: 14px;
    border-radius: 16px;
    background-image: linear-gradient(135deg, rgba(245, 214, 143, .55), rgba(184, 115, 51, .18));
    font-size: 21px;
    color: var(--color-navy, #0a192f);
}

.dmsv-support__title {
    margin: 0 0 10px;
    font-size: 17px;
    line-height: 1.7;
    color: var(--text-primary);
}

.dmsv-support__desc-text {
    margin: 0;
    font-size: 14px;
    line-height: 2;
    color: var(--text-secondary);
}

/* ═══ مقایسه ═══ */

.dmsv-compare__head {
    max-width: 900px;
    margin-block-end: clamp(28px, 4vw, 48px);
}

.dmsv-compare__plans {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2.4vw, 32px);
    align-items: start;
}

.dmsv-compare__plan {
    padding: clamp(22px, 2.4vw, 34px);
    border: 1px solid var(--border-color);
    border-radius: 24px;
    background-color: var(--bg-secondary);
}

.dmsv-compare__plan--star {
    border-color: var(--accent-primary);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .22);
}

.dmsv-compare__plan-head {
    margin-block-end: 20px;
    padding-block-end: 18px;
    border-block-end: 1px solid var(--border-color);
}

.dmsv-compare__tag {
    display: inline-block;
    margin-block-end: 10px;
    padding: 5px 14px;
    border-radius: var(--pill-radius, 50px);
    background-color: rgba(245, 214, 143, .14);
    font-size: 12px;
    font-weight: 700;
    color: var(--accent-primary);
}

.dmsv-compare__name {
    margin: 0 0 6px;
    font-size: clamp(19px, 1.8vw, 24px);
    color: var(--text-primary);
}

.dmsv-compare__price {
    margin: 0;
    font-size: clamp(16px, 1.6vw, 20px);
    font-weight: 700;
    color: var(--accent-primary);
}

.dmsv-compare__note {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.9;
    color: var(--text-secondary);
}

.dmsv-compare__yes {
    font-weight: 700;
    color: #2f9e6a;
}

.dmsv-compare__no {
    color: var(--text-secondary);
}

.dmsv-compare__cta {
    display: flex;
    margin-block-start: 20px;
}

.dmsv-compare__list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dmsv-compare__list > li {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 12px;
    align-items: baseline;
    padding-block-end: 12px;
    border-block-end: 1px dashed var(--border-color);
}

.dmsv-compare__list > li:last-child {
    padding-block-end: 0;
    border-block-end: 0;
}

.dmsv-compare__k {
    font-size: 13px;
    color: var(--text-secondary);
}

.dmsv-compare__v {
    font-size: 14px;
    line-height: 1.9;
    color: var(--text-primary);
}

/* ═══ دو پرسش پرتکرار ═══ */

.dmsv-qpair__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 2.6vw, 40px);
    margin-block-start: clamp(20px, 3vw, 36px);
}

.dmsv-qpair__item {
    position: relative;
    padding-block-start: 8px;
    padding-inline-start: 58px;
}

.dmsv-qpair__index {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--border-color);
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    color: var(--accent-primary);
}

.dmsv-qpair__q {
    margin: 0 0 12px;
    font-size: clamp(17px, 1.5vw, 21px);
    line-height: 1.8;
    color: var(--text-primary);
}

.dmsv-qpair__a {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 2.1;
    color: var(--text-secondary);
    text-align: justify;
}

.dmsv-qpair__meta {
    display: inline-block;
    margin: 0;
    padding: 6px 14px;
    border-radius: var(--pill-radius, 50px);
    background-color: rgba(184, 115, 51, .1);
    font-size: 13px;
    font-weight: 700;
    color: var(--accent-primary);
}

/* ═══ سوالات متداول ═══ */

.dmsv-faq__head {
    margin-block-end: clamp(36px, 5vw, 70px);
}

.dmsv-faq__marquee {
    direction: ltr;
    width: 200px;
    margin-block-end: 18px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
}

.dmsv-faq__track {
    display: inline-flex;
    align-items: center;
    gap: 22px;
    white-space: nowrap;
    animation: dmsvMarquee 22s linear infinite;
}

.dmsv-faq__mq {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--text-secondary);
}

.dmsv-faq__star {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--accent-primary);
}

.dmsv-faq__sep {
    color: var(--border-color);
}

@keyframes dmsvMarquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.dmsv-faq__title {
    margin: 0;
    font-size: clamp(40px, 9vw, 120px);
    line-height: .95;
    font-weight: 700;
    text-align: start;
}

.dmsv-faq__t-strong {
    color: var(--text-primary);
}

.dmsv-faq__t-soft {
    color: #b8bcc4;
}

.dmsv-faq__body {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: clamp(28px, 4vw, 60px);
    align-items: start;
}

.dmsv-faq__image {
    order: 2;
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 18px;
    aspect-ratio: 1 / 1;
}

.dmsv-faq__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dmsv-faq__accordion {
    order: 1;
}

.dmsv-faq__item {
    border-block-end: 1px solid var(--border-color);
}

.dmsv-faq__item:first-child {
    border-block-start: 1px solid var(--border-color);
}

.dmsv-faq__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    padding: 26px 4px;
    border: none;
    background: transparent;
    font-family: inherit;
    text-align: start;
    cursor: pointer;
}

.dmsv-faq__q-main {
    display: inline-flex;
    align-items: baseline;
    gap: 12px;
    transition: transform .35s cubic-bezier(.2, .7, .2, 1);
}

.dmsv-faq__num,
.dmsv-faq__slash {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-secondary);
}

/* ⚠ عیناً مثل صفحهٔ تماس با ما و لندینگ سئو: همان خانوادهٔ قلم عنوان‌ها و وزن عادی.
   بدون تعیین صریح، وزن را از خودِ دکمه به ارث می‌برد و درشت‌تر دیده می‌شود. */
.dmsv-faq__q-text {
    font-family: 'gofteh', 'dana', 'IRANSansX', sans-serif;
    font-size: clamp(18px, 1.8vw, 26px);
    font-weight: 400;
    color: var(--text-primary);
}

.dmsv-faq__icon {
    position: relative;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--color-navy, #0a192f);
    transition: transform .35s cubic-bezier(.2, .7, .2, 1), background-color .3s ease;
}

.dmsv-faq__icon::before,
.dmsv-faq__icon::after {
    content: "";
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    background-color: #ffffff;
    transform: translate(50%, -50%);
}

.dmsv-faq__icon::before {
    width: 15px;
    height: 2px;
}

.dmsv-faq__icon::after {
    width: 2px;
    height: 15px;
    transition: transform .3s ease;
}

.dmsv-faq__item.is-open .dmsv-faq__icon::after {
    transform: translate(50%, -50%) scaleY(0);
}

.dmsv-faq__item:hover .dmsv-faq__q-main {
    transform: translateX(14px);
}

.dmsv-faq__item:hover .dmsv-faq__icon {
    transform: translateX(-14px);
    background-color: var(--accent-primary);
}

/* ارتفاع پاسخ را جاوااسکریپت ست می‌کند. */
.dmsv-faq__a {
    height: 0;
    overflow: hidden;
    transition: height .45s cubic-bezier(.2, .7, .2, 1);
}

/* ⚠ همان اندازه و فاصلهٔ قبلی، فقط یک لایه بالاتر: محتوای پاسخ حالا از ویرایشگر می‌آید و
   خودش پاراگراف دارد، پس قاعده روی ظرف نشسته تا خروجی دقیقاً مثل قبل دیده شود. */
.dmsv-faq__a-inner {
    max-width: 520px;
    padding: 0 4px 28px;
    font-size: 15px;
    line-height: 1.9;
    color: var(--text-secondary);
}

/* ═══ کاروسل نظرها ═══
   سه کارت هم‌زمان؛ کارت میانی بزرگ‌تر و پررنگ‌تر. ارتفاع همهٔ کارت‌ها برابرِ بلندترین
   کارت است، چون ریل روی محور عمودی کشیده می‌شود نه وسط‌چین. */

/* عنوان کاروسل عیناً مثل نسخهٔ لوکال: درشت‌تر از تیتر معمولی سکشن‌ها. */
.dmsv-quotes__title {
    margin: 0 0 clamp(20px, 3vw, 40px);
    font-size: clamp(22px, 2.4vw, 34px);
    line-height: 1.6;
}

.dmsv-quotes__title + .dmsv-lead {
    margin-block-start: -18px;
}

.dmsv-quotes__viewport {
    overflow: hidden;
    padding-block: 10px 24px;
    margin-block-start: clamp(20px, 3vw, 36px);
}

.dmsv-quotes__track {
    display: flex;
    align-items: stretch;
    gap: clamp(16px, 2vw, 28px);
    margin: 0;
    padding: 0;
    list-style: none;
    transition: transform .6s ease;
    will-change: transform;
}

/* ⚠ ارتفاع ثابت است، نه وابسته به طول متن: با متن‌های کوتاه و بلند، ارتفاع ریل در هر
   جابه‌جایی بالا و پایین می‌پرید. متنِ بلندتر داخل همان کادر کوتاه می‌شود. */
.dmsv-quotes__item {
    flex: 0 0 calc((100% - 2 * clamp(16px, 2vw, 28px)) / 3);
    min-width: 0;
    height: clamp(330px, 30vw, 420px);
}

.dmsv-quotes__card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
        "logo who"
        "text text";
    align-content: start;
    gap: 8px 14px;
    height: 100%;
    padding: clamp(24px, 2.4vw, 36px);
    border: 1px solid var(--border-color);
    border-radius: 28px;
    overflow: hidden;
    background-color: var(--bg-secondary);
    transform: scale(.94);
    opacity: .5;
    transition: transform .6s ease, opacity .6s ease, border-color .3s ease, box-shadow .3s ease;
}

.dmsv-quotes__card::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    height: 3px;
    background-image: linear-gradient(to left, var(--color-gold, #f5d68f), var(--color-copper, #b87333));
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .6s ease;
}

.dmsv-quotes__item.is-active .dmsv-quotes__card {
    transform: scale(1);
    opacity: 1;
    border-color: rgba(245, 214, 143, .4);
    /* سایه عمداً بسیار ملایم است؛ نسخهٔ قبلی لکهٔ تیرهٔ درشتی زیر کارت می‌ساخت. */
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
}

.dmsv-quotes__item.is-active .dmsv-quotes__card::before {
    transform: scaleX(1);
}

.dmsv-quotes__mark {
    position: absolute;
    inset-block-start: -18px;
    inset-inline-start: 14px;
    font-size: 120px;
    line-height: 1;
    color: rgba(245, 214, 143, .09);
    pointer-events: none;
}

.dmsv-quotes__logo {
    grid-area: logo;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    padding: 9px;
    border: 1px solid var(--border-color);
    border-radius: 18px;
    background-color: rgba(255, 255, 255, .9);
}

.dmsv-quotes__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.dmsv-quotes__author {
    grid-area: who;
    align-self: center;
}

.dmsv-quotes__name {
    margin: 0 0 3px;
    font-size: 16px;
    color: var(--text-primary);
}

.dmsv-quotes__role {
    display: inline-block;
    padding: 3px 10px;
    border-radius: var(--pill-radius, 50px);
    background-color: rgba(245, 214, 143, .12);
    font-size: 12px;
    color: var(--accent-primary);
}

.dmsv-quotes__text {
    grid-area: text;
    margin: 6px 0 0;
    padding-block-start: 16px;
    border-block-start: 1px solid var(--border-color);
    font-size: 15px;
    line-height: 2.1;
    color: var(--text-secondary);
    /* راست‌چین ساده؛ جاستیفای در ستون باریک، فاصلهٔ واژه‌ها را زشت می‌کند. */
    text-align: start;
    /* متن بلندتر از کادر، با سه‌نقطه کوتاه می‌شود تا ارتفاع ثابت بماند. */
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    line-clamp: 6;
}

.dmsv-quotes__item.is-active .dmsv-quotes__text {
    font-size: 16px;
    color: var(--text-primary);
}

.dmsv-quotes__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-block-start: clamp(18px, 2vw, 30px);
}

.dmsv-quotes__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid var(--border-color);
    border-radius: 50%;
    background-color: rgba(245, 214, 143, .12);
    color: var(--accent-primary);
    cursor: pointer;
    transition: background-color .3s ease, color .3s ease, transform .3s ease;
}

.dmsv-quotes__btn:hover {
    background-color: var(--accent-primary);
    color: var(--color-navy, #0a192f);
    transform: translateY(-2px);
}

/* حالت غیرفعال دیگر پیش نمی‌آید (کاروسل حلقه‌ای است)، ولی برای مرورگرهایی که به هر دلیل
   دکمه را غیرفعال می‌کنند نگه داشته شده. */
.dmsv-quotes__btn:disabled {
    opacity: .35;
    cursor: default;
    transform: none;
}

.dmsv-quotes__dots {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-inline: 6px;
}

.dmsv-quotes__dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: rgba(120, 130, 150, .35);
    cursor: pointer;
    transition: width .3s ease, background-color .3s ease;
}

.dmsv-quotes__dot.is-on {
    width: 26px;
    border-radius: var(--pill-radius, 50px);
    background-color: var(--accent-primary);
}

/* ═══ متن بلند ═══ */

.dmsv-longread__box {
    margin-block-start: 18px;
    padding: 26px 28px;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    background-color: var(--bg-secondary);
}

.dmsv-longread__inner {
    max-height: 340px;
    overflow-y: auto;
    padding-inline-end: 14px;
}

.dmsv-longread__inner p {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 2.1;
    color: var(--text-secondary);
    text-align: justify;
}

/* متن سئویی از ویرایشگر کامل می‌آید، پس تیتر و فهرست و نقل‌قول هم لازم است. */
.dmsv-longread__inner h2,
.dmsv-longread__inner h3,
.dmsv-longread__inner h4,
.dmsv-longread__inner h5 {
    margin: 22px 0 10px;
    line-height: 1.8;
    color: var(--text-primary);
    text-align: start;
}

.dmsv-longread__inner h2 {
    font-size: clamp(19px, 1.9vw, 24px);
}

.dmsv-longread__inner h3 {
    font-size: clamp(17px, 1.7vw, 20px);
}

.dmsv-longread__inner h4,
.dmsv-longread__inner h5 {
    font-size: 16px;
}

.dmsv-longread__inner :first-child {
    margin-block-start: 0;
}

.dmsv-longread__inner ul,
.dmsv-longread__inner ol {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}

.dmsv-longread__inner li {
    position: relative;
    margin-block-end: 12px;
    padding-inline-start: 30px;
    font-size: 15px;
    line-height: 2;
    color: var(--text-secondary);
}

/* نشانهٔ فهرست نقطه‌ای: همان تیک برنجی نسخهٔ قبلی. */
.dmsv-longread__inner ul > li::before {
    content: "✓";
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0;
    font-size: 17px;
    font-weight: 700;
    color: var(--accent-primary);
}

/* فهرست شماره‌دار شمارهٔ واقعی خودش را نگه می‌دارد. */
.dmsv-longread__inner ol {
    counter-reset: dmsv-ol;
}

.dmsv-longread__inner ol > li {
    counter-increment: dmsv-ol;
}

.dmsv-longread__inner ol > li::before {
    content: counter(dmsv-ol, persian) ".";
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0;
    font-weight: 700;
    color: var(--accent-primary);
}

.dmsv-longread__inner li strong,
.dmsv-longread__inner p strong {
    color: var(--text-primary);
}

.dmsv-longread__inner blockquote {
    margin: 0 0 16px;
    padding: 14px 18px;
    border-inline-start: 3px solid var(--accent-primary);
    border-radius: 12px;
    background-color: rgba(184, 115, 51, .07);
}

.dmsv-longread__inner blockquote p:last-child {
    margin-block-end: 0;
}

.dmsv-longread__inner img {
    max-width: 100%;
    height: auto;
    border-radius: 14px;
}

.dmsv-longread__inner table {
    width: 100%;
    margin-block-end: 16px;
    border-collapse: collapse;
    font-size: 14px;
}

.dmsv-longread__inner th,
.dmsv-longread__inner td {
    padding: 10px 12px;
    border: 1px solid var(--border-color);
    text-align: start;
    color: var(--text-secondary);
}

.dmsv-longread__inner th {
    color: var(--text-primary);
    background-color: rgba(184, 115, 51, .07);
}

.dmsv-longread__inner::-webkit-scrollbar {
    width: 8px;
}

.dmsv-longread__inner::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background-color: rgba(10, 25, 47, .22);
}

/* ═══ دیدگاه‌ها ═══
   ⚠ نشانه‌گذاری و شیوه‌نامهٔ دیدگاه‌ها همان‌های بلاگ‌اند و روی متغیرهای dmhb تکیه دارند؛
   آن متغیرها روی ریشهٔ بلاگ تعریف شده‌اند که اینجا وجود ندارد. پس همان توکن‌ها را با
   رنگ‌های همین سکشن اینجا تعریف می‌کنیم تا نه فایل دومی لازم باشد نه رنگ‌ها غلط بیفتد. */
/* ⚠ همان قاعدهٔ قالب خدمات طراحی سایت: پیوندهای خودِ وردپرس در فرم دیدگاه رنگ قدیمی سایت
   را با important می‌گیرند و باید با انتخابگر پدر-فرزندی بازنویسی شوند. */
.dmsv-comments__box .logged-in-as a,
.dmsv-comments__box .logged-in-as a:visited,
.dmsv-comments__box .comment-notes a,
.dmsv-comments__box .comment-notes a:visited,
.dmsv-comments__box .comment-reply-link,
.dmsv-comments__box .comment-reply-link:visited,
.dmsv-comments__box #cancel-comment-reply-link,
.dmsv-comments__box #cancel-comment-reply-link:visited,
.dmsv-comments__box .comment-author a,
.dmsv-comments__box .comment-author a:visited,
.dmsv-comments__box .comment-metadata a,
.dmsv-comments__box .comment-metadata a:visited {
    color: var(--accent-primary) !important;
}

.dmsv-comments__box .logged-in-as a:hover,
.dmsv-comments__box .comment-reply-link:hover,
.dmsv-comments__box #cancel-comment-reply-link:hover {
    color: var(--accent-secondary) !important;
}

.dmsv-comments__box {
    --dmhb-bg: transparent;
    --dmhb-surface: var(--bg-secondary);
    --dmhb-surface-2: var(--bg-primary);
    --dmhb-text: var(--text-primary);
    --dmhb-muted: var(--text-secondary);
    --dmhb-border: var(--border-color);
    --dmhb-accent: var(--accent-primary);
    --dmhb-accent-soft: var(--accent-secondary);
    --dmhb-radius: 16px;
    --dmhb-shadow: 0 12px 30px rgba(10, 25, 47, .14);
    margin-block-start: clamp(18px, 2.4vw, 30px);
}

/* ═══ ورود پلکانی با اسکرول ═══ */

.dmsv-reveal-ready .js-dmsv-reveal {
    opacity: 0;
    transform: translateY(30px) scale(.97);
    transition: opacity .55s ease, transform .55s cubic-bezier(.2, .7, .2, 1);
}

.dmsv-reveal-ready .js-dmsv-reveal.is-in {
    opacity: 1;
    transform: none;
}

.logged-in-as a {
    color: var(--accent-primary) !important;
}

/* ═══ ریسپانسیو ═══ */

@media (max-width: 991px) {
    .dmsv-hero {
        padding-block: 140px 100px;
    }

    .dmsv-hero__grid,
    .dmsv-answer__grid,
    .dmsv-brands__layout,
    .dmsv-why__grid,
    .dmsv-qpair__grid,
    .dmsv-faq__body {
        grid-template-columns: minmax(0, 1fr);
    }

    .dmsv-compare__plans {
        grid-template-columns: minmax(0, 1fr);
    }

    .dmsv-hero__visual {
        order: -1;
    }

    /* موبایل: ردیف دوستونی معنا ندارد، پس استک روی خودِ کارت‌ها می‌نشیند.
       ⚠ ظرف ردیف باید از چیدمان برداشته شود؛ عنصر چسبان فقط داخل جعبهٔ والدش می‌چسبد و
       تا وقتی هر کارت داخل ردیف خودش باشد، به‌محض تمام‌شدن آن ردیف رها می‌شود. */
    .dmsv-services__row {
        display: contents;
    }

    .dmsv-services__head {
        position: sticky;
        top: 88px;
        z-index: 30;
        margin-block-end: 18px;
        padding-block: 10px 14px;
        background-color: var(--bg-primary);
    }

    .dmsv-card {
        position: sticky;
        /* پله‌های کوچکِ پشت‌سرهم تا لبهٔ کارت زیرین دیده شود؛ عدد پایه = جای نشستن متن. */
        top: calc(210px + (var(--dmsv-i, 0) * 12px));
        z-index: calc(10 + var(--dmsv-i, 0));
        margin-block-end: 46px;
    }

    .dmsv-why__intro {
        position: static;
    }

    /* موبایل: کارت‌ها ساده زیر هم؛ هم‌ارتفاعی و دوردیفه‌بودن هر دو برداشته می‌شوند. */
    .dmsv-why__cards {
        grid-template-columns: minmax(0, 1fr);
        grid-auto-rows: auto;
    }

    .dmsv-why__card--tall {
        grid-row: auto;
    }

    .dmsv-support__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dmsv-faq__image {
        order: 0;
        max-width: 420px;
        aspect-ratio: 4 / 3;
    }

    .dmsv-quotes__item {
        flex-basis: calc((100% - clamp(16px, 2vw, 28px)) / 2);
    }

    .dmsv-card {
        min-height: 300px;
    }
}

@media (max-width: 640px) {
    .dmsv-quotes__item {
        flex-basis: 100%;
    }

    .dmsv-quotes__card,
    .dmsv-quotes__item.is-active .dmsv-quotes__card {
        transform: none;
        opacity: 1;
    }
}

@media (max-width: 575px) {
    .dmsv-why__cards,
    .dmsv-support__cards {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .dmsv-sec.dmsv-meld::before,
    .dmsv-sec.dmsv-meld::after,
    .dmsv-faq__track {
        animation: none;
    }

    .dmsv-hero__figure,
    .dmsv-hero__visual::before {
        transform: none;
        transition: none;
    }

    .dmsv-reveal-ready .js-dmsv-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
