.replacement-page {
    --replacement-shadow: var(--shadow-card);
    color: var(--color-primary);
    background: #fff;
}

@media (min-width: 1280px) {
    .replacement-page {
        --section-block-start: 56px;
        --section-block-end: 56px;
        --section-title-gap: 28px;
    }
}

.replacement-page [lang="en"] {
    direction: ltr;
    unicode-bidi: isolate;
}

.replacement-container {
    width: min(100%, calc(var(--container-width) + (2 * var(--page-gutter))));
    margin-inline: auto;
    padding-inline: var(--page-gutter);
}

.replacement-section {
    padding-block: var(--section-block-start) var(--section-block-end);
}

.replacement-kicker {
    margin: 0 0 8px;
    font-weight: 700;
}

.replacement-heading {
    width: min(100%, 760px);
    margin: 0 auto var(--section-title-gap);
    text-align: center;
}

.replacement-heading--split {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    align-items: end;
    width: 100%;
    gap: clamp(30px, 5vw, 72px);
    text-align: start;
}

.replacement-heading h2,
.replacement-guide h2,
.replacement-signs h2,
.replacement-method h2,
.replacement-price h2,
.replacement-style h2 {
    margin: 0;
    color: var(--color-primary);
    font-weight: 700;
}

.replacement-heading > p:last-child,
.replacement-heading--split > p,
.replacement-signs__intro > p,
.replacement-method__content > p,
.replacement-price__content > p,
.replacement-style__content > p {
    margin: 12px 0 0;
    color: #555b70;
    font-weight: 400;
}

.replacement-button {
    padding: 9px 24px;
    font-size: .88rem;
    line-height: 1.7;
    text-align: center;
    transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.replacement-button:hover {
    transform: translateY(-1px);
}

.replacement-page a:focus-visible,
.replacement-page summary:focus-visible {
    outline: 3px solid rgba(232, 24, 32, .3);
    outline-offset: 3px;
}

.replacement-hero__proof {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin: 20px 0 0;
    padding: 0;
    color: rgba(255, 255, 255, .75);
    list-style: none;
}

.replacement-hero__proof li {
    position: relative;
    display: block;
    min-width: 0;
    padding-inline-start: 25px;
}

.replacement-hero__proof li::before {
    position: absolute;
    inset-block-start: 4px;
    inset-inline-start: 0;
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    color: #fff;
    background: #16915d;
    content: "✓";
    font-size: .75rem;
    font-weight: 700;
}

.replacement-hero__proof strong,
.replacement-hero__proof span {
    display: block;
}

.replacement-hero__proof strong {
    color: #fff;
    font-size: .79rem;
    font-weight: 700;
    line-height: 1.8;
}

.replacement-hero__proof span {
    margin-block-start: 2px;
    color: rgba(255, 255, 255, .64);
    font-size: .75rem;
    line-height: 1.8;
}

/* Replacement signs */
.replacement-signs {
    background: #fff;
}

.replacement-signs__layout {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: clamp(42px, 7vw, 100px);
}

.replacement-signs__intro > a {
    display: inline-flex;
    margin-block-start: 18px;
    border-block-end: 1px solid currentColor;
    color: var(--color-cta);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.8;
}

.replacement-signs__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.replacement-signs__list li {
    display: flex;
    min-width: 0;
    min-height: 144px;
    gap: 14px;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    padding: 20px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(23, 29, 111, .045);
}

.replacement-signs__list li > span {
    flex: 0 0 auto;
    color: var(--color-cta);
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.8;
}

.replacement-signs__list strong {
    display: block;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.8;
}

.replacement-signs__list p {
    margin: 6px 0 0;
    color: #64697b;
}

/* Method */
.replacement-method {
    background: var(--color-surface-soft);
}

.replacement-method__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: center;
    gap: clamp(42px, 7vw, 92px);
}

.replacement-method__media {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--replacement-shadow);
}

.replacement-method__media img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.replacement-method__media figcaption {
    display: grid;
    gap: 2px;
    padding: 14px 18px 16px;
    background: #fff;
}

.replacement-method__media figcaption strong {
    font-size: .82rem;
    line-height: 1.8;
}

.replacement-method__media figcaption span {
    color: var(--color-muted);
    font-size: .75rem;
    line-height: 1.8;
}

.replacement-method__comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-block: 18px;
}

/* Educational intent boundary */
.replacement-guide {
    background: var(--color-surface-soft);
}

.replacement-guide__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(28px, 5vw, 72px);
}

.replacement-guide__content h2 {
    margin: 0;
}

.replacement-guide__content p:last-child {
    max-width: 780px;
    margin: 10px 0 0;
    color: #555b70;
}

.replacement-guide__content > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border: 2px solid var(--color-primary);
    border-radius: 10px;
    padding: 9px 20px;
    color: var(--color-primary);
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.8;
    text-align: center;
}

.replacement-guide__content > a:hover,
.replacement-guide__content > a:focus-visible {
    color: #fff;
    background: var(--color-primary);
}
.replacement-kicker {
    color: var(--color-accent-text);
}

.replacement-method__comparison > div {
    display: grid;
    gap: 3px;
    border: 1px solid rgba(23, 29, 111, .12);
    border-radius: 11px;
    padding: 12px 13px;
    background: #fff;
}

.replacement-method__comparison span {
    color: var(--color-cta);
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.7;
}

.replacement-method__comparison strong {
    color: var(--color-primary);
    font-size: .76rem;
    line-height: 1.8;
}

.replacement-method__steps-title {
    margin: 0 0 10px;
    color: var(--color-primary);
}

.replacement-method__steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.replacement-method__steps li {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-button);
    padding: 9px 10px;
    background: #fff;
}

.replacement-method__steps li > span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    color: #fff;
    background: var(--color-primary);
    font-size: .72rem;
    font-weight: 700;
}

.replacement-method__steps li > div {
    display: grid;
    gap: 1px;
}

.replacement-method__steps strong {
    color: var(--color-primary);
    font-size: .72rem;
    line-height: 1.7;
}

.replacement-method__steps small {
    color: var(--color-muted);
}

.replacement-method__result {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-block: 14px 18px;
    border-radius: 10px;
    padding: 11px 12px;
    background: rgba(20, 149, 95, .08);
}

.replacement-method__result > span {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    color: #fff;
    background: #14955f;
    font-size: .72rem;
}

.replacement-method__result p {
    margin: 0;
    color: #555b70;
}

/* Benefits */
.replacement-benefits {
    background: var(--color-surface-soft);
}

.replacement-benefits__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.replacement-benefit-card {
    min-width: 0;
    min-height: 176px;
    border: 1px solid var(--color-border);
    padding: 22px;
    background: #fff;
}

.replacement-benefit-card--featured {
    color: #fff;
    background: var(--color-primary);
}

.replacement-benefit-card > span {
    display: inline-flex;
    margin-block-end: 12px;
    border-radius: 999px;
    padding: 4px 10px;
    color: var(--color-cta);
    background: rgba(232, 24, 32, .075);
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.7;
}

.replacement-benefit-card--featured > span {
    color: #fff;
    background: rgba(255, 255, 255, .12);
}

.replacement-benefit-card h3 {
    margin: 0;
    font-weight: 700;
}

.replacement-benefit-card p {
    margin: 7px 0 0;
    color: #64697b;
}

.replacement-benefit-card--featured p {
    color: rgba(255, 255, 255, .72);
}

/* Price */
.replacement-price {
    background: #fff;
}

.replacement-price__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
    align-items: center;
    gap: clamp(44px, 7vw, 100px);
}

.replacement-price__content > ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.replacement-price__content li {
    display: grid;
    min-width: 0;
    gap: 3px;
    border: 1px solid var(--color-border);
    border-radius: 11px;
    padding: 13px 15px;
}

.replacement-price__content li span {
    color: var(--color-cta);
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.7;
}

.replacement-price__content li strong {
    font-size: .76rem;
    font-weight: 600;
    line-height: 1.8;
}

.replacement-price__card {
    padding: 30px;
    color: #fff;
    background: var(--color-primary);
    box-shadow: var(--replacement-shadow);
}

.replacement-price__card > span {
    color: rgba(255, 255, 255, .68);
    font-size: .75rem;
    line-height: 1.8;
}

.replacement-price__card h3 {
    margin: 8px 0 0;
    font-weight: 700;
}

.replacement-price__card p {
    margin: 10px 0 20px;
    color: rgba(255, 255, 255, .72);
}

.replacement-price__card .replacement-button {
    width: 100%;
}

.replacement-price__calculator {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-block-start: 9px;
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 10px;
    padding: 8px 18px;
    color: #fff;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.7;
}

.replacement-price__calculator:hover,
.replacement-price__calculator:focus-visible {
    color: var(--color-primary);
    background: #fff;
}

/* Color and style */
.replacement-style {
    background: var(--color-surface-soft);
}

.replacement-style__layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(44px, 7vw, 96px);
}

.replacement-style__content ul {
    display: grid;
    gap: 8px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.replacement-style__content li {
    position: relative;
    padding-inline-start: 20px;
    color: #555b70;
    font-size: .8rem;
    line-height: 1.9;
}

.replacement-style__content li::before {
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: .75em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--color-cta);
    content: "";
}

.replacement-style figure {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--replacement-shadow);
}

.replacement-style figure img {
    width: 100%;
    aspect-ratio: 4 / 2.8;
    object-fit: contain;
    background: var(--color-surface-soft);
}

.replacement-style figcaption {
    padding: 12px 16px 14px;
    color: var(--color-muted);
    font-size: .75rem;
    line-height: 1.8;
    text-align: center;
}

/* Shared gallery placement */
.replacement-page .projects-gallery {
    background: #fff;
}

@media (max-width: 1023.98px) {
    .replacement-guide__content,
    .replacement-heading--split,
    .replacement-signs__layout,
    .replacement-method__layout,
    .replacement-price__layout,
    .replacement-style__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .replacement-heading--split {
        gap: 0;
        text-align: center;
    }

    .replacement-hero__proof {
        justify-content: center;
        text-align: start;
    }

    .replacement-method__media,
    .replacement-style figure {
        width: min(100%, 760px);
        margin-inline: auto;
    }

    .replacement-signs__layout,
    .replacement-method__layout,
    .replacement-price__layout,
    .replacement-style__layout {
        gap: 32px;
    }

    .replacement-signs__intro,
    .replacement-method__content,
    .replacement-price__content,
    .replacement-style__content {
        width: min(100%, 760px);
        margin-inline: auto;
        text-align: center;
    }

    .replacement-method__media {
        grid-row: 2;
    }

    .replacement-method__comparison,
    .replacement-method__steps,
    .replacement-method__result {
        text-align: start;
    }

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

    .replacement-price__content > ul {
        text-align: start;
    }

    .replacement-price__card {
        width: min(100%, 620px);
        margin-inline: auto;
        text-align: center;
    }

    .replacement-style__content ul {
        width: min(100%, 620px);
        margin-inline: auto;
        text-align: start;
    }

}

@media (max-width: 639.98px) {
    .replacement-container {
        padding-inline: 16px;
    }

    .replacement-section {
        padding-block: 44px 48px;
    }

    .replacement-heading {
        margin-block-end: 24px;
    }

    .replacement-guide__content {
        gap: 20px;
        text-align: center;
    }

    .replacement-guide__content > a {
        width: 100%;
    }

    .replacement-heading > p:last-child,
    .replacement-heading--split > p,
    .replacement-signs__intro > p,
    .replacement-method__content > p,
    .replacement-price__content > p,
    .replacement-style__content > p {
        margin-block-start: 9px;
    }

    .replacement-button {
        width: 100%;
        min-width: 0;
        padding-block: 8px;
        font-size: .84rem;
    }

    .replacement-hero__proof {
        gap: 10px;
        margin-block-start: 20px;
    }

    .replacement-hero__proof li {
        display: block;
        flex: 0 0 100%;
        border: 0;
        border-radius: 0;
        padding: 0 25px 0 0;
        background: transparent;
    }

    .replacement-hero__proof strong {
        display: block;
    }

    .replacement-hero__proof strong {
        font-size: .75rem;
    }

    .replacement-hero__proof span {
        display: none;
    }

    .replacement-signs__layout,
    .replacement-method__layout,
    .replacement-price__layout,
    .replacement-style__layout {
        gap: 26px;
    }

    .replacement-signs__list,
    .replacement-benefits__grid,
    .replacement-price__content > ul {
        grid-template-columns: minmax(0, 1fr);
    }

    .replacement-signs__list li {
        min-height: 0;
        padding: 16px;
    }

    .replacement-method__media,
    .replacement-style figure {
        border-radius: 13px;
    }

    .replacement-method__comparison {
        margin-block: 16px;
    }

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

    .replacement-method__result {
        margin-block: 13px 16px;
    }

    .replacement-benefit-card {
        min-height: 0;
        padding: 18px;
    }

    .replacement-price__card {
        padding: 24px 18px;
    }

    .replacement-style__content li {
        font-size: .76rem;
    }

}
