@font-face {
    font-family: "Geologica";
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("../fonts/Geologica-cyrillic.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Geologica";
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("../fonts/Geologica-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --dv-site-width: 1440px;
    --dv-ink: #222222;
    --dv-muted: #6c6c6c;
    --dv-line: #e8e8e8;
    --dv-soft: #f5f3f0;
    --dv-orange: #eb7025;
    --dv-orange-dark: #d95f17;
    --dv-font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --dv-font-geologica: "Geologica", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

html {
    scroll-behavior: smooth;
}

body,
button,
input,
select,
textarea,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
label,
blockquote,
small,
strong,
.dv-layout-button,
.dv-layout-icon-box-title,
.dv-layout-icon-box-description,
.dv-layout-nav-menu a,
.site-footer {
    font-family: var(--dv-font-sans) !important;
}

body.home #rev_slider_1_1 rs-layer,
body.home #rev_slider_1_1 rs-layer * {
    font-family: var(--dv-font-sans) !important;
}

.dv-home,
.dv-home * {
    box-sizing: border-box;
}

.dv-home {
    color: var(--dv-ink);
    overflow: visible;
}

.dv-shell {
    width: min(var(--dv-site-width), calc(100% - 80px));
    margin: 0 auto;
}

body.home .site-header .dv-layout-section > .dv-layout-container,
body.home .dv-layout-204 .dv-layout-element-4a17baa > .dv-layout-container {
    width: 100%;
    max-width: var(--dv-site-width) !important;
}

@media (min-width: 1200px) {
    body.home #masthead .dv-layout-top-section > .dv-layout-container > .dv-layout-row > .dv-layout-top-column:nth-child(1),
    body.home #masthead .dv-layout-top-section > .dv-layout-container > .dv-layout-row > .dv-layout-top-column:nth-child(3) {
        width: 20%;
    }

    body.home #masthead .dv-layout-top-section > .dv-layout-container > .dv-layout-row > .dv-layout-top-column:nth-child(2) {
        width: 60%;
    }

    body.home #masthead .dv-layout-nav-menu--main > ul > li > a {
        padding-left: 10px;
        padding-right: 10px;
    }
}

.dv-section {
    position: relative;
}

.dv-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.dv-kicker {
    margin: 0 0 14px;
    color: var(--dv-orange);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.4;
    text-transform: uppercase;
}

.dv-section-heading {
    max-width: 760px;
    margin: 0 auto 54px;
    text-align: center;
}

.dv-section-heading h2,
.dv-lead__copy h2 {
    margin: 0;
    color: var(--dv-ink);
    font-size: clamp(36px, 4vw, 54px);
    font-weight: 600;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.dv-section-heading > p:last-child {
    max-width: 640px;
    margin: 20px auto 0;
    color: var(--dv-muted);
    font-size: 16px;
    line-height: 1.75;
}

.dv-section-heading--compact {
    max-width: 100%;
    margin-bottom: 42px;
    text-align: left;
}

.dv-section-heading--compact h2 {
    max-width: 760px;
}

.dv-categories {
    margin-top: 0;
    padding: 140px 40px 0 !important;
    background: #ffffff;
}

/* The following catalog section already provides the vertical rhythm. Avoid
   duplicating it below the benefits strip and remove its donor divider. */
body.home #advantages.dv-layout-element-6354bc6 {
    padding-bottom: 0 !important;
    border-bottom-width: 0 !important;
}

.dv-donor-heading.dv-categories__heading,
.dv-donor-heading.wd-services__heading {
    margin-bottom: 40px;
}

.dv-categories > .dv-layout-container {
    position: relative;
    left: 50%;
    width: min(var(--dv-site-width), calc(100vw - 80px)) !important;
    max-width: var(--dv-site-width) !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    transform: translateX(-50%);
}

.dv-categories .cats-total[hidden] {
    display: none !important;
}

/* Stretch the existing category link over the whole card while keeping one
   semantic link for mouse, touch and keyboard navigation. */
.dv-categories .product-cats {
    cursor: pointer;
}

.dv-categories .cats-title a::after {
    content: "";
    position: absolute;
    z-index: 4;
    inset: 0;
}

.dv-categories .cats-title a:focus-visible {
    outline: none;
}

.dv-categories .cats-title a:focus-visible::after {
    outline: 2px solid currentColor;
    outline-offset: -3px;
}

.dv-categories .dv-layout-element-f1c88a2 .cats-title a,
.dv-categories .dv-layout-element-f1c88a2 .cats-total {
    color: #ffffff !important;
}

/* Home 1 positions its static slide counter for the donor's 1710px canvas.
   Keep the same 10px edge offset on this site's 1440px canvas. */
@media (min-width: 1700px) {
    .dv-layout-204 #rev_slider_1_1 rs-static-layers .rs-parallax-wrap {
        left: calc(100% - 10px) !important;
    }
}

/* Revolution Slider keeps the donor color in data-bgcolor, but its local
   transparent canvas does not paint it. Restore the original slide surface. */
.dv-layout-204 #rev_slider_1_1 rs-slide,
.dv-layout-204 #rev_slider_1_1 rs-sbg-px,
.dv-layout-204 #rev_slider_1_1 rs-sbg-wrap,
.dv-layout-204 #rev_slider_1_1 rs-sbg {
    background-color: #d0e8e4 !important;
}

/* Door layers rise from below the canvas. Keep the off-canvas portion inside
   the hero instead of letting it pass over the following benefits section. */
body.home #rev_slider_1_1_wrapper,
body.home #rev_slider_1_1,
body.home #rev_slider_1_1 rs-slides,
body.home #rev_slider_1_1 rs-slide {
    overflow: hidden !important;
}

@media (max-width: 767px) {
    body.home #rev_slider_1_1 rs-static-layers {
        display: none !important;
    }
}

/* The lower Home 9 tile uses a 520px-wide image inside a slightly wider
   responsive column. Match the image canvas so no white seam appears. */
.dv-categories .dv-layout-element.dv-layout-element-1bfd3ea:not(.dv-layout-motion-effects-element-type-background) > .dv-layout-column-wrap {
    background-color: #e5dcd1;
}

/* Keep the Home 9 product-group mosaic compact: 520px total on desktop. */
@media (min-width: 1025px) {
    .dv-categories .dv-layout-element-128e102 .cats-image,
    .dv-categories .dv-layout-element-128e102 .cats-image img {
        height: 520px;
    }

    .dv-categories .dv-layout-element-f1c88a2 .cats-image,
    .dv-categories .dv-layout-element-f1c88a2 .cats-image img,
    .dv-categories .dv-layout-element-bd42dfa .cats-image,
    .dv-categories .dv-layout-element-bd42dfa .cats-image img {
        height: 245px;
    }

    .dv-categories .cats-image img {
        width: 100%;
        object-fit: cover;
        object-position: center;
    }

    .dv-categories .dv-layout-element-128e102 .cats-image img {
        object-fit: contain;
        object-position: center bottom;
    }

    .dv-categories .dv-layout-element-bd42dfa .cats-image img {
        object-fit: cover;
        object-position: 95% 95%;
        transform: none;
        transform-origin: right bottom;
    }

    .dv-categories .dv-layout-element-bd42dfa .product-cats:hover .cats-image img {
        transform: scale(1.03);
    }
}

/* Calm, staggered motion shared by the production blocks. The root class is
   set in the document head, so elements never flash before becoming hidden. */
@media (prefers-reduced-motion: no-preference) {
    .dv-motion-enabled [data-dv-reveal] {
        opacity: 0;
        transform: translate3d(0, 18px, 0);
        transition:
            opacity 680ms cubic-bezier(.22, 1, .36, 1),
            transform 680ms cubic-bezier(.22, 1, .36, 1);
        transition-delay: 0ms;
        will-change: opacity, transform;
    }

    .dv-motion-enabled [data-dv-reveal-delay="1"] {
        transition-delay: 90ms;
    }

    .dv-motion-enabled [data-dv-reveal-delay="2"] {
        transition-delay: 180ms;
    }

    .dv-motion-enabled [data-dv-reveal-delay="3"] {
        transition-delay: 270ms;
    }

    .dv-motion-enabled [data-dv-reveal].is-revealed {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        will-change: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-dv-reveal] {
        opacity: 1 !important;
        transform: none !important;
    }
}

@media (max-width: 767px) {
    .dv-categories {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    .dv-categories > .dv-layout-container {
        width: calc(100vw - 40px) !important;
    }
}

.dv-category-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.54fr) minmax(360px, 1fr);
    grid-template-rows: repeat(2, minmax(270px, 1fr));
    gap: 30px;
    min-height: 680px;
}

.dv-category-card {
    position: relative;
    display: block;
    min-height: 0;
    overflow: hidden;
    background: #e7edf0;
    color: var(--dv-ink);
    isolation: isolate;
}

.dv-category-card--large {
    grid-row: 1 / 3;
    background: #f1f1f1;
}

.dv-category-card--hardware {
    background: #f1e3d5;
}

.dv-category-card img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .65s cubic-bezier(.2, .6, .25, 1);
}

.dv-category-card::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    content: "";
    background: linear-gradient(100deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.58) 32%, rgba(255,255,255,0) 66%);
    pointer-events: none;
}

.dv-category-card__content {
    position: absolute;
    top: 48px;
    left: 48px;
    display: flex;
    flex-direction: column;
    max-width: 52%;
}

.dv-category-card__title {
    font-size: clamp(24px, 2vw, 32px);
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.15;
}

.dv-category-card__meta {
    margin-top: 10px;
    color: #666666;
    font-size: 15px;
    line-height: 1.45;
}

.dv-category-card__arrow {
    position: absolute;
    right: 34px;
    bottom: 30px;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(34,34,34,.28);
    border-radius: 50%;
    font-size: 21px;
    transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease;
}

.dv-category-card:hover,
.dv-category-card:focus {
    color: var(--dv-ink);
}

.dv-category-card:hover img,
.dv-category-card:focus img {
    transform: scale(1.035);
}

.dv-category-card:hover .dv-category-card__title,
.dv-category-card:focus .dv-category-card__title {
    color: var(--dv-orange);
}

.dv-category-card:hover .dv-category-card__arrow,
.dv-category-card:focus .dv-category-card__arrow {
    border-color: var(--dv-orange);
    background: var(--dv-orange);
    color: #ffffff;
    transform: translateX(4px);
}

.dv-benefits {
    padding: 126px 0;
    border-top: 1px solid var(--dv-line);
    border-bottom: 1px solid var(--dv-line);
    background: #ffffff;
}

.dv-benefits__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.dv-benefit {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding: 12px 30px;
    text-align: center;
}

.dv-benefit__icon {
    display: grid;
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    margin-bottom: 24px;
    place-items: center;
    color: var(--dv-orange);
    font-size: 50px;
}

.dv-benefit h3 {
    margin: 0 0 7px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}

.dv-benefit p {
    margin: 0;
    color: var(--dv-muted);
    font-size: 14px;
    line-height: 1.45;
}

.dv-lead {
    padding: 96px 0;
    border-bottom: 1px solid var(--dv-line);
    background: #ffffff;
}

.dv-lead__inner {
    max-width: var(--dv-site-width);
}

.dv-lead__copy {
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
}

.dv-lead__copy h2 {
    font-size: clamp(36px, 4vw, 44px);
    line-height: 1.15;
}

.dv-lead__copy > p:last-child {
    margin: 16px auto 0;
    color: var(--dv-muted);
    font-size: 15px;
    line-height: 1.65;
}

.dv-lead-form {
    margin-top: 40px;
}

.dv-lead-form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1.2fr .86fr;
    align-items: end;
    gap: 14px;
}

.dv-lead-form label {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin: 0;
}

.dv-lead-form label > span {
    color: #454545;
    font-size: 13px;
    font-weight: 700;
}

.dv-lead-form input,
.dv-lead-form select {
    width: 100%;
    height: 54px;
    margin: 0;
    padding: 0 18px;
    border: 1px solid #dedede;
    border-radius: 0;
    background: #ffffff;
    color: var(--dv-ink);
    font: inherit;
    font-size: 15px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.dv-lead-form input:focus,
.dv-lead-form select:focus {
    border-color: var(--dv-orange);
    box-shadow: 0 0 0 3px rgba(235,112,37,.12);
}

.dv-lead-form button {
    min-height: 54px;
    margin: 0;
    border: 1px solid var(--dv-ink);
    border-radius: 0;
    background: var(--dv-ink);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
    transition: border-color .25s ease, background-color .25s ease;
}

.dv-lead-form button:hover,
.dv-lead-form button:focus {
    border-color: var(--dv-orange);
    background: var(--dv-orange);
}

.dv-lead-form__privacy {
    margin: 14px 0 0;
    color: #929292;
    font-size: 11px;
    line-height: 1.5;
    text-align: center;
}

.dv-lead-form__status {
    min-height: 21px;
    margin: 8px 0 0;
    color: #2d7a45;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.dv-payments {
    padding: 112px 0 118px;
    background: #ffffff;
}

.dv-payments__heading {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(320px, .62fr);
    align-items: end;
    gap: 80px;
    margin-bottom: 48px;
}

.dv-payments__heading h2 {
    margin: 0;
    color: var(--dv-ink);
    font-size: 52px;
    font-weight: 600;
    letter-spacing: -.04em;
    line-height: 1.08;
}

.dv-payments__heading > p {
    max-width: 520px;
    margin: 0 0 3px auto;
    color: var(--dv-muted);
    font-size: 16px;
    line-height: 1.7;
}

.dv-payments__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
}

.dv-payment-option {
    position: relative;
    display: grid;
    min-height: 260px;
    grid-template-columns: 72px minmax(0, 1fr);
    grid-template-rows: 1fr auto;
    column-gap: 28px;
    padding: 38px 40px 34px;
    border: 1px solid #e1e1e1;
    background: #f3f3f3;
}

.dv-payment-option::before {
    position: absolute;
    top: -1px;
    right: -1px;
    left: -1px;
    height: 4px;
    background: var(--dv-orange);
    content: "";
}

.dv-payment-option__icon {
    display: grid;
    width: 72px;
    height: 72px;
    place-items: center;
    border: 1px solid #cfcfcf;
    background: #ffffff;
    color: var(--dv-ink);
    font-size: 28px;
    font-weight: 600;
}

.dv-payment-option__copy > span {
    display: block;
    margin-bottom: 9px;
    color: var(--dv-orange-dark);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.3;
    text-transform: uppercase;
}

.dv-payment-option h3 {
    margin: 0 0 12px;
    color: var(--dv-ink);
    font-size: 29px;
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.1;
}

.dv-payment-option p {
    max-width: 480px;
    margin: 0;
    color: var(--dv-muted);
    font-size: 15px;
    line-height: 1.65;
}

.dv-payment-option a {
    display: inline-flex;
    grid-column: 2;
    align-items: center;
    gap: 16px;
    justify-self: start;
    margin-top: 24px;
    color: var(--dv-ink);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.dv-payment-option a span {
    color: var(--dv-orange);
    font-size: 19px;
    transition: transform .2s ease;
}

.dv-payment-option a:hover,
.dv-payment-option a:focus {
    color: var(--dv-orange);
}

.dv-payment-option a:hover span,
.dv-payment-option a:focus span {
    transform: translateX(5px);
}

.wd-services {
    position: relative;
    left: 50%;
    width: 100vw;
    padding: 140px 0 0;
    background: #ffffff;
    transform: translateX(-50%);
}

.wd-services,
.wd-services * {
    box-sizing: border-box;
}

.wd-services__grid {
    display: grid;
    width: min(var(--dv-site-width), calc(100% - 80px));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    margin: 0 auto;
}

.wd-service-card {
    display: grid;
    grid-template-columns: minmax(0, 68%) minmax(0, 32%);
    min-width: 0;
    min-height: 315px;
    overflow: hidden;
}

.wd-service-card--delivery {
    background-color: #f3f3f3;
    background-image:
        linear-gradient(90deg, rgba(243, 243, 243, 1) 0%, rgba(243, 243, 243, .98) 54%, rgba(243, 243, 243, .72) 67%, rgba(243, 243, 243, 0) 80%),
        url("../images/services/door-delivery.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #222222;
}

.wd-service-card__content {
    display: flex;
    min-height: 315px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 44px 12px 44px 48px;
}

.wd-service-card__media {
    width: 100%;
    min-height: 315px;
}

.wd-service-card h2 {
    margin: 0;
    padding: 0;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -.7px;
    line-height: 28px;
    white-space: nowrap;
}

.wd-service-card--delivery h2 {
    color: #222222;
}

.wd-service-card p {
    width: 100%;
    max-width: 420px;
    min-height: 78px;
    margin: 10px 0 18px;
    color: #777777;
    font-size: 15px;
    line-height: 26px;
}

.wd-service-card--installation {
    background-color: #f3f3f3;
    background-image:
        linear-gradient(90deg, rgba(243, 243, 243, 1) 0%, rgba(243, 243, 243, .98) 54%, rgba(243, 243, 243, .72) 67%, rgba(243, 243, 243, 0) 80%),
        url("../images/services/door-installation.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.wd-service-card--installation h2 {
    max-width: none;
    color: #222222;
}

.wd-service-card--measurement {
    background-color: #f3f3f3;
    background-image:
        linear-gradient(90deg, rgba(243, 243, 243, 1) 0%, rgba(243, 243, 243, .98) 54%, rgba(243, 243, 243, .72) 67%, rgba(243, 243, 243, 0) 80%),
        url("../images/door-installation-measure-v1.webp");
    background-position: center 54%;
    background-repeat: no-repeat;
    background-size: cover;
}

.wd-service-card--measurement h2 {
    color: #222222;
}

.wd-service-card--preparation {
    background-color: #f3f3f3;
    background-image:
        linear-gradient(90deg, rgba(243, 243, 243, 1) 0%, rgba(243, 243, 243, .98) 54%, rgba(243, 243, 243, .72) 67%, rgba(243, 243, 243, 0) 80%),
        url("../images/services/door-preparation-card-v1.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.wd-service-card--preparation h2 {
    color: #222222;
}

.wd-service-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    padding: 14px 36px;
    border: 0;
    border-radius: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 21px;
    text-align: center;
    text-decoration: none;
    transition: background-color .25s ease, color .25s ease;
}

.wd-service-card__button--neutral {
    background: #222222;
    color: #ffffff;
}

.wd-service-card__button--neutral:hover,
.wd-service-card__button--neutral:focus {
    background: #ffd8d4;
    color: #222222;
}

.wd-testimonials {
    position: relative;
    left: 50%;
    width: 100vw;
    overflow: hidden;
    background: #ffffff;
    color: #1a0c01;
    transform: translateX(-50%);
}

.wd-testimonials,
.wd-testimonials * {
    box-sizing: border-box;
    font-family: var(--dv-font-geologica) !important;
}

.wd-testimonials .ph {
    font-family: "Phosphor" !important;
}

.wd-testimonials .fa,
.dv-review-modal .fa {
    font-family: "FontAwesome" !important;
}

.wd-testimonials__inner {
    width: min(var(--dv-site-width), calc(100vw - 80px));
    max-width: var(--dv-site-width);
    margin: 0 auto;
    padding: 140px 0 120px;
}

.dv-donor-heading {
    display: block;
    width: min(100%, 1040px);
    margin: 0 auto;
    text-align: center !important;
}

.dv-donor-heading,
.dv-donor-heading * {
    font-family: "Eina03", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.dv-donor-heading__title {
    margin: 0 0 18px;
    padding: 0;
    color: #222222;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 50px;
    text-align: center !important;
}

.dv-donor-heading__description {
    margin: 0;
    padding: 0;
    color: #666666;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 24px;
    text-align: center !important;
}

.wd-testimonials__slider {
    margin-top: 40px;
}

.wd-testimonials__viewport {
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
}

.wd-testimonials__viewport.is-dragging {
    cursor: grabbing;
}

.wd-testimonials__track {
    display: flex;
    align-items: stretch;
    gap: 30px;
    will-change: transform;
    transition: transform .6s ease;
}

.wd-testimonials__track.is-jumping,
.wd-testimonials__track.is-dragging {
    transition: none;
}

.wd-testimonial-card {
    position: relative;
    display: flex;
    flex: 0 0 calc((100% - 30px) / 2);
    min-width: 0;
    min-height: 392px;
    flex-direction: column;
    margin: 8px 0 0;
    padding: 58px;
    background: #f3f3f3;
    color: #1a0c01;
}

.wd-testimonial-card--peach {
    background: #f8ddc9;
}

.wd-testimonial-card--sage {
    background: #c3d0c1;
}

.wd-testimonial-card--ice {
    background: #e6f4f7;
}

.wd-testimonial-card--slate {
    background: #5a6b85;
    color: #ffffff;
}

.wd-testimonial-card--slate .wd-testimonial-card__quote,
.wd-testimonial-card--slate .wd-testimonial-card__text,
.wd-testimonial-card--slate .wd-testimonial-card__author h3 {
    color: #ffffff;
}

.wd-testimonial-card--slate .wd-testimonial-card__author p {
    color: rgba(255, 255, 255, .76);
}

.wd-testimonial-card__quote {
    display: inline-flex;
    height: 32px;
    align-items: center;
    margin: 0 0 20px;
    color: #c19a5b;
    font-size: 38px;
    line-height: 1;
}

.wd-testimonial-card__text {
    flex: 1;
    margin: 0;
    color: #1a0c01;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.78;
}

.wd-testimonial-card__author {
    display: flex;
    align-items: center;
    margin-top: 26px;
}

.wd-testimonial-card__author img {
    display: block;
    flex: 0 0 78px;
    width: 78px;
    height: 78px;
    margin-right: 14px;
    border-radius: 50%;
    object-fit: cover;
}

.wd-testimonial-card__author h3 {
    margin: 0;
    color: #1a0c01;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3;
}

.wd-testimonial-card__author p {
    margin: 6px 0 0;
    color: #817870;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.333;
}

.wd-testimonials__pagination {
    display: flex;
    height: 26px;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 17px;
}

.wd-testimonials__pagination button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 2px solid #dddad7;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    opacity: .8;
    transition: border-color .2s ease, background-color .2s ease, opacity .2s ease;
}

.wd-testimonials__pagination button.is-active {
    border-color: #c19a5b;
    background: #c19a5b;
    opacity: 1;
}

.wd-testimonials__review-action {
    display: flex;
    justify-content: center;
    margin-top: 38px;
}

.wd-testimonials__review-button {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 25px;
    border: 1px solid #222222;
    border-radius: 0;
    background: #222222;
    color: #ffffff;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

.wd-testimonials__review-button .fa {
    color: #eb7025;
    font-size: 15px;
    transition: color .2s ease, transform .2s ease;
}

.wd-testimonials__review-button:hover,
.wd-testimonials__review-button:focus-visible {
    border-color: #eb7025;
    background: #eb7025;
    color: #ffffff;
    transform: translateY(-2px);
}

.wd-testimonials__review-button:hover .fa,
.wd-testimonials__review-button:focus-visible .fa {
    color: #ffffff;
    transform: rotate(-8deg);
}

.wd-testimonials__review-button:focus-visible {
    outline: 2px solid #eb7025;
    outline-offset: 4px;
}

.dv-review-modal .dv-callback-modal__dialog {
    max-height: none;
    overflow: hidden;
}

.dv-review-modal .dv-callback-modal__form-panel {
    padding: 36px 42px 30px;
}

.dv-review-modal .dv-callback-modal__title {
    margin-bottom: 22px;
}

.dv-review-modal .dv-review-form {
    gap: 14px;
}

.dv-review-modal .dv-callback-form__field textarea {
    min-height: 96px;
    resize: none;
}

.dv-review-modal .dv-callback-form__field.is-invalid input,
.dv-review-modal .dv-callback-form__field.is-invalid textarea {
    border-color: #c93d2b;
}

.dv-review-modal .dv-callback-form__submit .ph {
    font-family: "Phosphor" !important;
    font-size: 14px;
}

@media (max-width: 760px) {
    .dv-review-modal {
        align-items: center;
        padding: 10px;
    }

    .dv-review-modal .dv-callback-modal__dialog {
        max-height: none;
    }

    .dv-review-modal .dv-callback-modal__form-panel {
        padding: 24px 18px 18px;
    }

    .dv-review-modal .dv-callback-modal__title {
        margin: 0 44px 16px 0;
        font-size: 24px;
    }

    .dv-review-modal .dv-review-form,
    .dv-review-modal .dv-callback-form__fields {
        gap: 10px;
    }

    .dv-review-modal .dv-callback-form__field {
        gap: 5px;
    }

    .dv-review-modal .dv-callback-form__field input {
        height: 44px;
    }

    .dv-review-modal .dv-callback-form__field textarea {
        min-height: 78px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .dv-review-modal .dv-callback-form__consent {
        font-size: 11px;
        line-height: 1.4;
    }

    .dv-review-modal .dv-callback-form__submit {
        min-height: 48px;
    }

    .dv-review-modal .dv-callback-form__legal {
        font-size: 10px;
        line-height: 1.4;
    }
}

.wd-cta {
    position: relative;
    left: 50%;
    width: min(var(--dv-site-width), calc(100vw - 80px));
    overflow: hidden;
    margin-bottom: 72px;
    background: #ffd8d4;
    color: #222222;
    transform: translateX(-50%);
}

.wd-cta,
.wd-cta * {
    box-sizing: border-box;
    font-family: var(--dv-font-geologica) !important;
}

.wd-cta__inner {
    display: flex;
    width: 100%;
    min-height: 196px;
    align-items: center;
    padding: 0 50px;
}

.wd-cta__copy {
    flex: 0 0 75%;
    min-width: 0;
}

.wd-cta__copy h2 {
    max-width: none;
    margin: 0;
    padding: 0;
    color: #222222;
    font-family: var(--dv-font-sans) !important;
    font-size: 30px;
    font-weight: 600;
    letter-spacing: -1px;
    line-height: 1.086;
    white-space: nowrap;
}

.wd-cta__buttons {
    display: flex;
    flex: 0 0 25%;
    align-items: center;
    justify-content: flex-end;
    gap: 34px;
}

.wd-cta__button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 21px;
    text-decoration: none;
    transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

.wd-cta__button--solid {
    padding: 19px 42px;
    border: 0;
    background: #181818;
    color: #f6f5ed;
}

.wd-cta__button--outline {
    padding: 17px 40px;
    border: 2px solid #181818;
    background: transparent;
    color: #181818;
}

.wd-cta__button--solid:hover,
.wd-cta__button--solid:focus {
    background: #ffffff;
    color: #181818;
}

.wd-cta__button--outline:hover,
.wd-cta__button--outline:focus {
    background: #181818;
    color: #f6f5ed;
}

.dv-seo-copy {
    position: relative;
    left: 50%;
    width: 100vw;
    background: #ffffff;
    color: #222222;
    transform: translateX(-50%);
}

.dv-seo-copy,
.dv-seo-copy * {
    box-sizing: border-box;
    font-family: var(--dv-font-sans) !important;
}

.dv-seo-copy .ph {
    font-family: "Phosphor" !important;
}

.dv-seo-copy__inner {
    width: min(920px, calc(100% - 80px));
    margin: 0 auto;
    padding: 0 0 100px;
}

.dv-seo-copy h1 {
    margin: 0 0 20px;
    color: #222222;
    font-size: 29px;
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.3;
}

.dv-seo-copy h2 {
    margin: 34px 0 14px;
    color: #222222;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -.015em;
    line-height: 1.35;
}

.dv-seo-copy h3 {
    margin: 22px 0 8px;
    color: #222222;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.45;
}

.dv-seo-copy p {
    margin: 0 0 16px;
    color: #6d6d6d;
    font-size: 15px;
    line-height: 1.85;
}

.dv-seo-copy__intro {
    padding-left: 0;
}

.dv-seo-copy__more {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height .45s ease, opacity .3s ease, visibility 0s linear .45s;
}

.dv-seo-copy__more.is-open {
    max-height: 6000px;
    opacity: 1;
    visibility: visible;
    transition: max-height .55s ease, opacity .35s ease;
}

.dv-seo-copy__more p:first-child {
    padding-top: 4px;
}

.dv-seo-copy strong {
    color: #333333;
    font-weight: 600;
}

.dv-seo-copy a {
    color: #222222;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.dv-door-guide {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 0 42px;
}

.dv-door-guide__item {
    position: relative;
    display: block;
    min-height: 178px;
    padding: 28px 30px 26px 0;
    border-bottom: 1px solid #dedede;
}

.dv-door-guide__item:nth-child(odd) {
    padding-right: 34px;
    border-right: 1px solid #dedede;
}

.dv-door-guide__item:nth-child(even) {
    padding-left: 34px;
}

.dv-door-guide__item:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.dv-door-guide__item h3 {
    margin: 0 0 10px;
    font-size: 17px;
}

.dv-door-guide__item p {
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
}

.dv-choice-steps {
    display: block;
    margin: 0 0 42px;
    padding: 0;
    color: #666666;
    font-size: 14px;
    line-height: 1.7;
    list-style: none;
}

.dv-choice-steps li {
    position: relative;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    min-height: 104px;
    align-items: center;
    margin: 0;
    padding: 24px 0;
    border-top: 1px solid #dedede;
}

.dv-choice-steps li:first-child {
    border-top: 0;
}

.dv-choice-steps__icon {
    display: inline-flex;
    grid-column: 1;
    align-items: center;
    justify-content: flex-start;
    color: #a98d68;
    font-size: 34px;
}

.dv-choice-steps__content {
    display: block;
    grid-column: 2;
}

.dv-choice-steps__content strong,
.dv-choice-steps__content > span {
    display: block;
}

.dv-choice-steps__content strong {
    margin-bottom: 5px;
    color: #222222;
    font-size: 16px;
    line-height: 1.35;
}

.dv-choice-steps__content > span {
    color: #666666;
    line-height: 1.7;
}

.dv-seo-copy__service-note {
    margin: 38px 0 42px;
    padding: 30px 32px 28px;
    background: #fffce8;
}

.dv-seo-copy__service-note h2 {
    margin-top: 0;
}

.dv-seo-copy__service-note p:last-child {
    margin-bottom: 0;
}

.dv-seo-copy__faq {
    margin-top: 42px;
}

.dv-seo-copy__faq > h2 {
    margin-bottom: 8px;
}

.dv-seo-copy__faq-intro {
    margin-bottom: 22px !important;
}

.dv-seo-copy__faq-list {
    display: block;
}

.dv-seo-copy__faq-list details {
    margin: 0;
    border: 0;
    border-bottom: 1px solid #dedede;
    background: transparent;
}

.dv-seo-copy__faq-list details:last-child {
    border-bottom: 0;
}

.dv-seo-copy__faq-list summary {
    position: relative;
    display: flex;
    min-height: 78px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 8px 22px 0;
    color: #222222;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    list-style: none;
    cursor: pointer;
}

.dv-seo-copy__faq-list summary::-webkit-details-marker {
    display: none;
}

.dv-seo-copy__faq-icon {
    display: inline-flex;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    color: #222222;
    font-size: 22px;
}

.dv-seo-copy__faq-icon .ph-minus {
    display: none;
}

.dv-seo-copy__faq-list details[open] .dv-seo-copy__faq-icon .ph-plus {
    display: none;
}

.dv-seo-copy__faq-list details[open] .dv-seo-copy__faq-icon .ph-minus {
    display: inline-block;
}

.dv-seo-copy__faq-list summary:hover,
.dv-seo-copy__faq-list summary:focus-visible {
    color: #a27844;
    background: transparent;
}

.dv-seo-copy__faq-list summary:focus-visible {
    outline: 1px solid #222222;
    outline-offset: -1px;
}

.dv-seo-copy__faq-list details > div {
    max-width: 780px;
    padding: 0 56px 28px 0;
}

.dv-seo-copy__faq-list details p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
}

.dv-seo-copy__closing {
    margin-top: 24px !important;
    color: #333333 !important;
}

.dv-seo-copy__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    padding: 13px 28px;
    border: 1px solid #222222;
    border-radius: 0;
    background: transparent;
    color: #222222;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    cursor: pointer;
    transition: background-color .25s ease, color .25s ease;
}

.dv-seo-copy__toggle:hover,
.dv-seo-copy__toggle:focus-visible {
    background: #222222;
    color: #ffffff;
}

@media (max-width: 1180px) {
    .dv-category-grid {
        grid-template-columns: 1.25fr 1fr;
    }

    .dv-benefits__grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 58px;
    }

    .dv-lead-form__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 960px) {
    .dv-shell {
        width: min(100% - 48px, 1440px);
    }

    .dv-payments {
        padding-top: 92px;
        padding-bottom: 100px;
    }

    .dv-payments__heading {
        grid-template-columns: 1fr 1fr;
        gap: 45px;
    }

    .dv-payments__heading h2 {
        font-size: 42px;
    }

    .dv-category-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 460px 310px;
        min-height: 0;
    }

    .dv-categories {
        margin-top: 0;
    }

    .dv-category-card--large {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .dv-lead {
        padding: 82px 0;
    }

    .dv-payment-option {
        min-height: 280px;
        grid-template-columns: 58px minmax(0, 1fr);
        column-gap: 20px;
        padding: 32px 28px 30px;
    }

    .dv-payment-option__icon {
        width: 58px;
        height: 58px;
        font-size: 24px;
    }

    .wd-services {
        padding: 140px 0 0;
    }

    .wd-services__grid {
        width: calc(100% - 60px);
    }

    .wd-service-card__content {
        padding-right: 35px;
        padding-left: 35px;
    }

    .wd-service-card h2,
    .wd-service-card--delivery h2,
    .wd-service-card--installation h2,
    .wd-service-card--measurement h2,
    .wd-service-card--preparation h2 {
        font-size: 21px;
        letter-spacing: -.4px;
        line-height: 25px;
    }

    .wd-testimonials__inner {
        width: min(var(--dv-site-width), calc(100vw - 80px));
        padding: 140px 0 80px;
    }

    .dv-donor-heading__title {
        font-size: 36px;
        line-height: 46px;
    }

    .wd-testimonials__slider {
        margin-top: 40px;
    }

    .wd-testimonial-card {
        min-height: 348px;
        padding: 35px;
    }

    .wd-testimonial-card__quote {
        margin-bottom: 15px;
    }

    .wd-testimonial-card__text {
        font-size: 17px;
        line-height: 1.78;
    }

    .wd-testimonial-card__author {
        margin-top: 20px;
    }

    .wd-testimonial-card__author img {
        flex-basis: 60px;
        width: 60px;
        height: 60px;
    }

    .wd-cta__inner {
        width: 100%;
        min-height: 202px;
        padding: 0 30px;
    }

    .wd-cta__copy {
        flex-basis: 46%;
    }

    .wd-cta__copy h2 {
        max-width: 303px;
        font-size: 25px;
        letter-spacing: -.7px;
        line-height: 29px;
        white-space: normal;
    }

    .wd-cta__buttons {
        flex-basis: 54%;
        flex-direction: column;
        align-items: flex-end;
        gap: 10px;
    }

    .wd-cta__button--solid {
        padding: 15px 36px;
    }

    .wd-cta__button--outline {
        padding: 13px 34px;
    }
}

@media (max-width: 767px) {
    .wd-services {
        padding: 140px 0 0;
    }

    .wd-services__grid {
        display: block;
        width: calc(100% - 55px);
    }

    .wd-service-card + .wd-service-card {
        margin-top: 30px;
    }

    .wd-service-card,
    .wd-service-card__content {
        min-height: 245px;
    }

    .wd-service-card {
        display: block;
    }

    .wd-service-card--delivery {
        background-image:
            linear-gradient(90deg, rgba(243, 243, 243, .98) 0%, rgba(243, 243, 243, .96) 72%, rgba(243, 243, 243, .48) 100%),
            url("../images/services/door-delivery.webp");
    }

    .wd-service-card--installation {
        background-image:
            linear-gradient(90deg, rgba(243, 243, 243, .98) 0%, rgba(243, 243, 243, .96) 72%, rgba(243, 243, 243, .48) 100%),
            url("../images/services/door-installation.webp");
    }

    .wd-service-card--measurement {
        background-image:
            linear-gradient(90deg, rgba(243, 243, 243, .98) 0%, rgba(243, 243, 243, .96) 72%, rgba(243, 243, 243, .48) 100%),
            url("../images/door-installation-measure-v1.webp");
    }

    .wd-service-card--preparation {
        background-image:
            linear-gradient(90deg, rgba(243, 243, 243, .98) 0%, rgba(243, 243, 243, .96) 72%, rgba(243, 243, 243, .48) 100%),
            url("../images/services/door-preparation-card-v1.webp");
    }

    .wd-service-card__media {
        display: none;
    }

    .wd-service-card__content {
        justify-content: center;
        padding: 35px 25px 40px;
    }

    .wd-service-card h2,
    .wd-service-card--delivery h2,
    .wd-service-card--installation h2,
    .wd-service-card--measurement h2,
    .wd-service-card--preparation h2 {
        font-size: 18px;
        letter-spacing: -.3px;
        line-height: 22px;
    }

    .wd-service-card--delivery p,
    .wd-service-card--installation p,
    .wd-service-card--measurement p,
    .wd-service-card--preparation p {
        min-height: 79px;
        margin: 8px 0 16px;
        font-size: 15px;
        line-height: 26.352px;
    }

    .wd-service-card__button {
        margin-bottom: 0;
        padding: 10px 28px;
        font-size: 14px;
    }

    .wd-testimonials__track {
        gap: 20px;
    }

    .wd-testimonials__inner {
        width: min(var(--dv-site-width), calc(100vw - 80px));
    }

    .wd-testimonial-card {
        flex-basis: 100%;
    }

    .wd-cta__inner {
        display: block;
        width: 100%;
        min-height: 0;
        padding: 30px 25px;
    }

    .wd-cta {
        margin-bottom: 44px;
    }

    .wd-cta__copy,
    .wd-cta__buttons {
        width: 100%;
    }

    .wd-cta__copy h2 {
        max-width: 303px;
        font-size: 21px;
        letter-spacing: -.4px;
        line-height: 24px;
    }

    .wd-cta__buttons {
        align-items: flex-start;
        margin-top: 15px;
    }

    .wd-cta__button--solid {
        padding: 13px 32px;
    }

    .wd-cta__button--outline {
        padding: 11px 30px;
    }

    .dv-seo-copy__inner {
        width: calc(100% - 50px);
        padding-bottom: 72px;
    }

    .dv-seo-copy h1 {
        font-size: 24px;
    }

    .dv-seo-copy h2 {
        font-size: 20px;
    }

    .dv-seo-copy__more.is-open {
        max-height: 8000px;
    }

    .dv-door-guide {
        grid-template-columns: 1fr;
    }

    .dv-door-guide__item,
    .dv-door-guide__item:nth-child(odd),
    .dv-door-guide__item:nth-child(even) {
        min-height: 0;
        padding: 24px 0;
        border-right: 0;
    }

    .dv-door-guide__item:nth-child(3) {
        border-bottom: 1px solid #dedede;
    }

    .dv-door-guide__item:last-child {
        border-bottom: 0;
    }

    .dv-choice-steps li {
        grid-template-columns: 58px minmax(0, 1fr);
        min-height: 0;
        padding: 22px 0;
    }

    .dv-choice-steps__icon {
        font-size: 29px;
    }

    .dv-seo-copy__service-note {
        padding: 25px 22px 22px;
    }
}

@media (max-width: 640px) {
    .dv-shell {
        width: calc(100% - 40px);
    }

    .dv-kicker {
        margin-bottom: 10px;
        font-size: 11px;
    }

    .dv-section-heading {
        margin-bottom: 36px;
    }

    .dv-section-heading h2,
    .dv-lead__copy h2 {
        font-size: 34px;
    }

    .dv-payments {
        padding-top: 68px;
        padding-bottom: 74px;
    }

    .dv-payments__heading {
        display: block;
        margin-bottom: 30px;
    }

    .dv-payments__heading h2 {
        font-size: 34px;
    }

    .dv-payments__heading > p {
        margin: 18px 0 0;
        font-size: 15px;
    }

    .dv-category-grid {
        display: flex;
        min-height: 0;
        flex-direction: column;
        gap: 18px;
    }

    .dv-categories {
        margin-top: 0;
    }

    .dv-category-card,
    .dv-category-card--large {
        min-height: 330px;
    }

    .dv-category-card__content {
        top: 28px;
        left: 28px;
        max-width: 72%;
    }

    .dv-category-card__title {
        font-size: 24px;
    }

    .dv-category-card__arrow {
        right: 24px;
        bottom: 22px;
        width: 42px;
        height: 42px;
    }

    .dv-benefits__grid {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 0;
        width: 100%;
    }

    .dv-benefit {
        min-height: 0;
        padding: 34px 20px;
    }

    .dv-benefit + .dv-benefit {
        border-top: 1px solid var(--dv-line);
    }

    .dv-benefit__icon {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
        font-size: 40px;
    }

    .dv-lead {
        padding: 68px 0;
    }

    .dv-lead__inner {
        width: calc(100% - 40px);
    }

    .dv-lead__copy > p:last-child {
        margin-top: 18px;
        font-size: 15px;
    }

    .dv-lead-form {
        margin-top: 30px;
    }

    .dv-lead-form__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .dv-payments__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .dv-payment-option {
        min-height: 0;
        grid-template-columns: 52px minmax(0, 1fr);
        column-gap: 18px;
        padding: 30px 22px 28px;
    }

    .dv-payment-option__icon {
        width: 52px;
        height: 52px;
        font-size: 22px;
    }

    .dv-payment-option h3 {
        font-size: 25px;
    }

    .dv-payment-option a {
        margin-top: 20px;
    }

    .wd-testimonials__inner {
        width: min(var(--dv-site-width), calc(100vw - 80px));
        padding: 140px 0 54px;
    }

    .dv-donor-heading__title {
        margin-bottom: 18px;
        font-size: 32px;
        line-height: 39px;
    }

    .dv-donor-heading__description {
        font-size: 14px;
        line-height: 24px;
    }

    .wd-testimonials__slider {
        margin-top: 40px;
    }

    .wd-testimonials__track {
        gap: 20px;
    }

    .wd-testimonial-card {
        flex-basis: 100%;
        min-height: 0;
        padding: 30px;
    }
}

/* Restored from the approved pre-WordPress backup. Keep only the layout
   primitives used by the benefits strip and the product-group mosaic. */
#advantages,
.dv-categories {
    color: #666666;
    font-size: 14px;
    line-height: 28px;
}

body.home #advantages.dv-layout-element-6354bc6 {
    box-sizing: border-box;
    padding-top: 80px !important;
}

#advantages .dv-layout-widget-icon-box .dv-layout-icon {
    display: inline-block;
    color: #818a91;
    font-size: 50px;
    line-height: 1;
    text-align: center;
    transition: color .3s ease;
}

#advantages .dv-layout-widget-icon-box .dv-layout-icon svg {
    position: relative;
    display: block;
    width: 1em;
    height: 1em;
}

#advantages .dv-layout-icon-box-icon {
    line-height: 0;
}

#advantages .dv-layout-icon-box-content {
    flex-grow: 1;
}

#advantages .dv-layout-icon-box-title {
    margin: 0 0 3px;
    color: #000000;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    transition: color .3s ease;
}

#advantages .dv-layout-icon-box-description {
    margin: 0;
    font-size: 14px;
    line-height: 28px;
}

.dv-categories .dv-layout-widget-opal-product-categories .product-cats {
    position: relative;
}

.dv-categories .dv-layout-widget-opal-product-categories .cats-image {
    overflow: hidden;
}

.dv-categories .dv-layout-widget-opal-product-categories .cats-image img {
    display: block;
    transition: transform .3s ease;
}

.dv-categories .dv-layout-widget-opal-product-categories .cats-image::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    transition: all .3s ease;
}

.dv-categories .dv-layout-widget-opal-product-categories .product-cats-meta {
    position: absolute;
    z-index: 3;
    inset: 0;
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: flex-start;
    padding: 50px 0 0 50px;
    text-align: left;
}

.dv-categories .dv-layout-widget-opal-product-categories .cats-title a {
    color: #222222;
    font-size: 25px;
    font-weight: 700;
    line-height: 28px;
}

.dv-categories .dv-layout-widget-opal-product-categories:hover .cats-title a {
    color: #eb7025;
}

.dv-categories .dv-layout-element-6fd3b51 > .dv-layout-column-wrap {
    background-color: #f3f3f3;
}

.dv-categories > .dv-layout-container.dv-layout-column-gap-no > .dv-layout-row > .dv-layout-element-03c6da4 > .dv-layout-column-wrap {
    padding-left: 30px;
}

.dv-categories .dv-layout-element-e8624a5 {
    margin-bottom: 30px;
}

.dv-categories .dv-layout-inner-section {
    width: 100%;
    flex: 0 0 100%;
}

.dv-categories .dv-layout-element-ee0ed39 > .dv-layout-column-wrap {
    background-color: #d8eef4;
}

@media (min-width: 1025px) {
    body.home #advantages.dv-layout-element-6354bc6 {
        width: calc(100% - 80px);
        margin-right: auto;
        margin-left: auto;
        padding-right: 40px !important;
        padding-left: 40px !important;
    }
}

@media (min-width: 768px) {
    #advantages .dv-layout-position-left .dv-layout-icon-box-wrapper {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        text-align: left;
    }

    #advantages .dv-layout-position-left .dv-layout-icon-box-icon {
        display: inline-flex;
        flex: 0 0 auto;
        margin-right: 20px;
    }

    .dv-categories .dv-layout-element-6fd3b51 {
        width: 60.662%;
    }

    .dv-categories .dv-layout-element-03c6da4 {
        width: 39.338%;
    }
}

@media (max-width: 1024px) {
    .dv-categories__heading,
    .wd-services__heading,
    .wd-testimonials__heading,
    .dv-categories__heading .dv-donor-heading__title,
    .wd-services__heading .dv-donor-heading__title,
    .wd-testimonials__heading .dv-donor-heading__title,
    .dv-categories__heading .dv-donor-heading__description,
    .wd-services__heading .dv-donor-heading__description,
    .wd-testimonials__heading .dv-donor-heading__description {
        text-align: left !important;
    }

    .wd-services__heading {
        width: calc(100% - 60px);
        margin-right: auto;
        margin-left: auto;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    #advantages {
        position: relative;
        left: 50%;
        width: 100vw;
        padding-right: 40px !important;
        padding-left: 40px !important;
        transform: translateX(-50%);
    }

    #advantages > .dv-layout-container {
        width: min(100%, 1025px) !important;
        max-width: 1025px !important;
    }

    #advantages > .dv-layout-container > .dv-layout-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    #advantages > .dv-layout-container > .dv-layout-row > .dv-layout-column {
        width: 100% !important;
        min-height: 132px;
        padding: 28px 30px;
    }

    #advantages > .dv-layout-container > .dv-layout-row > .dv-layout-column:nth-child(odd) {
        border-right: 1px solid var(--dv-line);
    }

    #advantages > .dv-layout-container > .dv-layout-row > .dv-layout-column:nth-child(-n + 2) {
        border-bottom: 1px solid var(--dv-line);
    }

    #advantages .dv-layout-column > .dv-layout-element-populated {
        margin: 0 !important;
    }

    #advantages .dv-layout-icon-box-wrapper {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr);
        align-items: center;
        column-gap: 18px;
        text-align: left;
    }

    #advantages .dv-layout-icon-box-icon {
        margin: 0 !important;
    }

    #advantages .dv-layout-icon,
    #advantages .dv-layout-icon .ph {
        display: grid;
        width: 48px;
        height: 48px;
        place-items: center;
        font-family: "Phosphor" !important;
        font-size: 36px;
        font-style: normal;
        line-height: 1;
    }

    #advantages .dv-layout-icon-box-title {
        margin-bottom: 5px;
        font-size: 15px;
        line-height: 1.35;
    }

    #advantages .dv-layout-icon-box-description {
        font-size: 13px;
        line-height: 1.45;
    }

    .dv-categories .dv-layout-element-6fd3b51 > .dv-layout-column-wrap,
    .dv-categories .dv-layout-element-6fd3b51 .dv-layout-widget-wrap,
    .dv-categories .dv-layout-element-128e102,
    .dv-categories .dv-layout-element-128e102 > .dv-layout-widget-container,
    .dv-categories .dv-layout-element-128e102 .product-cats,
    .dv-categories .dv-layout-element-128e102 .cats-image {
        height: 100% !important;
    }

    .dv-categories .dv-layout-element-128e102 .cats-image {
        display: flex;
        align-items: flex-end;
    }

    .dv-categories .dv-layout-element-128e102 .cats-image img {
        width: 100%;
        height: auto !important;
        object-fit: contain;
        object-position: center bottom;
        transform: none !important;
    }

    .dv-categories .dv-layout-element-128e102 .product-cats-meta,
    .dv-categories .dv-layout-element-f1c88a2 .product-cats-meta,
    .dv-categories .dv-layout-element-bd42dfa .product-cats-meta {
        justify-content: flex-start;
        padding: 28px 24px 0 !important;
        text-align: left;
    }

    .dv-categories .dv-layout-element-128e102 .cats-title a,
    .dv-categories .dv-layout-element-f1c88a2 .cats-title a,
    .dv-categories .dv-layout-element-bd42dfa .cats-title a {
        font-size: clamp(18px, 2.1vw, 20px) !important;
        line-height: 1.3;
        white-space: nowrap;
    }

    /* Reserve a calm title zone in the hardware tile instead of letting the
       handle sit directly behind the label. */
    .dv-categories .dv-layout-element-bd42dfa .cats-image {
        box-sizing: border-box;
        height: auto !important;
        aspect-ratio: 4 / 3;
        padding-top: 64px;
        background: #eee7df;
    }

    .dv-categories .dv-layout-element-bd42dfa .cats-image img {
        width: 100%;
        height: 100% !important;
        object-fit: cover;
        object-position: 95% 95%;
        transform: none !important;
        transform-origin: right bottom;
    }

    .dv-categories .dv-layout-element-bd42dfa .product-cats:hover .cats-image img {
        transform: scale(1.03) !important;
    }

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

    .dv-categories {
        padding-top: 60px !important;
    }

    .wd-services {
        padding-top: 60px;
    }

    body.home .wd-testimonials__inner {
        padding-top: 60px;
    }
}

/* Mobile homepage alignment: keep every content block on one shared grid. */
@media (max-width: 767px) {
    body.home #advantages.dv-layout-element-6354bc6 {
        width: calc(100% - 40px);
        margin-right: auto;
        margin-left: auto;
        padding-top: 60px !important;
    }

    .dv-categories > .dv-layout-container.dv-layout-column-gap-no > .dv-layout-row > .dv-layout-element-03c6da4 > .dv-layout-column-wrap {
        padding-left: 0;
    }

    #advantages > .dv-layout-container > .dv-layout-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
        row-gap: 18px;
    }

    #advantages > .dv-layout-container > .dv-layout-row > .dv-layout-column {
        width: 100% !important;
        padding: 20px 8px;
    }

    #advantages .dv-layout-column > .dv-layout-element-populated {
        margin: 0 !important;
    }

    #advantages .dv-layout-icon-box-wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    #advantages .dv-layout-icon-box-icon {
        margin: 0 0 14px !important;
    }

    #advantages .dv-layout-icon-box-content {
        width: 100%;
    }

    #advantages .dv-layout-icon-box-title {
        font-size: 14px;
        line-height: 1.35;
    }

    #advantages .dv-layout-icon-box-description {
        font-size: 12px;
        line-height: 1.45;
    }

    .dv-categories .dv-layout-element-128e102 .cats-image,
    .dv-categories .dv-layout-element-f1c88a2 .cats-image,
    .dv-categories .dv-layout-element-bd42dfa .cats-image {
        height: clamp(290px, 75vw, 310px) !important;
    }

    .dv-categories .dv-layout-element-f1c88a2 .cats-image img,
    .dv-categories .dv-layout-element-bd42dfa .cats-image img {
        width: 100%;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
    }

    .dv-categories .dv-layout-element-bd42dfa .cats-image img {
        object-fit: contain;
        object-position: center bottom;
    }

    .dv-categories .dv-layout-element-128e102 .cats-image {
        display: flex;
        align-items: flex-end;
    }

    .dv-categories .dv-layout-element-128e102 .cats-image img {
        width: 100%;
        height: auto !important;
        object-fit: contain;
        object-position: center bottom;
        transform: none !important;
    }

    .wd-services__heading,
    .wd-services__grid,
    .wd-testimonials__inner,
    .wd-cta {
        width: calc(100vw - 55px);
    }

    .wd-services__heading {
        margin-right: auto;
        margin-left: auto;
    }

    .dv-categories__heading .dv-donor-heading__title,
    .wd-services__heading .dv-donor-heading__title,
    .wd-testimonials__heading .dv-donor-heading__title {
        font-size: 24px;
        line-height: 30px;
    }

    .dv-categories .cats-title a {
        font-size: 20px !important;
        line-height: 1.3;
    }

    .wd-service-card h2,
    .wd-service-card--delivery h2,
    .wd-service-card--installation h2,
    .wd-service-card--measurement h2,
    .wd-service-card--preparation h2 {
        font-size: 18px;
        line-height: 22px;
    }

    body.home .wd-testimonial-card__text {
        font-size: 16px;
    }

    body.home .wd-testimonial-card__author h3 {
        font-size: 18px;
    }

    body.home .wd-cta__copy h2 {
        font-size: 18px;
        line-height: 22px;
    }

    .dv-categories {
        padding-top: 60px !important;
    }

    .wd-services {
        padding-top: 60px;
    }

    body.home .wd-testimonials__inner {
        padding-top: 60px;
    }
}

/* The site's compact tablet preview is narrower than dv-layout's 768px
   breakpoint. Keep the stacked cards legible there as well. */
@media (min-width: 600px) and (max-width: 767px) {
    .dv-categories .dv-layout-element-128e102 .cats-image,
    .dv-categories .dv-layout-element-f1c88a2 .cats-image,
    .dv-categories .dv-layout-element-bd42dfa .cats-image {
        box-sizing: border-box;
        height: 400px !important;
    }

    .dv-categories .dv-layout-element-128e102 .cats-image,
    .dv-categories .dv-layout-element-bd42dfa .cats-image {
        padding-top: 94px;
    }

    .dv-categories .dv-layout-element-128e102 .cats-image img {
        width: 100%;
        height: 100% !important;
        object-fit: contain;
        object-position: center bottom;
    }

    .dv-categories .dv-layout-element-bd42dfa .cats-image {
        aspect-ratio: auto;
        background: #eee7df;
    }

    .dv-categories .dv-layout-element-bd42dfa .cats-image img {
        width: 100%;
        height: 100% !important;
        object-fit: cover;
        object-position: 95% 95%;
        transform: none !important;
        transform-origin: right bottom;
    }

    .dv-categories .dv-layout-element-bd42dfa .product-cats:hover .cats-image img {
        transform: scale(1.03) !important;
    }
}

/* Use the supplied transparent product cutout directly. The tile itself is
   the only background, so no image edge or tonal seam can appear. */
.dv-categories .dv-layout-element-bd42dfa .product-cats,
.dv-categories .dv-layout-element-bd42dfa .cats-image {
    background: #eee7df;
}

.dv-categories .dv-layout-element-bd42dfa .cats-image {
    position: relative;
    padding-top: 0 !important;
}

.dv-categories .dv-layout-element-bd42dfa .cats-image img {
    position: absolute;
    right: 5%;
    bottom: -4%;
    display: block;
    width: 90%;
    height: 75% !important;
    object-fit: contain;
    object-position: right bottom;
    transform: none !important;
    transform-origin: right bottom;
}

.dv-categories .dv-layout-element-bd42dfa .product-cats:hover .cats-image img {
    transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .dv-category-card img,
    .dv-category-card__arrow,
    .dv-payment-option a span,
    .wd-testimonials__track,
    .wd-testimonials__pagination button,
    .wd-cta__button,
    .wd-service-card__button {
        transition: none;
    }
}
