/* =========================================================
   REMEMOIR
   Main Stylesheet
   /css/rememoir.css
========================================================= */


/* =========================================================
   1. ROOT VARIABLES
========================================================= */

:root {
    --rm-ink: #17191d;
    --rm-soft-ink: #565c64;
    --rm-muted: #7b8188;

    --rm-paper: #fbfaf8;
    --rm-white: #ffffff;

    --rm-warm: #f3f0eb;
    --rm-warm-deep: #e7dfd5;

    --rm-dark: #35404a;
    --rm-dark-hover: #1f272e;

    --rm-accent: #b79b76;

    --rm-line: #e8e8e5;

    --rm-radius-small: 12px;
    --rm-radius-medium: 18px;
    --rm-radius-large: 28px;

    --rm-shadow:
        0 24px 70px
        rgba(23, 25, 29, 0.09);
}


/* =========================================================
   2. RESET
========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;

    background: var(--rm-paper);
    color: var(--rm-ink);

    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.6;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img,
video {
    display: block;
    max-width: 100%;
}

button,
input,
textarea,
select {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

a {
    color: inherit;
}


/* =========================================================
   3. GLOBAL LAYOUT
========================================================= */

.rm-page {
    width: 100%;
    overflow: hidden;
}

.rm-shell {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.rm-shell-wide {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
}


/* =========================================================
   4. TYPOGRAPHY
========================================================= */

.rm-display {
    margin: 0;

    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;

    line-height: 1.02;
    letter-spacing: -0.04em;
}

.rm-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin: 0 0 18px;

    color: #6f6253;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.rm-eyebrow::before {
    content: "";

    width: 28px;
    height: 1px;

    background: var(--rm-accent);
}

.rm-lead {
    color: var(--rm-soft-ink);

    font-size: 18px;
    line-height: 1.75;
}


/* =========================================================
   5. BUTTONS
========================================================= */

.rm-btn {
    min-height: 54px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    padding: 0 26px;

    border: 1px solid var(--rm-dark);
    border-radius: 999px;

    background: var(--rm-dark);
    color: #ffffff;

    text-decoration: none;

    font-size: 14px;
    font-weight: 600;

    transition:
        transform 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease;
}

.rm-btn:hover {
    transform: translateY(-2px);

    background: var(--rm-dark-hover);
    border-color: var(--rm-dark-hover);
}

.rm-btn-outline {
    background: transparent;
    color: var(--rm-dark);

    border-color: #74797d;
}

.rm-btn-outline:hover {
    background: #ffffff;
    border-color: #222222;
}


/* =========================================================
   6. HEADER
========================================================= */

.rm-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    width: 100%;

    background: #ffffff;

    border-bottom: 1px solid #eceae6;

    box-shadow:
        0 4px 18px
        rgba(23, 25, 29, 0.04);
}

.rm-header-inner {
    width: min(1560px, calc(100% - 56px));
    min-height: 110px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        300px
        minmax(0, 1fr)
        250px;

    align-items: center;

    gap: 26px;
}


/* =========================================================
   7. LOGO
========================================================= */

.rm-brand {
    display: flex;

    align-items: center;
    justify-content: flex-start;

    width: 300px;
    height: 110px;

    margin: 0;
    padding: 0;

    text-decoration: none;
}

.rm-logo {
    display: block;

    width: 270px;
    height: auto;

    margin: 0;

    object-fit: contain;

    transform: translateY(-4px);
}


/* =========================================================
   8. DESKTOP NAVIGATION
========================================================= */

.rm-nav {
    height: 110px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: clamp(18px, 1.55vw, 32px);

    min-width: 0;
}

.rm-nav a {
    position: relative;

    height: 110px;

    display: inline-flex;
    align-items: center;

    flex: 0 0 auto;

    padding: 0;

    color: #24272a;

    text-decoration: none;

    font-size: 15px;
    font-weight: 400;

    line-height: 1;

    white-space: nowrap;
}

.rm-nav a::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 24px;

    width: 0;
    height: 1px;

    background: var(--rm-ink);

    transition:
        width 180ms ease,
        left 180ms ease;
}

.rm-nav a:hover::after,
.rm-nav a.is-active::after {
    left: 0;
    width: 100%;
}


/* =========================================================
   9. HEADER CTA
========================================================= */

.rm-header-cta {
    width: 250px;
    min-width: 250px;
    min-height: 54px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    justify-self: end;

    gap: 16px;

    padding: 0 24px;

    border: 1px solid var(--rm-dark);
    border-radius: 999px;

    background: var(--rm-dark);
    color: #ffffff;

    text-decoration: none;

    font-size: 15px;
    font-weight: 600;

    line-height: 1;

    white-space: nowrap;

    transition:
        transform 180ms ease,
        background-color 180ms ease;
}

.rm-header-cta:hover {
    transform: translateY(-2px);

    background: var(--rm-dark-hover);
}


/* =========================================================
   10. MOBILE MENU
========================================================= */

.rm-menu-toggle {
    display: none;
}

.rm-mobile-nav {
    display: none;
}


/* =========================================================
   11. HOMEPAGE HERO
========================================================= */

.rm-hero {
    width: 100%;
    min-height: 665px;

    display: grid;

    grid-template-columns:
        minmax(520px, 0.88fr)
        minmax(590px, 1.12fr);

    background: #f5f2ed;
}


/* =========================================================
   12. HERO COPY
========================================================= */

.rm-hero-copy {
    position: relative;
    z-index: 3;

    min-height: 665px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        76px
        clamp(40px, 5.2vw, 90px)
        60px
        max(
            42px,
            calc((100vw - 1440px) / 2 + 42px)
        );

    background:
        radial-gradient(
            circle at 25% 16%,
            rgba(255, 255, 255, 0.90),
            rgba(255, 255, 255, 0) 40%
        ),
        linear-gradient(
            105deg,
            #faf9f7 0%,
            #f5f2ed 70%,
            #ebe5dd 100%
        );
}

.rm-kicker {
    margin: 0 0 24px;

    color: #28313a;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.28em;
    text-transform: uppercase;
}

.rm-hero-title {
    margin: 0;

    color: var(--rm-ink);

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(50px, 5.7vw, 82px);
    font-weight: 400;

    line-height: 0.97;
    letter-spacing: -0.055em;
}

.rm-hero-intro {
    max-width: 620px;

    margin: 28px 0 27px;

    color: #3f454b;

    font-size: 19px;
    line-height: 1.58;
}

.rm-hero-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 16px;
}


/* =========================================================
   13. HERO BUTTONS
========================================================= */

.rm-primary-btn,
.rm-secondary-btn {
    min-height: 58px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 17px;

    padding: 0 30px;

    border-radius: 999px;

    text-decoration: none;

    font-size: 15px;
    font-weight: 600;

    transition:
        transform 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease;
}

.rm-primary-btn {
    border: 1px solid var(--rm-dark);

    background: var(--rm-dark);
    color: #ffffff;
}

.rm-secondary-btn {
    border: 1px solid #6f7478;

    background: rgba(255, 255, 255, 0.34);
    color: #202428;
}

.rm-primary-btn:hover,
.rm-secondary-btn:hover {
    transform: translateY(-2px);
}

.rm-primary-btn:hover {
    background: var(--rm-dark-hover);
    border-color: var(--rm-dark-hover);
}

.rm-secondary-btn:hover {
    background: #ffffff;
    border-color: #222222;
}

.rm-play-small {
    width: 24px;
    height: 24px;

    border: 1.5px solid currentColor;
    border-radius: 50%;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 24px;

    margin-right: 8px;
}

.rm-play-small::after {
    content: "";

    width: 0;
    height: 0;

    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 7px solid currentColor;

    margin-left: 2px;
}


/* =========================================================
   14. HERO TRUST ITEMS
========================================================= */

.rm-trust-row {
    max-width: 680px;

    margin-top: 48px;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;
}

.rm-trust-item {
    display: grid;

    grid-template-columns:
        40px
        1fr;

    gap: 12px;

    align-items: start;
}

.rm-trust-icon {
    width: 38px;
    height: 38px;
}

.rm-trust-icon svg {
    width: 100%;
    height: 100%;

    fill: none;

    stroke: var(--rm-dark);
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.rm-trust-item strong {
    display: block;

    margin-bottom: 4px;

    color: #252a2f;

    font-size: 13px;
    line-height: 1.3;
}

.rm-trust-item span {
    display: block;

    color: #6c7176;

    font-size: 11px;
    line-height: 1.45;
}


/* =========================================================
   15. HERO VIDEO
========================================================= */

.rm-hero-media {
    position: relative;

    min-height: 665px;

    overflow: hidden;

    background: #8d8274;
}

.rm-hero-video {
    width: 100%;
    height: 100%;

    min-height: 665px;

    object-fit: cover;
    object-position: center;
}

.rm-media-shade {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(235, 229, 221, 0.60) 0%,
            rgba(235, 229, 221, 0.10) 18%,
            transparent 43%
        ),
        linear-gradient(
            0deg,
            rgba(0, 0, 0, 0.12),
            transparent 42%
        );

    pointer-events: none;
}


/* =========================================================
   16. FLOATING OLD PHOTO
========================================================= */

.rm-old-photo {
    position: absolute;
    z-index: 3;

    left: 5%;
    top: 16%;

    width: min(35%, 330px);

    padding: 11px 11px 34px;

    background: #e5ddd2;

    box-shadow:
        0 24px 48px
        rgba(25, 20, 16, 0.28);

    transform: rotate(-6deg);
}

.rm-old-photo img {
    width: 100%;

    aspect-ratio: 4 / 5;

    object-fit: cover;

    filter:
        grayscale(1)
        contrast(0.86)
        sepia(0.10);
}

.rm-old-photo span {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 10px;

    text-align: center;

    color: #6a625a;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 12px;
    font-style: italic;
}


/* =========================================================
   17. WATCH THE MAGIC
========================================================= */

.rm-watch-magic {
    position: absolute;
    z-index: 4;

    left: 64%;
    top: 57%;

    transform: translate(-50%, -50%);

    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 15px;

    color: #ffffff;

    text-decoration: none;
    text-align: center;

    text-shadow:
        0 2px 14px
        rgba(0, 0, 0, 0.45);
}

.rm-watch-circle {
    width: 94px;
    height: 94px;

    border: 4px solid #fff;
    border-radius: 50%;

    background: rgba(16, 18, 20, 0.28);

    display: flex;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;
}

.rm-watch-circle::after {
    content: "";

    width: 0;
    height: 0;

    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 22px solid #fff;

    margin-left: 6px;
}

.rm-watch-circle span {
    margin-left: 6px;

    font-size: 30px;
}

.rm-watch-magic:hover .rm-watch-circle {
    transform: scale(1.05);

    background: rgba(16, 18, 20, 0.44);
}

.rm-watch-magic strong {
    font-size: 12px;

    letter-spacing: 0.23em;
    text-transform: uppercase;
}


/* =========================================================
   18. BENEFIT BAND
========================================================= */

.rm-benefit-band {
    padding: 31px 0 35px;

    background: #fbfaf7;

    border-top: 1px solid #eee9e2;
    border-bottom: 1px solid #eee9e2;
}

.rm-benefit-grid {
    width: min(1320px, calc(100% - 60px));

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);
}

.rm-benefit {
    position: relative;

    min-height: 190px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 12px 38px;

    text-align: center;
}

.rm-benefit + .rm-benefit::before {
    content: "";

    position: absolute;

    left: 0;
    top: 28px;
    bottom: 28px;

    width: 1px;

    background: #e5dfd7;
}

.rm-benefit-icon {
    width: 66px;
    height: 66px;

    display: grid;
    place-items: center;

    margin-bottom: 15px;

    padding: 18px;

    border-radius: 50%;

    background: #efebe5;
}

.rm-benefit-icon svg {
    width: 100%;
    height: 100%;

    fill: none;

    stroke: var(--rm-dark);
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.rm-benefit h3 {
    margin: 0 0 8px;

    color: #22262a;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rm-benefit p {
    max-width: 240px;

    margin: 0;

    color: #656a6f;

    font-size: 14px;
    line-height: 1.55;
}


/* =========================================================
   19. TABLET
========================================================= */

@media only screen and (max-width: 1180px) {

    .rm-hero {
        grid-template-columns:
            1fr
            1fr;
    }

    .rm-hero-copy {
        padding-left: 40px;
        padding-right: 34px;
    }

    .rm-hero-title {
        font-size: clamp(55px, 6vw, 78px);
    }

    .rm-trust-row {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-top: 34px;
    }
}


/* =========================================================
   20. MOBILE HEADER / TABLET
========================================================= */

@media only screen and (max-width: 1380px) {

    .rm-header-inner {
        width: calc(100% - 36px);

        min-height: 96px;

        grid-template-columns:
            1fr
            48px;

        gap: 16px;
    }

    .rm-brand {
        width: auto;
        height: 96px;
    }

    .rm-logo {
        width: 245px;
        max-width: 100%;

        transform: translateY(-3px);
    }

    .rm-nav,
    .rm-header-cta {
        display: none;
    }

    .rm-menu-toggle {
        width: 46px;
        height: 46px;

        display: flex;

        flex-direction: column;

        align-items: center;
        justify-content: center;

        gap: 5px;

        margin: 0;
        padding: 0;

        border: 1px solid #ddd9d2;
        border-radius: 50%;

        background: #ffffff;

        cursor: pointer;
    }

    .rm-menu-toggle span {
        display: block;

        width: 19px;
        height: 1.5px;

        background: #1b1d20;

        transition:
            transform 180ms ease,
            opacity 180ms ease;
    }

    .rm-menu-toggle.is-open span:nth-child(1) {
        transform:
            translateY(6.5px)
            rotate(45deg);
    }

    .rm-menu-toggle.is-open span:nth-child(2) {
        opacity: 0;
    }

    .rm-menu-toggle.is-open span:nth-child(3) {
        transform:
            translateY(-6.5px)
            rotate(-45deg);
    }

    .rm-mobile-nav {
        display: none;

        padding: 8px 20px 20px;

        border-top: 1px solid #efede9;

        background: #ffffff;
    }

    .rm-mobile-nav.is-open {
        display: grid;
    }

    .rm-mobile-nav a {
        display: block;

        width: 100%;

        padding: 15px 8px;

        border-bottom: 1px solid #efede9;

        color: #26292c;

        text-decoration: none;

        font-size: 15px;
    }

    .rm-mobile-nav .rm-mobile-cta {
        margin-top: 12px;

        border: 0;
        border-radius: 999px;

        background: var(--rm-dark);
        color: #ffffff;

        text-align: center;
    }

    .rm-hero {
        grid-template-columns: 1fr;
    }

    .rm-hero-copy {
        min-height: 0;

        padding: 70px 38px 54px;
    }

    .rm-hero-media,
    .rm-hero-video {
        min-height: 620px;
    }

    .rm-benefit-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .rm-benefit:nth-child(3)::before {
        display: none;
    }

    .rm-benefit:nth-child(n+3) {
        border-top: 1px solid #e5dfd7;
    }
}


/* =========================================================
   21. MOBILE
========================================================= */

@media only screen and (max-width: 620px) {

    .rm-shell {
        width: min(100% - 26px, 1180px);
    }

    .rm-header-inner {
        width: calc(100% - 22px);

        min-height: 82px;
    }

    .rm-brand {
        height: 82px;
    }

    .rm-logo {
        width: 210px;
        max-width: 100%;
    }

    .rm-hero-copy {
        padding: 54px 24px 44px;
    }

    .rm-kicker {
        font-size: 10px;
        line-height: 1.5;
    }

    .rm-hero-title {
        font-size: clamp(52px, 16vw, 70px);
    }

    .rm-hero-intro {
        font-size: 17px;
    }

    .rm-hero-actions {
        display: grid;

        grid-template-columns: 1fr;
    }

    .rm-primary-btn,
    .rm-secondary-btn {
        width: 100%;
    }

    .rm-trust-row {
        margin-top: 36px;
    }

    .rm-hero-media,
    .rm-hero-video {
        min-height: 470px;
    }

    .rm-old-photo {
        left: 5%;
        top: 12%;

        width: 42%;
    }

    .rm-watch-magic {
    left: 72%;
    top: 61%;

    gap: 10px;
    }

    @media (max-width: 720px) {

    .rm-watch-circle {
        width: 58px;
        height: 58px;

        border-width: 2px;
    }

    .rm-watch-circle::after {
        border-top-width: 9px;
        border-bottom-width: 9px;
        border-left-width: 15px;

        margin-left: 4px;
    }

}

    .rm-watch-circle span {
        margin-left: 4px;

        font-size: 20px;
    }

    .rm-watch-magic strong {
        font-size: 9px;

        line-height: 1.55;
        letter-spacing: 0.20em;
    }

    .rm-benefit-grid {
        width: calc(100% - 24px);

        grid-template-columns: 1fr;
    }

    .rm-benefit {
        min-height: 170px;
    }

    .rm-benefit + .rm-benefit::before {
        top: 0;
        right: 20px;
        bottom: auto;
        left: 20px;

        width: auto;
        height: 1px;
    }

    .rm-benefit:nth-child(3)::before {
        display: block;
    }

    .rm-benefit:nth-child(n+3) {
        border-top: 0;
    }
}


/* =========================================================
   22. REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}

/* =========================================================
   HOMEPAGE SECTIONS
========================================================= */

.rm-home-statement {
    padding: 92px 0;
}

.rm-home-statement-inner {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}

.rm-home-statement blockquote {
    margin: 0;
    color: var(--rm-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 5vw, 62px);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -0.03em;
}

.rm-home-statement p:last-child {
    max-width: 720px;
    margin: 26px auto 0;
    color: var(--rm-soft-ink);
    font-size: 16px;
    line-height: 1.8;
}

.rm-home-section-head {
    display: grid;
    grid-template-columns: 1fr 0.8fr;
    align-items: end;
    gap: 42px;
    margin-bottom: 38px;
}

.rm-home-section-head h2 {
    font-size: clamp(38px, 5vw, 62px);
}

.rm-home-section-head .rm-lead {
    margin: 0 0 4px;
}

.rm-home-process {
    padding: 98px 0;
    background: #ffffff;
    border-top: 1px solid var(--rm-line);
    border-bottom: 1px solid var(--rm-line);
}

.rm-home-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.rm-home-step {
    min-height: 295px;
    padding: 28px;
    border: 1px solid var(--rm-line);
    border-radius: var(--rm-radius-medium);
    background: var(--rm-paper);
}

.rm-home-step-number {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    margin-bottom: 25px;
    border-radius: 50%;
    background: var(--rm-dark);
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
}

.rm-home-step h3 {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.25;
}

.rm-home-step p {
    margin: 0;
    color: var(--rm-soft-ink);
    font-size: 15px;
    line-height: 1.72;
}

.rm-home-process-action,
.rm-home-centre-action {
    margin-top: 34px;
    text-align: center;
}

.rm-home-examples {
    padding: 105px 0;
}

.rm-home-player {
    overflow: hidden;
    border: 1px solid var(--rm-line);
    border-radius: var(--rm-radius-large);
    background: #0c0d0f;
    box-shadow: var(--rm-shadow);
}

.rm-home-player-stage {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #0c0d0f;
}

.rm-home-player-stage video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #0c0d0f;
}

.rm-home-player-controls {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding: 10px;
    background: #111317;
}

.rm-home-thumb {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    margin: 0;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 12px;
    background: #222222;
    cursor: pointer;
    opacity: 0.60;
    transition:
        opacity 180ms ease,
        transform 180ms ease,
        border-color 180ms ease;
}

.rm-home-thumb:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.rm-home-thumb.is-active {
    opacity: 1;
    border-color: rgba(255, 255, 255, 0.95);
}

.rm-home-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rm-home-thumb span {
    position: absolute;
    left: 10px;
    bottom: 8px;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.56);
    color: #ffffff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.rm-home-restoration {
    padding: 105px 0;
    background: #ffffff;
    border-top: 1px solid var(--rm-line);
}

.rm-home-restoration-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.rm-home-photo-card {
    position: relative;
    overflow: hidden;
    min-height: 500px;
    border-radius: var(--rm-radius-large);
    background: #dddddd;
}

.rm-home-photo-card img {
    width: 100%;
    height: 100%;
    min-height: 500px;
    object-fit: cover;
}

.rm-home-photo-badge {
    position: absolute;
    top: 18px;
    left: 18px;
    padding: 9px 13px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;
    background: rgba(15, 17, 20, 0.65);
    color: #ffffff;
    backdrop-filter: blur(8px);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rm-home-print-banner {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
    gap: 30px;
    margin-top: 18px;
    padding: 22px;
    border: 1px solid var(--rm-line);
    border-radius: var(--rm-radius-large);
    background: var(--rm-paper);
}

.rm-home-print-banner > img {
    width: 100%;
    border-radius: 16px;
}

.rm-home-print-copy {
    padding: 24px 26px;
}

.rm-home-print-copy h3 {
    margin: 0 0 15px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.rm-home-print-copy > p:not(.rm-eyebrow) {
    margin: 0 0 24px;
    color: var(--rm-soft-ink);
    line-height: 1.75;
}

.rm-home-promise {
    padding: 98px 0;
    background: #2f3942;
    color: #ffffff;
}

.rm-home-promise-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.rm-home-promise h2 {
    max-width: 600px;
    color: #ffffff;
    font-size: clamp(38px, 5vw, 64px);
}

.rm-home-promise h2 em {
    color: #dcc6a8;
    font-style: italic;
    font-weight: 400;
}

.rm-eyebrow-light {
    color: #dcc6a8;
}

.rm-eyebrow-light::before {
    background: #dcc6a8;
}

.rm-home-promise-copy {
    margin: 0;
    color: #d7d9dc;
    font-size: 16px;
    line-height: 1.85;
}

.rm-home-promise-points {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 28px;
}

.rm-home-promise-point {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.035);
}

.rm-home-promise-point strong {
    display: block;
    margin-bottom: 6px;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 400;
}

.rm-home-promise-point span {
    color: #bfc3c7;
    font-size: 13px;
    line-height: 1.5;
}

.rm-home-reviews {
    padding: 105px 0;
}

.rm-home-review-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.rm-home-review {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    padding: 25px;
    border: 1px solid var(--rm-line);
    border-radius: 18px;
    background: #ffffff;
}

.rm-home-stars {
    color: #9a7d57;
    font-size: 13px;
    letter-spacing: 0.20em;
}

.rm-home-review blockquote {
    flex: 1;
    margin: 20px 0 26px;
    color: #3d4248;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    line-height: 1.58;
}

.rm-home-review-name {
    margin: 0;
    color: #777b80;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rm-home-final {
    padding: 25px 0 110px;
}

.rm-home-final-card {
    position: relative;
    overflow: hidden;
    padding: 78px 52px;
    border-radius: 30px;
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(183, 155, 118, 0.24),
            transparent 30%
        ),
        linear-gradient(135deg, #f3efe9, #e5ddd2);
    text-align: center;
}

.rm-home-final-card h2 {
    max-width: 820px;
    margin: 0 auto;
    font-size: clamp(42px, 6vw, 72px);
}

.rm-home-final-card > p:not(.rm-eyebrow) {
    max-width: 660px;
    margin: 24px auto 30px;
    color: #5d5b57;
    font-size: 17px;
    line-height: 1.78;
}

@media only screen and (max-width: 980px) {

    .rm-home-section-head,
    .rm-home-promise-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .rm-home-steps {
        grid-template-columns: 1fr;
    }

    .rm-home-step {
        min-height: 0;
    }

    .rm-home-review-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media only screen and (max-width: 720px) {

    .rm-home-statement {
        padding: 68px 0;
    }

    .rm-home-process,
    .rm-home-examples,
    .rm-home-restoration,
    .rm-home-promise,
    .rm-home-reviews {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .rm-home-player-controls {
        grid-template-columns: repeat(2, 1fr);
    }

    .rm-home-restoration-grid,
    .rm-home-print-banner {
        grid-template-columns: 1fr;
    }

    .rm-home-photo-card,
    .rm-home-photo-card img {
        min-height: 380px;
    }

    .rm-home-print-copy {
        padding: 14px 6px 8px;
    }

    .rm-home-promise-points,
    .rm-home-review-grid {
        grid-template-columns: 1fr;
    }

    .rm-home-review {
        min-height: 0;
    }

    .rm-home-final {
        padding-bottom: 72px;
    }

    .rm-home-final-card {
        padding: 58px 24px;
        border-radius: 22px;
    }
}

/* =========================================================
   FOOTER
========================================================= */

.rm-footer {
    width: 100%;
    background: #2f3942;
    color: #ffffff;
}

.rm-footer-main {
    padding: 72px 0 58px;
}

.rm-footer-inner {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(220px, 1.1fr)
        repeat(4, minmax(135px, 0.72fr));

    gap: 42px;
}

.rm-footer-brand {
    max-width: 430px;
}

.rm-footer-logo-link {
    display: inline-block;
    text-decoration: none;
}

.rm-footer-logo {
    display: block;

    width: 190px;
    height: auto;

    margin: 0;

    object-fit: contain;
}

.rm-footer-statement {
    margin: 0 0 16px;
    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.3;
    letter-spacing: -0.025em;
}

.rm-footer-copy {
    max-width: 390px;
    margin: 0;

    color: #cbd0d4;

    font-size: 14px;
    line-height: 1.75;
}

.rm-footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.rm-footer-column h3 {
    margin: 0 0 22px;

    color: #ffffff;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.rm-footer-column a {
    position: relative;
    display: inline-block;

    margin: 0 0 12px;

    color: #cbd0d4;

    text-decoration: none;

    font-size: 14px;
    line-height: 1.5;

    transition: color 180ms ease;
}

.rm-footer-column a:hover {
    color: #ffffff;
}

.rm-footer-column a::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: -2px;

    width: 0;
    height: 1px;

    background: rgba(255, 255, 255, 0.65);

    transition: width 180ms ease;
}

.rm-footer-column a:hover::after {
    width: 100%;
}

.rm-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.rm-footer-bottom-inner {
    width: min(1320px, calc(100% - 48px));
    min-height: 76px;

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}

.rm-footer-bottom p {
    margin: 0;

    color: #aeb5bb;

    font-size: 12px;
    line-height: 1.5;
}

@media only screen and (max-width: 1100px) {

    .rm-footer-inner {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 38px 30px;
    }

    .rm-footer-brand {
        grid-column: 1 / -1;
        max-width: 620px;
        margin-bottom: 8px;
    }
}

@media only screen and (max-width: 820px) {

    .rm-footer-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px 28px;
    }

    .rm-footer-brand {
        grid-column: 1 / -1;
    }
}

@media only screen and (max-width: 640px) {

    .rm-footer-main {
        padding: 58px 0 42px;
    }

    .rm-footer-inner {
        width: calc(100% - 36px);
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .rm-footer-logo {
        width: 220px;
    }

    .rm-footer-statement {
        font-size: 24px;
    }

    .rm-footer-bottom-inner {
        width: calc(100% - 36px);
        min-height: 96px;

        flex-direction: column;
        align-items: flex-start;
        justify-content: center;

        gap: 5px;
    }
}

/* =========================================================
   FINAL REMEMOIR DESIGN REFINEMENTS
   Warmer, happier colour treatment + settled header
========================================================= */

:root {
    --rm-gold: #c2a36f;

    --rm-sage: #899c84;
    --rm-sage-pale: #edf1eb;

    --rm-peach: #bd8f75;
    --rm-peach-pale: #f7ebe4;

    --rm-blue-pale: #eef1f4;
    --rm-gold-pale: #f4eee3;
}


/* Hero: subtle warmth rather than extra colour */

.rm-hero-copy {
    background:
        radial-gradient(
            circle at 20% 25%,
            rgba(216, 169, 141, 0.13),
            transparent 38%
        ),
        radial-gradient(
            circle at 25% 16%,
            rgba(255, 255, 255, 0.90),
            rgba(255, 255, 255, 0) 40%
        ),
        linear-gradient(
            105deg,
            #fbfaf8 0%,
            #f5f2ed 70%,
            #ebe5dd 100%
        );
}


/* Four benefits: soft individual colour identities */

.rm-benefit:nth-child(1) .rm-benefit-icon {
    background: var(--rm-sage-pale);
}

.rm-benefit:nth-child(2) .rm-benefit-icon {
    background: var(--rm-peach-pale);
}

.rm-benefit:nth-child(3) .rm-benefit-icon {
    background: var(--rm-blue-pale);
}

.rm-benefit:nth-child(4) .rm-benefit-icon {
    background: var(--rm-gold-pale);
}


/* Emotional statement */

.rm-home-statement {
    background:
        linear-gradient(
            180deg,
            #fbfaf8 0%,
            #f8f5f1 100%
        );
}


/* How it works: fresh, light sage wash */

.rm-home-process {
    background:
        linear-gradient(
            135deg,
            #f8faf7 0%,
            #f1f5ef 100%
        );
}

.rm-home-step {
    background: rgba(255, 255, 255, 0.80);

    box-shadow:
        0 14px 34px
        rgba(23, 25, 29, 0.04);
}

.rm-home-step:nth-child(1) .rm-home-step-number {
    background: var(--rm-dark);
}

.rm-home-step:nth-child(2) .rm-home-step-number {
    background: var(--rm-sage);
}

.rm-home-step:nth-child(3) .rm-home-step-number {
    background: var(--rm-peach);
}


/* Examples remain neutral so the videos provide the colour */

.rm-home-examples {
    background: #fbfaf8;
}


/* Restoration - single comparison image */

.rm-home-restoration {
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfaf8 100%
        );
}

.rm-home-restoration-single {
    width: 100%;
    max-width: 950px;

    margin: 0 auto;
    padding: 30px 50px;

    overflow: hidden;

    border: 1px solid var(--rm-line);
    border-radius: var(--rm-radius-large);

    background:
        linear-gradient(
            135deg,
            #f6f3ee 0%,
            #edf1eb 100%
        );

    box-shadow:
        0 20px 55px
        rgba(23, 25, 29, 0.07);
}

.rm-home-restoration-image {
    display: block;

    width: 100%;
    max-width: 750px;
    height: auto;

    margin: 0 auto;
}

.rm-home-restoration-message {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 70px;

    align-items: start;

    max-width: 950px;

    margin: 42px auto 0;
    padding: 42px 46px;

    border: 1px solid var(--rm-line);
    border-radius: var(--rm-radius-medium);

    background: var(--rm-paper);
}

.rm-home-restoration-message h3 {
    max-width: 520px;

    margin: 0;

    color: var(--rm-ink);

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(29px, 3vw, 42px);
    font-weight: 400;

    line-height: 1.12;
    letter-spacing: -0.025em;
}

.rm-home-restoration-message > div:last-child > p {
    margin: 0 0 16px;

    color: var(--rm-soft-ink);

    font-size: 15px;
    line-height: 1.75;
}

.rm-home-restoration-message .rm-btn {
    margin-top: 10px;
}


/* Promise: dark remains, but with a hint of life */

.rm-home-promise {
    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(137, 156, 132, 0.14),
            transparent 34%
        ),
        #2f3942;
}


/* Reviews: soft warmth and tiny colour accents */

.rm-home-reviews {
    background:
        linear-gradient(
            180deg,
            #fbfaf8 0%,
            #f7f3ee 100%
        );
}

.rm-home-stars {
    color: var(--rm-gold);
}

.rm-home-review:nth-child(1) {
    box-shadow: inset 0 3px 0 var(--rm-sage);
}

.rm-home-review:nth-child(2) {
    box-shadow: inset 0 3px 0 var(--rm-peach);
}

.rm-home-review:nth-child(3) {
    box-shadow: inset 0 3px 0 var(--rm-gold);
}

.rm-home-review:nth-child(4) {
    box-shadow: inset 0 3px 0 #8fa0ad;
}


/* Final CTA: warm on one side, fresh on the other */

.rm-home-final {
    background: #fbfaf8;
}

.rm-home-final-card {
    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(137, 156, 132, 0.18),
            transparent 34%
        ),
        radial-gradient(
            circle at 90% 10%,
            rgba(216, 169, 141, 0.24),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #f3efe9,
            #e8e2d8
        );
}


/* Final responsive refinements */


/* =========================================================
   HOW IT WORKS PAGE
========================================================= */


/* =========================================================
   HERO
========================================================= */

.rm-hiw-hero {
    padding: 72px 0 82px;

    background:
        radial-gradient(
            circle at 8% 15%,
            rgba(216, 169, 141, 0.18),
            transparent 30%
        ),
        radial-gradient(
            circle at 90% 25%,
            rgba(137, 156, 132, 0.15),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #fbfaf8 0%,
            #f4efe9 100%
        );
}

.rm-hiw-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 70px;
    align-items: center;
}

.rm-hiw-hero-copy h1 {
    max-width: 760px;
    font-size: clamp(48px, 6vw, 78px);
}

.rm-hiw-hero-intro {
    max-width: 680px;
    margin: 28px 0 30px;

    color: var(--rm-soft-ink);

    font-size: 19px;
    line-height: 1.72;
}

.rm-hiw-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.rm-hiw-hero-card {
    position: relative;
    overflow: hidden;

    padding: 42px;

    border-radius: 28px;

    background:
        linear-gradient(
            145deg,
            #35404a 0%,
            #26313a 100%
        );

    color: #ffffff;

    box-shadow:
        0 26px 60px
        rgba(30, 39, 46, 0.16);
}

.rm-hiw-hero-card::after {
    content: "";

    position: absolute;
    right: -70px;
    bottom: -70px;

    width: 220px;
    height: 220px;

    border-radius: 50%;

    background: rgba(189, 143, 117, 0.16);
}

.rm-hiw-hero-number {
    margin-bottom: 44px;

    color: rgba(255, 255, 255, 0.22);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 82px;
    line-height: 0.8;
}

.rm-hiw-hero-card-kicker {
    margin: 0 0 12px;

    color: #dcc6a8;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.rm-hiw-hero-card h2 {
    max-width: 430px;

    margin: 0 0 18px;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 34px;
    font-weight: 400;

    line-height: 1.12;
}

.rm-hiw-hero-card > p:not(.rm-hiw-hero-card-kicker) {
    max-width: 460px;
    margin: 0;

    color: #d6dade;

    font-size: 15px;
    line-height: 1.75;
}

.rm-hiw-hero-card-note {
    display: inline-block;

    margin-top: 28px;
    padding: 10px 14px;

    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;

    background: rgba(255, 255, 255, 0.05);
    color: #ffffff;

    font-size: 12px;
}


/* =========================================================
   JOURNEY
========================================================= */

.rm-hiw-journey {
    padding: 105px 0;

    background: #ffffff;
}

.rm-hiw-journey-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.rm-hiw-stage {
    position: relative;
    min-height: 320px;

    padding: 28px;

    overflow: hidden;

    border: 1px solid rgba(23, 25, 29, 0.06);
    border-radius: 20px;

    background: #f7f7f6;
}

.rm-hiw-stage::after {
    content: "";

    position: absolute;
    right: -55px;
    bottom: -55px;

    width: 150px;
    height: 150px;

    border-radius: 50%;

    opacity: 0.22;
}

.rm-hiw-stage--sage {
    background: #edf2eb;
}

.rm-hiw-stage--sage::after {
    background: #6f8969;
}

.rm-hiw-stage--peach {
    background: #f8ebe4;
}

.rm-hiw-stage--peach::after {
    background: #d18767;
}

.rm-hiw-stage--blue {
    background: #eaf0f5;
}

.rm-hiw-stage--blue::after {
    background: #6d8da5;
}

.rm-hiw-stage--gold {
    background: #f5eedf;
}

.rm-hiw-stage--gold::after {
    background: #c09a58;
}

.rm-hiw-stage--coral {
    background: #f6e1dc;
}

.rm-hiw-stage--coral::after {
    background: #c56f5d;
}

.rm-hiw-stage--navy {
    background: #e4e9ed;
}

.rm-hiw-stage--navy::after {
    background: #35404a;
}

.rm-hiw-stage-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 48px;
}

.rm-hiw-stage-number {
    color: rgba(23, 25, 29, 0.28);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 42px;
}

.rm-hiw-stage-label {
    padding: 6px 10px;

    border-radius: 999px;

    background: rgba(255, 255, 255, 0.64);
    color: #3d4248;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rm-hiw-stage h3 {
    max-width: 300px;
    margin: 0 0 14px;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 26px;
    font-weight: 400;

    line-height: 1.18;
}

.rm-hiw-stage p {
    position: relative;
    z-index: 2;

    margin: 0;

    color: #555b61;

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   PHOTO GUIDE
========================================================= */

.rm-hiw-photo-guide {
    padding: 100px 0;

    background:
        linear-gradient(
            135deg,
            #f8faf7 0%,
            #f1f5ef 100%
        );

    border-top: 1px solid var(--rm-line);
    border-bottom: 1px solid var(--rm-line);
}

.rm-hiw-photo-guide-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 80px;
    align-items: start;
}

.rm-hiw-photo-guide h2 {
    font-size: clamp(40px, 5vw, 62px);
}

.rm-hiw-photo-guide .rm-lead {
    max-width: 520px;
    margin-top: 24px;
}

.rm-hiw-checklist {
    display: grid;
    gap: 12px;
}

.rm-hiw-check {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;

    padding: 21px;

    border: 1px solid rgba(23, 25, 29, 0.07);
    border-radius: 16px;

    background: rgba(255, 255, 255, 0.78);
}

.rm-hiw-check-icon {
    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: var(--rm-sage);
    color: #ffffff;

    font-size: 18px;
    font-weight: 700;
}

.rm-hiw-check strong {
    display: block;
    margin-bottom: 5px;

    color: #252a2f;

    font-size: 15px;
}

.rm-hiw-check p {
    margin: 0;

    color: #666c71;

    font-size: 14px;
    line-height: 1.62;
}


/* =========================================================
   BOLD COLOUR BAND
========================================================= */

.rm-hiw-colour-band {
    padding: 24px 0 100px;

    background: #fbfaf8;
}

.rm-hiw-colour-band-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.rm-hiw-colour-panel {
    min-height: 275px;
    padding: 30px;

    border-radius: 22px;

    color: #ffffff;
}

.rm-hiw-colour-panel--coral {
    background:
        linear-gradient(
            135deg,
            #c86f5e 0%,
            #ad5d4f 100%
        );
}

.rm-hiw-colour-panel--sage {
    background:
        linear-gradient(
            135deg,
            #7e9879 0%,
            #667f62 100%
        );
}

.rm-hiw-colour-panel--blue {
    background:
        linear-gradient(
            135deg,
            #4f6d82 0%,
            #3e596c 100%
        );
}

.rm-hiw-colour-label {
    display: block;
    margin-bottom: 44px;

    color: rgba(255, 255, 255, 0.76);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rm-hiw-colour-panel h3 {
    margin: 0 0 12px;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 32px;
    font-weight: 400;

    line-height: 1.1;
}

.rm-hiw-colour-panel p {
    max-width: 330px;
    margin: 0;

    color: rgba(255, 255, 255, 0.86);

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   CARE
========================================================= */

.rm-hiw-care {
    padding: 0 0 100px;

    background: #fbfaf8;
}

.rm-hiw-care-card {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 70px;

    padding: 64px;

    border-radius: 28px;

    background:
        radial-gradient(
            circle at 12% 12%,
            rgba(137, 156, 132, 0.18),
            transparent 34%
        ),
        #2f3942;

    color: #ffffff;
}

.rm-hiw-care h2 {
    color: #ffffff;

    font-size: clamp(42px, 5vw, 64px);
}

.rm-hiw-care-intro {
    margin: 0;

    color: #d7d9dc;

    font-size: 16px;
    line-height: 1.85;
}

.rm-hiw-care-points {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;

    margin-top: 28px;
}

.rm-hiw-care-points > div {
    padding: 18px;

    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 14px;

    background: rgba(255, 255, 255, 0.04);
}

.rm-hiw-care-points strong {
    display: block;
    margin-bottom: 6px;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 20px;
    font-weight: 400;
}

.rm-hiw-care-points span {
    color: #bfc3c7;

    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   RESTORATION OPTION
========================================================= */

.rm-hiw-restoration {
    padding: 100px 0;

    background: #ffffff;

    border-top: 1px solid var(--rm-line);
}

.rm-hiw-restoration-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 65px;

    align-items: center;
}

.rm-hiw-restoration-copy h2 {
    font-size: clamp(40px, 5vw, 62px);
}

.rm-hiw-restoration-copy .rm-lead {
    margin: 24px 0 28px;
}

.rm-hiw-restoration-visual {
    padding: 24px;

    border: 1px solid var(--rm-line);
    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            #f6f3ee 0%,
            #edf1eb 100%
        );

    box-shadow:
        0 20px 50px
        rgba(23, 25, 29, 0.07);
}

.rm-hiw-restoration-visual img {
    width: 100%;
    border-radius: 14px;
}


/* =========================================================
   FINAL CTA
========================================================= */

.rm-hiw-final {
    padding: 25px 0 110px;

    background: #fbfaf8;
}

.rm-hiw-final-card {
    padding: 78px 52px;

    border-radius: 30px;

    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(137, 156, 132, 0.20),
            transparent 34%
        ),
        radial-gradient(
            circle at 90% 12%,
            rgba(216, 169, 141, 0.28),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #f3efe9 0%,
            #e8e2d8 100%
        );

    text-align: center;
}

.rm-hiw-final-card h2 {
    max-width: 820px;
    margin: 0 auto;

    font-size: clamp(42px, 6vw, 70px);
}

.rm-hiw-final-card > p:not(.rm-eyebrow) {
    max-width: 620px;
    margin: 24px auto 30px;

    color: #5d5b57;

    font-size: 17px;
    line-height: 1.75;
}


/* =========================================================
   TABLET
========================================================= */

@media only screen and (max-width: 980px) {

    .rm-hiw-hero-grid,
    .rm-hiw-photo-guide-grid,
    .rm-hiw-care-card,
    .rm-hiw-restoration-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .rm-hiw-journey-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rm-hiw-colour-band-grid {
        grid-template-columns: 1fr;
    }

    .rm-hiw-colour-panel {
        min-height: 0;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media only screen and (max-width: 680px) {

    .rm-hiw-hero {
        padding: 54px 0 62px;
    }

    .rm-hiw-hero-card {
        padding: 30px 24px;
    }

    .rm-hiw-hero-number {
        margin-bottom: 30px;
        font-size: 64px;
    }

    .rm-hiw-hero-actions {
        display: grid;
    }

    .rm-hiw-hero-actions .rm-btn {
        width: 100%;
    }

    .rm-hiw-journey,
    .rm-hiw-photo-guide,
    .rm-hiw-restoration {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .rm-hiw-journey-grid {
        grid-template-columns: 1fr;
    }

    .rm-hiw-stage {
        min-height: 0;
    }

    .rm-hiw-colour-band {
        padding-bottom: 72px;
    }

    .rm-hiw-care {
        padding-bottom: 72px;
    }

    .rm-hiw-care-card {
        padding: 38px 24px;
        border-radius: 22px;
    }

    .rm-hiw-care-points {
        grid-template-columns: 1fr;
    }

    .rm-hiw-restoration-visual {
        padding: 14px;
    }

    .rm-hiw-final {
        padding-bottom: 72px;
    }

    .rm-hiw-final-card {
        padding: 58px 24px;
        border-radius: 22px;
    }
}


/* =========================================================
   REMEMOIR
   Examples Page
========================================================= */


/* =========================================================
   1. HERO
========================================================= */

.rm-ex-hero {
    padding: 86px 0 92px;

    background:
        radial-gradient(
            circle at 14% 20%,
            rgba(200, 111, 94, 0.16),
            transparent 30%
        ),
        radial-gradient(
            circle at 84% 18%,
            rgba(137, 156, 132, 0.18),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #fbfaf8 0%,
            #f3eee7 100%
        );
}

.rm-ex-hero-inner {
    max-width: 900px;

    margin: 0 auto;

    text-align: center;
}

.rm-ex-hero-inner .rm-eyebrow {
    justify-content: center;
}

.rm-ex-hero h1 {
    font-size: clamp(52px, 7vw, 88px);
}

.rm-ex-hero-inner > p:not(.rm-eyebrow) {
    max-width: 680px;

    margin: 28px auto 31px;

    color: var(--rm-soft-ink);

    font-size: 19px;
    line-height: 1.75;
}


/* =========================================================
   2. INTRO STRIP
========================================================= */

.rm-ex-strip {
    padding: 30px 0;

    background: #ffffff;

    border-top: 1px solid var(--rm-line);
    border-bottom: 1px solid var(--rm-line);
}

.rm-ex-strip-grid {
    display: grid;

    grid-template-columns:
        1fr
        60px
        1fr
        60px
        1fr;

    align-items: center;

    text-align: center;
}

.rm-ex-strip strong,
.rm-ex-strip span {
    display: block;
}

.rm-ex-strip strong {
    color: #292d31;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 400;
}

.rm-ex-strip span {
    color: #74797e;

    font-size: 12px;
}

.rm-ex-strip b {
    color: var(--rm-peach);

    font-size: 26px;
    font-weight: 400;
}


/* =========================================================
   3. TRANSFORMATIONS
========================================================= */

.rm-ex-transform {
    padding: 105px 0;

    background: #fbfaf8;
}

.rm-ex-story {
    display: grid;

    grid-template-columns:
        0.72fr
        1.28fr;

    gap: 58px;

    align-items: center;

    margin-top: 78px;
    padding-top: 78px;

    border-top: 1px solid var(--rm-line);
}

.rm-ex-story--reverse .rm-ex-copy {
    order: 2;
}

.rm-ex-story--reverse .rm-ex-reveal {
    order: 1;
}

.rm-ex-copy {
    padding: 12px;
}

.rm-ex-num {
    display: block;

    margin-bottom: 30px;

    color: rgba(23, 25, 29, 0.17);

    font-family: Georgia, "Times New Roman", serif;
    font-size: 66px;
    line-height: 0.8;
}

.rm-ex-label {
    margin: 0 0 12px !important;

    color: var(--rm-peach) !important;

    font-size: 10px !important;
    font-weight: 700;

    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.rm-ex-copy h3 {
    margin: 0 0 18px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 400;

    line-height: 1.08;
    letter-spacing: -0.03em;
}

.rm-ex-copy p {
    margin: 0;

    color: var(--rm-soft-ink);

    font-size: 15px;
    line-height: 1.8;
}


/* =========================================================
   4. STILL PHOTO → VIDEO REVEAL
========================================================= */

.rm-ex-reveal {
    position: relative;

    overflow: hidden;

    aspect-ratio: 16 / 9;

    border: 1px solid var(--rm-line);
    border-radius: 24px;

    background: #111317;

    box-shadow:
        0 22px 58px
        rgba(23, 25, 29, 0.10);
}

.rm-ex-still,
.rm-ex-video {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;
}

.rm-ex-still {
    z-index: 2;

    transition:
        opacity 500ms ease,
        visibility 500ms ease;
}

.rm-ex-still img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    filter: brightness(0.82);
}

.rm-ex-video {
    z-index: 1;

    object-fit: contain;

    background: #111317;
}

.rm-ex-reveal.is-playing .rm-ex-still {
    opacity: 0;

    visibility: hidden;

    pointer-events: none;
}


/* =========================================================
   5. PLAY BUTTON
========================================================= */

.rm-ex-play {
    position: absolute;

    z-index: 3;

    left: 50%;
    bottom: 28px;

    transform: translateX(-50%);

    display: flex;

    align-items: center;

    gap: 13px;

    padding:
        10px
        17px
        10px
        10px;

    border:
        1px solid
        rgba(255, 255, 255, 0.45);

    border-radius: 999px;

    background:
        rgba(22, 25, 28, 0.65);

    color: #ffffff;

    backdrop-filter: blur(8px);

    cursor: pointer;

    white-space: nowrap;
}

.rm-ex-play i {
    width: 36px;
    height: 36px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: #ffffff;

    color: #35404a;

    font-style: normal;
    font-size: 11px;
}

.rm-ex-play span {
    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.10em;
    text-transform: uppercase;
}


/* =========================================================
   6. MEMORY TYPES
========================================================= */

.rm-ex-moments {
    padding: 100px 0;

    background: #ffffff;
}

.rm-ex-moments h2 {
    margin-bottom: 42px;

    font-size: clamp(40px, 5vw, 64px);
}

.rm-ex-moment-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 14px;
}

.rm-ex-moment-grid article {
    min-height: 290px;

    padding: 28px;

    border-radius: 22px;

    color: #ffffff;
}

.rm-ex-moment-grid .coral {
    background:
        linear-gradient(
            145deg,
            #c86f5e,
            #aa594c
        );
}

.rm-ex-moment-grid .sage {
    background:
        linear-gradient(
            145deg,
            #7e9879,
            #61795e
        );
}

.rm-ex-moment-grid .blue {
    background:
        linear-gradient(
            145deg,
            #54758d,
            #3d5a6f
        );
}

.rm-ex-moment-grid .gold {
    background:
        linear-gradient(
            145deg,
            #b58f54,
            #94723d
        );
}

.rm-ex-moment-grid article > span {
    display: block;

    margin-bottom: 70px;

    color:
        rgba(255, 255, 255, 0.55);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 36px;
}

.rm-ex-moment-grid h3 {
    margin: 0 0 10px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 30px;
    font-weight: 400;
}

.rm-ex-moment-grid p {
    margin: 0;

    color:
        rgba(255, 255, 255, 0.86);

    font-size: 14px;
    line-height: 1.65;
}


/* =========================================================
   7. CARE / EXPECTATIONS
========================================================= */

.rm-ex-care {
    padding: 0 0 100px;

    background: #ffffff;
}

.rm-ex-care-card {
    display: grid;

    grid-template-columns:
        0.9fr
        1.1fr;

    gap: 70px;

    padding: 64px;

    border-radius: 28px;

    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(200, 111, 94, 0.14),
            transparent 32%
        ),
        #2f3942;

    color: #ffffff;
}

.rm-ex-care-card h2 {
    color: #ffffff;

    font-size: clamp(40px, 5vw, 60px);
}

.rm-ex-care-intro {
    margin: 0;

    color: #d7d9dc;

    font-size: 16px;
    line-height: 1.82;
}

.rm-ex-care-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 12px;

    margin-top: 28px;
}

.rm-ex-care-grid div {
    padding: 18px;

    border:
        1px solid
        rgba(255, 255, 255, 0.11);

    border-radius: 14px;

    background:
        rgba(255, 255, 255, 0.04);
}

.rm-ex-care-grid strong,
.rm-ex-care-grid span {
    display: block;
}

.rm-ex-care-grid strong {
    margin-bottom: 6px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 20px;
    font-weight: 400;
}

.rm-ex-care-grid span {
    color: #bfc3c7;

    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   8. FINAL CTA
========================================================= */

.rm-ex-final {
    padding: 25px 0 110px;

    background: #fbfaf8;
}

.rm-ex-final-card {
    padding: 78px 52px;

    border-radius: 30px;

    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(137, 156, 132, 0.20),
            transparent 34%
        ),
        radial-gradient(
            circle at 90% 12%,
            rgba(216, 169, 141, 0.28),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #f3efe9,
            #e8e2d8
        );

    text-align: center;
}

.rm-ex-final-card .rm-eyebrow {
    justify-content: center;
}

.rm-ex-final-card h2 {
    font-size:
        clamp(42px, 6vw, 70px);
}

.rm-ex-final-card > p:not(.rm-eyebrow) {
    max-width: 650px;

    margin:
        24px
        auto
        30px;

    color: #5d5b57;

    font-size: 17px;
    line-height: 1.75;
}

.rm-ex-final-card > div {
    display: flex;

    justify-content: center;

    gap: 12px;

    flex-wrap: wrap;
}


/* =========================================================
   9. TABLET
========================================================= */

@media only screen and (max-width: 900px) {

    .rm-ex-story {
        grid-template-columns: 1fr;

        gap: 28px;
    }

    .rm-ex-story--reverse .rm-ex-copy,
    .rm-ex-story--reverse .rm-ex-reveal {
        order: initial;
    }

    .rm-ex-moment-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .rm-ex-care-card {
        grid-template-columns: 1fr;

        gap: 36px;
    }

}


/* =========================================================
   10. MOBILE
========================================================= */

@media only screen and (max-width: 650px) {

    .rm-ex-hero {
        padding:
            58px
            0
            64px;
    }

    .rm-ex-strip-grid {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .rm-ex-strip b {
        transform: rotate(90deg);
    }

    .rm-ex-transform,
    .rm-ex-moments {
        padding:
            72px
            0;
    }

    .rm-ex-story {
        margin-top: 50px;
        padding-top: 50px;
    }

    .rm-ex-play {
        bottom: 16px;
    }

    .rm-ex-play span {
        font-size: 9px;
    }

    .rm-ex-moment-grid,
    .rm-ex-care-grid {
        grid-template-columns: 1fr;
    }

    .rm-ex-moment-grid article {
        min-height: 220px;
    }

    .rm-ex-moment-grid article > span {
        margin-bottom: 40px;
    }

    .rm-ex-care {
        padding-bottom: 72px;
    }

    .rm-ex-care-card {
        padding: 38px 24px;
    }

    .rm-ex-final {
        padding-bottom: 72px;
    }

    .rm-ex-final-card {
        padding: 58px 24px;
    }

    .rm-ex-final-card > div {
        display: grid;
    }

    .rm-ex-final-card .rm-btn {
        width: 100%;
    }

}


/* =========================================================
   REMEMOIR - RESTORATION PAGE
========================================================= */

.rm-res-hero {
    padding:78px 0 88px;
    background:radial-gradient(circle at 10% 15%,rgba(194,163,111,.18),transparent 30%),radial-gradient(circle at 88% 18%,rgba(137,156,132,.18),transparent 34%),linear-gradient(135deg,#fbfaf8,#f2eee7)
}

.rm-res-hero-grid {
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    gap:68px;
    align-items:center
}

.rm-res-hero h1 {
    font-size:clamp(48px,5.8vw,76px)
}

.rm-res-hero h1 em {
    color:#9a735e;
    font-style:italic;
    font-weight:400
}

.rm-res-lead {
    max-width:650px;
    margin:28px 0 30px;
    color:var(--rm-soft-ink);
    font-size:18px;
    line-height:1.76
}

.rm-res-actions {
    display:flex;
    flex-wrap:wrap;
    gap:14px
}

.rm-res-hero-image {
    position:relative;
    padding:25px;
    border:1px solid var(--rm-line);
    border-radius:28px;
    background:linear-gradient(135deg,#f4eee5,#e8eee5);
    box-shadow:0 24px 60px rgba(23,25,29,.09)
}

.rm-res-hero-image img {
    width:100%;
    border-radius:16px
}

.rm-res-hero-image span {
    position:absolute;
    right:42px;
    bottom:42px;
    padding:9px 13px;
    border:1px solid rgba(255,255,255,.42);
    border-radius:999px;
    background:rgba(31,37,42,.72);
    color:#fff;
    font-size:10px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase
}

.rm-res-help {
    padding:105px 0;
    background:#fff
}

.rm-res-help-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px
}

.rm-res-help-grid article {
    min-height:300px;
    padding:28px;
    border-radius:22px
}

.rm-res-help-grid article>b {
    display:block;
    margin-bottom:66px;
    color:rgba(23,25,29,.26);
    font:400 38px Georgia,serif
}

.rm-res-help-grid h3 {
    margin:0 0 11px;
    font:400 28px Georgia,serif
}

.rm-res-help-grid p {
    margin:0;
    color:#555b61;
    font-size:14px;
    line-height:1.68
}

.rm-res-help-grid .coral {
    background:#f7e5df
}

.rm-res-help-grid .sage {
    background:#eaf0e8
}

.rm-res-help-grid .blue {
    background:#e7eef3
}

.rm-res-help-grid .gold {
    background:#f3ebdc
}

.rm-res-compare-section {
    padding:100px 0;
    background:linear-gradient(135deg,#f8faf7,#f3eee7);
    border-block:1px solid var(--rm-line)
}

.rm-res-compare-head {
    max-width:760px;
    margin:0 auto 38px;
    text-align:center
}

.rm-res-compare-head .rm-eyebrow {
    justify-content:center
}

.rm-res-compare-head h2 {
    font-size:clamp(40px,5vw,62px)
}

.rm-res-compare-head>p:last-child {
    color:var(--rm-soft-ink)
}

.rm-res-compare {
    --position:50%;
    position:relative;
    overflow:hidden;
    max-width:900px;
    aspect-ratio:16/10;
    margin:0 auto;
    border:1px solid var(--rm-line);
    border-radius:26px;
    background:#ddd;
    box-shadow:0 22px 60px rgba(23,25,29,.1)
}

.rm-res-after,.rm-res-before,.rm-res-before img {
    width:100%;
    height:100%;
    object-fit:cover
}

.rm-res-after {
    position:absolute;
    inset:0
}

.rm-res-before {
    position:absolute;
    inset:0;
    width:var(--position);
    overflow:hidden
}

.rm-res-before img {
    position:absolute;
    inset:0;
    width:900px;
    max-width:none
}

.rm-res-divider {
    position:absolute;
    z-index:4;
    top:0;
    bottom:0;
    left:var(--position);
    width:3px;
    background:#fff;
    transform:translateX(-50%);
    pointer-events:none
}

.rm-res-divider i {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border:3px solid #fff;
    border-radius:50%;
    background:#35404a;
    color:#fff;
    font-style:normal;
    font-size:22px;
    box-shadow:0 6px 22px rgba(0,0,0,.2)
}

.rm-res-range {
    position:absolute;
    z-index:6;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    opacity:0;
    cursor:ew-resize
}

.rm-res-tag {
    position:absolute;
    z-index:3;
    top:18px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(30,34,38,.66);
    color:#fff;
    font-size:10px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase
}

.rm-res-tag.before {
    left:18px
}

.rm-res-tag.after {
    right:18px
}

.rm-res-file-note {
    max-width:900px;
    margin:16px auto 0;
    color:#777b80;
    font-size:12px;
    text-align:center
}

.rm-res-journey {
    padding:105px 0;
    background:#fff
}

.rm-res-journey>.rm-shell>h2 {
    max-width:760px;
    margin-bottom:44px;
    font-size:clamp(42px,5vw,64px)
}

.rm-res-journey-grid {
    display:grid;
    grid-template-columns:1fr 60px 1fr 60px 1fr;
    align-items:center
}

.rm-res-journey-grid article {
    min-height:270px;
    padding:30px;
    border:1px solid var(--rm-line);
    border-radius:20px;
    background:#fbfaf8
}

.rm-res-journey-grid article:nth-of-type(1) {
    box-shadow:inset 0 4px 0 var(--rm-peach)
}

.rm-res-journey-grid article:nth-of-type(2) {
    box-shadow:inset 0 4px 0 var(--rm-sage)
}

.rm-res-journey-grid article:nth-of-type(3) {
    box-shadow:inset 0 4px 0 #58768b
}

.rm-res-journey-grid article span {
    display:block;
    margin-bottom:55px;
    color:rgba(23,25,29,.2);
    font:36px Georgia,serif
}

.rm-res-journey-grid h3 {
    margin:0 0 10px;
    font:400 29px Georgia,serif
}

.rm-res-journey-grid p {
    margin:0;
    color:var(--rm-soft-ink);
    font-size:14px;
    line-height:1.65
}

.rm-res-journey-grid>b {
    text-align:center;
    color:var(--rm-peach);
    font-size:27px;
    font-weight:400
}

.rm-res-care {
    padding:0 0 100px;
    background:#fff
}

.rm-res-care-card {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:70px;
    padding:64px;
    border-radius:28px;
    background:radial-gradient(circle at 12% 12%,rgba(194,163,111,.15),transparent 34%),#2f3942;
    color:#fff
}

.rm-res-care-card h2 {
    color:#fff;
    font-size:clamp(40px,5vw,60px)
}

.rm-res-care-intro {
    margin:0;
    color:#d7d9dc;
    font-size:16px;
    line-height:1.82
}

.rm-res-care-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
    margin-top:28px
}

.rm-res-care-grid div {
    padding:18px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:14px;
    background:rgba(255,255,255,.04)
}

.rm-res-care-grid strong,.rm-res-care-grid span {
    display:block
}

.rm-res-care-grid strong {
    margin-bottom:6px;
    font:400 20px Georgia,serif
}

.rm-res-care-grid span {
    color:#bfc3c7;
    font-size:13px;
    line-height:1.5
}

.rm-res-limits {
    padding:100px 0;
    background:linear-gradient(135deg,#f7e7e1,#f7f0e6)
}

.rm-res-limits-grid {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:80px;
    align-items:start
}

.rm-res-limits-grid h2 {
    font-size:clamp(40px,5vw,62px)
}

.rm-res-limits-grid>div:last-child {
    padding:10px 0
}

.rm-res-limits-grid>div:last-child p {
    margin:0 0 18px;
    color:#555b61;
    font-size:16px;
    line-height:1.8
}

.rm-res-final {
    padding:100px 0 110px;
    background:#fbfaf8
}

.rm-res-final-card {
    padding:78px 52px;
    border-radius:30px;
    background:radial-gradient(circle at 12% 18%,rgba(137,156,132,.2),transparent 34%),radial-gradient(circle at 90% 12%,rgba(216,169,141,.28),transparent 32%),linear-gradient(135deg,#f3efe9,#e8e2d8);
    text-align:center
}

.rm-res-final-card .rm-eyebrow {
    justify-content:center
}

.rm-res-final-card h2 {
    font-size:clamp(42px,6vw,70px)
}

.rm-res-final-card>p:not(.rm-eyebrow) {
    max-width:650px;
    margin:24px auto 30px;
    color:#5d5b57;
    font-size:17px;
    line-height:1.75
}

.rm-res-final-card>div {
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap
}

@media(max-width:950px) {
    .rm-res-hero-grid,.rm-res-care-card,.rm-res-limits-grid {
        grid-template-columns:1fr;
        gap:38px
    }

    .rm-res-help-grid {
        grid-template-columns:repeat(2,1fr)
    }

    .rm-res-journey-grid {
        grid-template-columns:1fr;
        gap:14px
    }

    .rm-res-journey-grid>b {
        transform:rotate(90deg)
    }

    .rm-res-before img {
        width:100vw
    }

}

@media(max-width:650px) {
    .rm-res-hero {
        padding:56px 0 64px
    }

    .rm-res-actions {
        display:grid
    }

    .rm-res-actions .rm-btn {
        width:100%
    }

    .rm-res-help,.rm-res-compare-section,.rm-res-journey,.rm-res-limits {
        padding:72px 0
    }

    .rm-res-help-grid,.rm-res-care-grid {
        grid-template-columns:1fr
    }

    .rm-res-help-grid article {
        min-height:220px
    }

    .rm-res-help-grid article>b {
        margin-bottom:40px
    }

    .rm-res-hero-image {
        padding:14px
    }

    .rm-res-hero-badge {
        right:26px;
        bottom:26px
    }

    .rm-res-compare {
        border-radius:18px
    }

    .rm-res-divider i {
        width:48px;
        height:48px
    }

    .rm-res-care {
        padding-bottom:72px
    }

    .rm-res-care-card {
        padding:38px 24px
    }

    .rm-res-final {
        padding:72px 0
    }

    .rm-res-final-card {
        padding:58px 24px
    }

    .rm-res-final-card>div {
        display:grid
    }

    .rm-res-final-card .rm-btn {
        width:100%
    }

}



/* =========================================================
   REMEMOIR - REVIEWS PAGE
========================================================= */


/* HERO */

.rm-rev-hero {
    padding: 88px 0 100px;

    background:
        radial-gradient(
            circle at 18% 16%,
            rgba(216, 169, 141, 0.18),
            transparent 31%
        ),
        radial-gradient(
            circle at 82% 20%,
            rgba(137, 156, 132, 0.18),
            transparent 33%
        ),
        linear-gradient(
            135deg,
            #fbfaf8,
            #f4efe9
        );
}

.rm-rev-hero-inner {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}

.rm-rev-hero-inner .rm-eyebrow {
    justify-content: center;
}

.rm-rev-hero h1 {
    font-size: clamp(52px, 7vw, 86px);
}

.rm-rev-hero-intro {
    max-width: 700px;
    margin: 28px auto 0;

    color: var(--rm-soft-ink);

    font-size: 19px;
    line-height: 1.78;
}


/* FEATURED REVIEW */

.rm-rev-featured {
    padding: 38px 0 105px;
    background: #ffffff;
}

.rm-rev-featured-card {
    display: grid;

    grid-template-columns:
        100px
        1.4fr
        0.7fr;

    gap: 38px;
    align-items: center;

    padding: 54px;

    border-radius: 28px;

    background:
        radial-gradient(
            circle at 92% 10%,
            rgba(216, 169, 141, 0.16),
            transparent 32%
        ),
        #2f3942;

    color: #ffffff;

    box-shadow:
        0 24px 65px
        rgba(23, 25, 29, 0.12);
}

.rm-rev-quote-mark {
    align-self: start;

    color: #dcc6a8;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 125px;
    line-height: 0.7;
}

.rm-rev-stars {
    color: #d6b06d;

    font-size: 13px;
    letter-spacing: 0.20em;
}

.rm-rev-featured-card blockquote {
    max-width: 720px;

    margin: 18px 0 26px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 3.4vw, 43px);

    line-height: 1.24;
    letter-spacing: -0.025em;
}

.rm-rev-featured-card aside {
    padding: 25px;

    border:
        1px solid
        rgba(255, 255, 255, 0.12);

    border-radius: 18px;

    background:
        rgba(255, 255, 255, 0.045);
}

.rm-rev-featured-card aside span {
    display: block;

    margin-bottom: 18px;

    color: #dcc6a8;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rm-rev-featured-card aside strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 400;

    line-height: 1.35;
}

.rm-rev-name {
    margin: 0;

    color: #747b81;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rm-rev-featured-card .rm-rev-name {
    color: #bfc5ca;
}


/* REVIEW WALL */

.rm-rev-wall {
    padding: 105px 0;

    background:
        linear-gradient(
            180deg,
            #fbfaf8,
            #f7f3ee
        );

    border-top: 1px solid var(--rm-line);
}

.rm-rev-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 15px;
}

.rm-rev-card {
    min-height: 330px;

    display: flex;
    flex-direction: column;

    padding: 28px;

    border:
        1px solid
        rgba(23, 25, 29, 0.06);

    border-radius: 20px;
}

.rm-rev-card.sage {
    background: #edf2eb;
}

.rm-rev-card.peach {
    background: #f8eae3;
}

.rm-rev-card.blue {
    background: #e9f0f4;
}

.rm-rev-card blockquote {
    flex: 1;

    margin: 20px 0 28px;

    color: #34393e;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;

    line-height: 1.55;
}

.rm-rev-placeholder {
    margin-top: 15px;
    padding: 34px;

    border-radius: 20px;

    background: #f3ebdc;

    text-align: center;
}

.rm-rev-placeholder span {
    color: #8d7046;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rm-rev-placeholder p {
    margin: 10px 0 0;

    color: #6d665c;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
}


/* MADE TO BE SHARED */

.rm-rev-shared {
    padding: 105px 0;
    background: #ffffff;
}

.rm-rev-shared-grid {
    display: grid;

    grid-template-columns:
        0.9fr
        1.1fr;

    gap: 80px;
    align-items: center;
}

.rm-rev-shared h2 {
    font-size: clamp(42px, 5vw, 64px);
}

.rm-rev-shared .rm-lead {
    max-width: 560px;
    margin-top: 24px;
}

.rm-rev-reactions {
    display: grid;
    gap: 12px;
}

.rm-rev-reactions > div {
    padding: 26px 28px;

    border-radius: 18px;

    color: #ffffff;
}

.rm-rev-reactions .coral {
    background:
        linear-gradient(
            135deg,
            #c86f5e,
            #ad5d4f
        );
}

.rm-rev-reactions .sage {
    background:
        linear-gradient(
            135deg,
            #7e9879,
            #667f62
        );
}

.rm-rev-reactions .blue {
    background:
        linear-gradient(
            135deg,
            #4f6d82,
            #3e596c
        );
}

.rm-rev-reactions span {
    display: block;

    margin-bottom: 10px;

    color:
        rgba(255, 255, 255, 0.70);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rm-rev-reactions strong {
    display: block;

    max-width: 520px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 400;

    line-height: 1.35;
}


/* PERSONAL SERVICE */

.rm-rev-care {
    padding: 0 0 105px;
    background: #ffffff;
}

.rm-rev-care-card {
    display: grid;

    grid-template-columns:
        0.9fr
        1.1fr;

    gap: 70px;

    padding: 64px;

    border-radius: 28px;

    background:
        radial-gradient(
            circle at 12% 12%,
            rgba(137, 156, 132, 0.18),
            transparent 34%
        ),
        #2f3942;

    color: #ffffff;
}

.rm-rev-care-card h2 {
    color: #ffffff;

    font-size: clamp(40px, 5vw, 60px);
}

.rm-rev-care-intro {
    margin: 0;

    color: #d7d9dc;

    font-size: 16px;
    line-height: 1.82;
}

.rm-rev-care-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 12px;

    margin-top: 28px;
}

.rm-rev-care-grid > div {
    padding: 18px;

    border:
        1px solid
        rgba(255, 255, 255, 0.11);

    border-radius: 14px;

    background:
        rgba(255, 255, 255, 0.04);
}

.rm-rev-care-grid strong,
.rm-rev-care-grid span {
    display: block;
}

.rm-rev-care-grid strong {
    margin-bottom: 6px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 400;
}

.rm-rev-care-grid span {
    color: #bfc3c7;

    font-size: 13px;
    line-height: 1.5;
}


/* FINAL CTA */

.rm-rev-final {
    padding: 25px 0 110px;
    background: #fbfaf8;
}

.rm-rev-final-card {
    padding: 78px 52px;

    border-radius: 30px;

    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(137, 156, 132, 0.20),
            transparent 34%
        ),
        radial-gradient(
            circle at 90% 12%,
            rgba(216, 169, 141, 0.28),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #f3efe9,
            #e8e2d8
        );

    text-align: center;
}

.rm-rev-final-card .rm-eyebrow {
    justify-content: center;
}

.rm-rev-final-card h2 {
    font-size: clamp(42px, 6vw, 70px);
}

.rm-rev-final-card > p:not(.rm-eyebrow) {
    max-width: 650px;

    margin: 24px auto 30px;

    color: #5d5b57;

    font-size: 17px;
    line-height: 1.75;
}

.rm-rev-final-actions {
    display: flex;

    justify-content: center;

    gap: 12px;

    flex-wrap: wrap;
}


/* TABLET */

@media only screen and (max-width: 950px) {

    .rm-rev-featured-card {
        grid-template-columns:
            80px
            1fr;
    }

    .rm-rev-featured-card aside {
        grid-column: 1 / -1;
    }

    .rm-rev-grid {
        grid-template-columns: 1fr;
    }

    .rm-rev-card {
        min-height: 0;
    }

    .rm-rev-shared-grid,
    .rm-rev-care-card {
        grid-template-columns: 1fr;

        gap: 38px;
    }

}


/* MOBILE */

@media only screen and (max-width: 650px) {

    .rm-rev-hero {
        padding: 58px 0 70px;
    }

    .rm-rev-featured {
        padding-bottom: 72px;
    }

    .rm-rev-featured-card {
        grid-template-columns: 1fr;

        gap: 20px;

        padding: 36px 24px;
    }

    .rm-rev-quote-mark {
        font-size: 80px;
    }

    .rm-rev-featured-card aside {
        grid-column: auto;
    }

    .rm-rev-wall,
    .rm-rev-shared {
        padding: 72px 0;
    }

    .rm-rev-care {
        padding-bottom: 72px;
    }

    .rm-rev-care-card {
        padding: 38px 24px;
    }

    .rm-rev-care-grid {
        grid-template-columns: 1fr;
    }

    .rm-rev-final {
        padding-bottom: 72px;
    }

    .rm-rev-final-card {
        padding: 58px 24px;
    }

    .rm-rev-final-actions {
        display: grid;
    }

    .rm-rev-final-actions .rm-btn {
        width: 100%;
    }

}


/* =========================================================
   REMEMOIR
   Our Promise Page
========================================================= */


/* =========================================================
   1. HERO
========================================================= */

.rm-pr-hero {
    padding: 82px 0 92px;

    background:
        radial-gradient(
            circle at 12% 16%,
            rgba(216, 169, 141, 0.20),
            transparent 30%
        ),
        radial-gradient(
            circle at 86% 20%,
            rgba(84, 117, 141, 0.16),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #fbfaf8 0%,
            #f3eee7 100%
        );
}

.rm-pr-hero-grid {
    display: grid;

    grid-template-columns:
        1.08fr
        0.92fr;

    gap: 70px;

    align-items: center;
}

.rm-pr-hero-copy h1 {
    font-size: clamp(48px, 5.8vw, 76px);
}

.rm-pr-hero-copy h1 em {
    color: #a06f59;

    font-style: italic;
    font-weight: 400;
}

.rm-pr-hero-intro {
    max-width: 690px;

    margin: 28px 0 30px;

    color: var(--rm-soft-ink);

    font-size: 18px;
    line-height: 1.78;
}

.rm-pr-hero-card {
    padding: 42px;

    border-radius: 28px;

    background:
        linear-gradient(
            145deg,
            #4f6d82 0%,
            #354f61 100%
        );

    color: #ffffff;

    box-shadow:
        0 24px 62px
        rgba(40, 57, 70, 0.15);
}

.rm-pr-hero-card-label {
    display: block;

    margin-bottom: 38px;

    color: rgba(255, 255, 255, 0.72);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rm-pr-hero-card h2 {
    margin: 0 0 18px;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(30px, 3.4vw, 42px);
    font-weight: 400;

    line-height: 1.2;
}

.rm-pr-hero-card p {
    margin: 0;

    color: rgba(255, 255, 255, 0.84);

    font-size: 15px;
    line-height: 1.76;
}


/* =========================================================
   2. FOUR CORE PROMISES
========================================================= */

.rm-pr-core {
    padding: 105px 0;

    background: #ffffff;
}

.rm-pr-core-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 14px;
}

.rm-pr-core-card {
    min-height: 330px;

    padding: 28px;

    border-radius: 22px;
}

.rm-pr-core-card--coral {
    background: #f7e4de;
}

.rm-pr-core-card--sage {
    background: #eaf0e8;
}

.rm-pr-core-card--blue {
    background: #e7eef3;
}

.rm-pr-core-card--gold {
    background: #f3ebdc;
}

.rm-pr-core-number {
    display: block;

    margin-bottom: 68px;

    color: rgba(23, 25, 29, 0.24);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 38px;
}

.rm-pr-core-card h3 {
    margin: 0 0 13px;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 26px;
    font-weight: 400;

    line-height: 1.2;
}

.rm-pr-core-card p {
    margin: 0;

    color: #555b61;

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   3. CARE FIRST
========================================================= */

.rm-pr-care {
    padding: 0 0 105px;

    background: #ffffff;
}

.rm-pr-care-card {
    display: grid;

    grid-template-columns:
        0.9fr
        1.1fr;

    gap: 70px;

    padding: 64px;

    border-radius: 28px;

    background:
        radial-gradient(
            circle at 12% 10%,
            rgba(137, 156, 132, 0.18),
            transparent 34%
        ),
        #2f3942;

    color: #ffffff;
}

.rm-pr-care-card h2 {
    color: #ffffff;

    font-size: clamp(40px, 5vw, 62px);
}

.rm-pr-care-intro {
    margin: 0;

    color: #d7d9dc;

    font-size: 16px;
    line-height: 1.84;
}

.rm-pr-care-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 12px;

    margin-top: 28px;
}

.rm-pr-care-grid > div {
    padding: 18px;

    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 14px;

    background: rgba(255, 255, 255, 0.04);
}

.rm-pr-care-grid strong,
.rm-pr-care-grid span {
    display: block;
}

.rm-pr-care-grid strong {
    margin-bottom: 6px;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 20px;
    font-weight: 400;
}

.rm-pr-care-grid span {
    color: #bfc3c7;

    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   4. HONESTY
========================================================= */

.rm-pr-honesty {
    padding: 105px 0;

    background:
        linear-gradient(
            135deg,
            #f7f0e7 0%,
            #f6ebe5 100%
        );

    border-top: 1px solid var(--rm-line);
    border-bottom: 1px solid var(--rm-line);
}

.rm-pr-honesty-head {
    max-width: 800px;

    margin-bottom: 42px;
}

.rm-pr-honesty-head h2 {
    font-size: clamp(42px, 5vw, 64px);
}

.rm-pr-honesty-grid {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 16px;
}

.rm-pr-honesty-column {
    padding: 34px;

    border-radius: 22px;
}

.rm-pr-honesty-column--yes {
    background: #eaf0e8;
}

.rm-pr-honesty-column--no {
    background: #f5dfd8;
}

.rm-pr-honesty-label {
    display: inline-block;

    margin-bottom: 26px;
    padding: 7px 11px;

    border-radius: 999px;

    background: rgba(255, 255, 255, 0.62);

    color: #41464b;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rm-pr-honesty-column ul {
    margin: 0;
    padding: 0;

    list-style: none;
}

.rm-pr-honesty-column li {
    position: relative;

    padding: 15px 0 15px 30px;

    border-top: 1px solid rgba(23, 25, 29, 0.08);

    color: #474d52;

    font-size: 15px;
    line-height: 1.65;
}

.rm-pr-honesty-column li:first-child {
    border-top: 0;
}

.rm-pr-honesty-column--yes li::before {
    content: "✓";

    position: absolute;

    left: 0;

    color: #667f62;

    font-weight: 700;
}

.rm-pr-honesty-column--no li::before {
    content: "—";

    position: absolute;

    left: 0;

    color: #ad5d4f;

    font-weight: 700;
}


/* =========================================================
   5. PRIVACY / OWNERSHIP
========================================================= */

.rm-pr-privacy {
    padding: 105px 0;

    background: #ffffff;
}

.rm-pr-privacy-grid {
    display: grid;

    grid-template-columns:
        0.85fr
        1.15fr;

    gap: 80px;

    align-items: start;
}

.rm-pr-privacy h2 {
    font-size: clamp(42px, 5vw, 64px);
}


/* =========================================================
   PRIVACY CARDS
========================================================= */

.rm-pr-privacy-points {
    display: grid;

    gap: 14px;
}

.rm-pr-privacy-points article {
    position: relative;

    display: block;

    min-height: 170px;

    padding:
        30px
        34px
        30px
        104px;

    border: 1px solid var(--rm-line);
    border-radius: 18px;

    background: #fbfaf8;

    box-shadow:
        0 12px 30px
        rgba(23, 25, 29, 0.03);
}


/* =========================================================
   PRIVACY CARD NUMBER
========================================================= */

.rm-pr-privacy-points article > span {
    position: absolute;

    top: 30px;
    left: 30px;

    color: #a06f59;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 31px;

    line-height: 1;
}


/* =========================================================
   PRIVACY CARD HEADING
========================================================= */

.rm-pr-privacy-points h3 {
    margin:
        0
        0
        10px;

    color: var(--rm-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 23px;
    font-weight: 400;

    line-height: 1.3;
}


/* =========================================================
   PRIVACY CARD TEXT
========================================================= */

.rm-pr-privacy-points p {
    max-width: 560px;

    margin: 0;

    color: var(--rm-soft-ink);

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   TABLET
========================================================= */

@media only screen and (max-width: 980px) {

    .rm-pr-privacy-grid {
        grid-template-columns: 1fr;

        gap: 38px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media only screen and (max-width: 680px) {

    .rm-pr-privacy {
        padding:
            72px
            0;
    }

    .rm-pr-privacy-points article {
        min-height: 0;

        padding:
            26px
            24px;
    }

    .rm-pr-privacy-points article > span {
        position: static;

        display: block;

        margin-bottom: 18px;

        font-size: 28px;
    }

    .rm-pr-privacy-points h3 {
        font-size: 22px;
    }

}


/* =========================================================
   REMEMOIR
   Get Started Page
========================================================= */


/* =========================================================
   1. HERO
========================================================= */

.rm-start-hero {
    padding: 76px 0 82px;

    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(216, 169, 141, 0.20),
            transparent 31%
        ),
        radial-gradient(
            circle at 86% 18%,
            rgba(137, 156, 132, 0.18),
            transparent 33%
        ),
        linear-gradient(
            135deg,
            #fbfaf8,
            #f3eee7
        );
}

.rm-start-hero-grid {
    display: grid;

    grid-template-columns:
        1.15fr
        0.85fr;

    gap: 70px;

    align-items: center;
}

.rm-start-hero h1 {
    font-size: clamp(52px, 6vw, 80px);
}

.rm-start-hero-intro {
    max-width: 680px;

    margin: 28px 0 0;

    color: var(--rm-soft-ink);

    font-size: 19px;
    line-height: 1.78;
}

.rm-start-hero-note {
    padding: 34px;

    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            #7e9879,
            #61795e
        );

    color: #ffffff;

    box-shadow:
        0 22px 55px
        rgba(71, 92, 68, 0.14);
}

.rm-start-hero-note-label {
    display: inline-block;

    margin-bottom: 28px;
    padding: 7px 11px;

    border:
        1px solid
        rgba(255, 255, 255, 0.26);

    border-radius: 999px;

    color:
        rgba(255, 255, 255, 0.84);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.rm-start-hero-note strong {
    display: block;

    margin-bottom: 14px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 30px;
    font-weight: 400;

    line-height: 1.18;
}

.rm-start-hero-note p {
    margin: 0;

    color:
        rgba(255, 255, 255, 0.84);

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   2. FORM SECTION
========================================================= */

.rm-start-form-section {
    padding: 76px 0 105px;

    background: #fbfaf8;
}

.rm-start-form {
    max-width: 1040px;

    margin: 0 auto;
}


/* =========================================================
   3. STEPS
========================================================= */

.rm-start-step {
    margin-bottom: 22px;
    padding: 44px;

    border: 1px solid var(--rm-line);
    border-radius: 26px;

    background: #ffffff;

    box-shadow:
        0 16px 42px
        rgba(23, 25, 29, 0.045);
}

.rm-start-step--final {
    background:
        linear-gradient(
            135deg,
            #f8faf7,
            #f3eee7
        );
}

.rm-start-step-head {
    display: grid;

    grid-template-columns:
        70px
        1fr;

    gap: 22px;

    align-items: start;

    margin-bottom: 34px;
}

.rm-start-step-number {
    color: rgba(23, 25, 29, 0.23);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 42px;
    line-height: 1;
}

.rm-start-step-kicker {
    margin: 0 0 7px;

    color: #8f735f;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rm-start-step-head h2 {
    margin: 0;

    color: var(--rm-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(28px, 3vw, 39px);
    font-weight: 400;

    line-height: 1.18;
}


/* =========================================================
   4. UPLOAD
========================================================= */

.rm-upload {
    position: relative;

    min-height: 390px;

    overflow: hidden;

    border: 2px dashed #cbc7c0;
    border-radius: 22px;

    background:
        linear-gradient(
            135deg,
            #fbfaf8,
            #f7f4ef
        );

    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        transform 180ms ease;
}

.rm-upload.is-dragging {
    border-color: var(--rm-sage);

    background: #f0f5ee;

    transform: scale(1.005);
}

.rm-upload-input {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;

    pointer-events: none;
}

.rm-upload-empty {
    min-height: 390px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 42px;

    text-align: center;

    cursor: pointer;
}

.rm-upload-icon {
    width: 72px;
    height: 72px;

    display: grid;

    place-items: center;

    margin-bottom: 20px;

    border-radius: 50%;

    background: var(--rm-sage-pale);
}

.rm-upload-icon svg {
    width: 34px;
    height: 34px;

    fill: none;

    stroke: var(--rm-dark);
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.rm-upload-empty strong {
    margin-bottom: 5px;

    color: #252a2f;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 27px;
    font-weight: 400;
}

.rm-upload-empty > span:not(.rm-upload-icon) {
    color: #666c71;

    font-size: 14px;
}

.rm-upload-empty small {
    margin-top: 17px;

    color: #92969a;

    font-size: 11px;

    letter-spacing: 0.06em;
}

.rm-upload-preview {
    min-height: 280px;

    display: grid;

    grid-template-columns:
        1.1fr
        0.9fr;

    align-items: stretch;
}

.rm-upload-preview-image {
    min-height: 280px;

    background: #e9e6e0;
}

.rm-upload-preview-image img {
    width: 100%;
    height: 100%;

    min-height: 280px;

    object-fit: contain;
}

.rm-upload-preview-info {
    display: flex;
    flex-direction: column;

    justify-content: center;

    padding: 38px;
}

.rm-upload-success {
    display: inline-block;

    align-self: flex-start;

    margin-bottom: 20px;
    padding: 7px 11px;

    border-radius: 999px;

    background: var(--rm-sage-pale);
    color: #62745e;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rm-upload-preview-info strong {
    margin-bottom: 6px;

    color: #252a2f;

    font-size: 15px;
}

.rm-upload-preview-info > span:not(.rm-upload-success) {
    color: #777c81;

    font-size: 12px;
}

.rm-upload-preview-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;

    margin-top: 24px;
}

.rm-upload-change,
.rm-upload-remove {
    min-height: 42px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 0 16px;

    border-radius: 999px;

    cursor: pointer;

    font-size: 12px;
}

.rm-upload-change {
    border: 1px solid var(--rm-dark);

    background: var(--rm-dark);
    color: #ffffff;
}

.rm-upload-remove {
    border: 1px solid #c9c6c0;

    background: transparent;
    color: #555b61;
}

.rm-start-tip {
    display: flex;

    gap: 12px;

    margin-top: 16px;
    padding: 16px 18px;

    border-radius: 14px;

    background: var(--rm-gold-pale);
}

.rm-start-tip > span {
    color: #9a7b46;
}

.rm-start-tip p {
    margin: 0;

    color: #655f55;

    font-size: 13px;
    line-height: 1.6;
}


/* =========================================================
   5. FORM FIELDS
========================================================= */

.rm-start-fields {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 20px;
}

.rm-field {
    display: flex;
    flex-direction: column;
}

.rm-field--wide {
    grid-column: 1 / -1;
}

.rm-field label {
    margin-bottom: 8px;

    color: #30353a;

    font-size: 12px;
    font-weight: 700;
}

.rm-field label > span {
    color: #ad5d4f;
}

.rm-field label small {
    margin-left: 6px;

    color: #969a9e;

    font-size: 10px;
    font-weight: 400;
}

.rm-field input,
.rm-field textarea {
    width: 100%;

    border: 1px solid #d8d6d1;
    border-radius: 12px;

    background: #fbfaf8;

    color: #24282c;

    outline: none;

    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        background-color 180ms ease;
}

.rm-field input {
    height: 54px;

    padding: 0 16px;
}

.rm-field textarea {
    min-height: 150px;

    padding: 15px 16px;

    resize: vertical;
}

.rm-field input:focus,
.rm-field textarea:focus {
    border-color: #8aa085;

    background: #ffffff;

    box-shadow:
        0 0 0 4px
        rgba(137, 156, 132, 0.12);
}

.rm-field-hint {
    margin-top: 7px;

    color: #898e92;

    font-size: 11px;
}


/* =========================================================
   6. SERVICE OPTIONS
========================================================= */

.rm-start-options {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 14px;
}

.rm-start-option {
    cursor: pointer;
}

.rm-start-option > input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}

.rm-start-option-card {
    min-height: 180px;

    display: flex;
    flex-direction: column;

    padding: 24px;

    border: 2px solid transparent;
    border-radius: 18px;

    background: #f8f7f4;

    transition:
        border-color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease,
        background-color 180ms ease;
}

.rm-start-option:hover .rm-start-option-card {
    transform: translateY(-2px);
}

.rm-start-option input:checked + .rm-start-option-card {
    border-color: var(--rm-dark);

    background: #ffffff;

    box-shadow:
        0 12px 32px
        rgba(23, 25, 29, 0.07);
}

.rm-start-option-icon {
    width: 46px;
    height: 46px;

    display: grid;

    place-items: center;

    margin-bottom: 24px;

    border-radius: 50%;

    color: #35404a;

    font-size: 15px;
    font-weight: 700;
}

.rm-start-option-icon--blue {
    background: var(--rm-blue-pale);
}

.rm-start-option-icon--gold {
    background: var(--rm-gold-pale);
}

.rm-start-option-icon--coral {
    background: var(--rm-peach-pale);
}

.rm-start-option-icon--sage {
    background: var(--rm-sage-pale);
}

.rm-start-option-card strong {
    margin-bottom: 7px;

    color: #2b3034;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 21px;
    font-weight: 400;

    line-height: 1.25;
}

.rm-start-option-card small {
    color: #696f74;

    font-size: 12px;
    line-height: 1.55;
}


/* =========================================================
   7. CONSENT / SUBMIT
========================================================= */

.rm-start-submit-grid {
    display: grid;

    grid-template-columns:
        1.1fr
        0.9fr;

    gap: 50px;

    align-items: center;
}

.rm-start-consent {
    display: grid;

    gap: 14px;
}

.rm-start-consent label {
    display: grid;

    grid-template-columns:
        22px
        1fr;

    gap: 11px;

    align-items: start;

    color: #5d6368;

    font-size: 12px;
    line-height: 1.6;
}

.rm-start-consent input {
    width: 18px;
    height: 18px;

    margin-top: 2px;

    accent-color: var(--rm-dark);
}

.rm-start-submit {
    text-align: center;
}

.rm-start-submit-btn {
    width: 100%;
    min-height: 62px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 0 24px;

    border: 0;
    border-radius: 999px;

    background: var(--rm-dark);
    color: #ffffff;

    cursor: pointer;

    font-size: 15px;
    font-weight: 700;

    transition:
        transform 180ms ease,
        background-color 180ms ease;
}

.rm-start-submit-btn:hover {
    transform: translateY(-2px);

    background: var(--rm-dark-hover);
}

.rm-start-submit > p {
    margin: 12px 0 5px;

    color: #6f757a;

    font-size: 11px;
}

.rm-start-no-payment {
    color: #7c8e78;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* =========================================================
   8. REASSURANCE
========================================================= */

.rm-start-reassurance {
    padding: 0 0 105px;

    background: #fbfaf8;
}

.rm-start-reassurance-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 14px;
}

.rm-start-reassurance-grid article {
    padding: 28px;

    border-radius: 20px;
}

.rm-start-reassurance-grid article:nth-child(1) {
    background: #edf2eb;
}

.rm-start-reassurance-grid article:nth-child(2) {
    background: #f8eae3;
}

.rm-start-reassurance-grid article:nth-child(3) {
    background: #e9f0f4;
}

.rm-start-reassurance-grid span {
    display: block;

    margin-bottom: 40px;

    color: rgba(23, 25, 29, 0.25);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 34px;
}

.rm-start-reassurance-grid h3 {
    margin: 0 0 8px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 25px;
    font-weight: 400;
}

.rm-start-reassurance-grid p {
    margin: 0;

    color: #5e6469;

    font-size: 13px;
    line-height: 1.65;
}


/* =========================================================
   9. TABLET
========================================================= */

@media only screen and (max-width: 900px) {

    .rm-start-hero-grid,
    .rm-start-submit-grid {
        grid-template-columns: 1fr;

        gap: 38px;
    }

}


/* =========================================================
   10. MOBILE
========================================================= */

@media only screen and (max-width: 680px) {

    .rm-start-hero {
        padding: 58px 0 68px;
    }

    .rm-start-form-section {
        padding: 54px 0 72px;
    }

    .rm-start-step {
        padding: 28px 20px;

        border-radius: 20px;
    }

    .rm-start-step-head {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-bottom: 26px;
    }

    .rm-start-step-number {
        font-size: 34px;
    }

    .rm-upload,
    .rm-upload-empty {
        min-height: 320px;
    }

    .rm-upload-empty {
        padding: 28px 20px;
    }

    .rm-upload-preview {
        grid-template-columns: 1fr;

        min-height: 0;
    }

    .rm-upload-preview-image,
    .rm-upload-preview-image img {
        min-height: 300px;
    }

    .rm-upload-preview-info {
        padding: 26px 20px;
    }

    .rm-start-fields,
    .rm-start-options,
    .rm-start-reassurance-grid {
        grid-template-columns: 1fr;
    }

    .rm-field--wide {
        grid-column: auto;
    }

    .rm-start-option-card {
        min-height: 0;
    }

    .rm-start-submit-grid {
        gap: 28px;
    }

    .rm-start-reassurance {
        padding-bottom: 72px;
    }

}



/* =========================================================
   6. COMPANY / ACCOUNTABILITY
========================================================= */

.rm-pr-company {
    padding: 0 0 105px;

    background: #ffffff;
}

.rm-pr-company-card {
    display: grid;

    grid-template-columns:
        130px
        1fr;

    gap: 38px;

    align-items: center;

    padding: 46px 52px;

    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            #e9f0f4,
            #edf2eb
        );

    border: 1px solid var(--rm-line);
}

.rm-pr-company-mark {
    width: 110px;
    height: 110px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: #35404a;
    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 46px;
}

.rm-pr-company-card h2 {
    font-size: clamp(34px, 4vw, 52px);
}

.rm-pr-company-card > div:last-child > p:last-child {
    max-width: 720px;

    margin: 18px 0 0;

    color: var(--rm-soft-ink);

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   7. FINAL CTA
========================================================= */

.rm-pr-final {
    padding: 25px 0 110px;

    background: #fbfaf8;
}

.rm-pr-final-card {
    padding: 78px 52px;

    border-radius: 30px;

    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(137, 156, 132, 0.20),
            transparent 34%
        ),
        radial-gradient(
            circle at 90% 12%,
            rgba(216, 169, 141, 0.28),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #f3efe9,
            #e8e2d8
        );

    text-align: center;
}

.rm-pr-final-card .rm-eyebrow {
    justify-content: center;
}

.rm-pr-final-card h2 {
    font-size: clamp(42px, 6vw, 70px);
}

.rm-pr-final-card > p:not(.rm-eyebrow) {
    max-width: 680px;

    margin: 24px auto 30px;

    color: #5d5b57;

    font-size: 17px;
    line-height: 1.75;
}

.rm-pr-final-actions {
    display: flex;

    justify-content: center;

    gap: 12px;

    flex-wrap: wrap;
}


/* =========================================================
   8. TABLET
========================================================= */

@media only screen and (max-width: 980px) {

    .rm-pr-hero-grid,
    .rm-pr-care-card,
    .rm-pr-privacy-grid {
        grid-template-columns: 1fr;

        gap: 38px;
    }

    .rm-pr-core-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


/* =========================================================
   9. MOBILE
========================================================= */

@media only screen and (max-width: 680px) {

    .rm-pr-hero {
        padding: 58px 0 68px;
    }

    .rm-pr-hero-card {
        padding: 32px 24px;
    }

    .rm-pr-core,
    .rm-pr-honesty,
    .rm-pr-privacy {
        padding: 72px 0;
    }

    .rm-pr-core-grid,
    .rm-pr-honesty-grid,
    .rm-pr-care-grid {
        grid-template-columns: 1fr;
    }

    .rm-pr-core-card {
        min-height: 0;
    }

    .rm-pr-core-number {
        margin-bottom: 42px;
    }

    .rm-pr-care {
        padding-bottom: 72px;
    }

    .rm-pr-care-card {
        padding: 38px 24px;
    }

    .rm-pr-honesty-column {
        padding: 28px 22px;
    }

    .rm-pr-privacy-points article {
        grid-template-columns: 46px 1fr;

        gap: 14px;

        padding: 20px;
    }

    .rm-pr-company {
        padding-bottom: 72px;
    }

    .rm-pr-company-card {
        grid-template-columns: 1fr;

        padding: 34px 24px;
    }

    .rm-pr-company-mark {
        width: 80px;
        height: 80px;

        font-size: 34px;
    }

    .rm-pr-final {
        padding-bottom: 72px;
    }

    .rm-pr-final-card {
        padding: 58px 24px;
    }

    .rm-pr-final-actions {
        display: grid;
    }

    .rm-pr-final-actions .rm-btn {
        width: 100%;
    }

}


/* =========================================================
   UPLOAD STATE FIX
========================================================= */

.rm-upload-empty[hidden],
.rm-upload-preview[hidden] {
    display: none !important;
}

.rm-upload.has-photo {
    min-height: 0;

    border-style: solid;

    background: #ffffff;
}

.rm-upload.has-photo .rm-upload-preview {
    min-height: 0;
}

.rm-upload.has-photo .rm-upload-preview-image {
    min-height: 280px;
}

.rm-upload.has-photo .rm-upload-preview-image img {
    min-height: 280px;
}

.rm-upload.has-photo .rm-upload-preview-info {
    min-height: 280px;
}



/* =========================================================
   REMEMOIR
   Secure Get Started / Thank You Additions
========================================================= */


/* =========================================================
   GET STARTED - FORM ERROR
========================================================= */

.rm-start-form-error {
    max-width: 1040px;

    display: flex;
    flex-direction: column;

    gap: 4px;

    margin: 0 auto 22px;
    padding: 18px 20px;

    border: 1px solid #e2b9ae;
    border-radius: 14px;

    background: #faece7;
    color: #6f4035;
}

.rm-start-form-error strong {
    font-size: 13px;
}

.rm-start-form-error span {
    font-size: 12px;
    line-height: 1.6;
}


/* =========================================================
   GET STARTED - HONEYPOT
========================================================= */

.rm-start-honeypot {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;

    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;

    white-space: nowrap !important;
}


/* =========================================================
   THANK YOU PAGE
========================================================= */

.rm-thanks {
    padding: 78px 0 110px;

    background:
        radial-gradient(
            circle at 12% 16%,
            rgba(137, 156, 132, 0.20),
            transparent 31%
        ),
        radial-gradient(
            circle at 88% 18%,
            rgba(216, 169, 141, 0.20),
            transparent 32%
        ),
        #fbfaf8;
}

.rm-thanks-card {
    max-width: 1060px;

    margin: 0 auto;
    padding: 68px 58px;

    border: 1px solid var(--rm-line);
    border-radius: 30px;

    background: #ffffff;

    text-align: center;

    box-shadow:
        0 22px 65px
        rgba(23, 25, 29, 0.07);
}

.rm-thanks-icon {
    width: 72px;
    height: 72px;

    display: grid;
    place-items: center;

    margin: 0 auto 24px;

    border-radius: 50%;

    background: var(--rm-sage);
    color: #ffffff;

    font-size: 28px;
    font-weight: 700;
}

.rm-thanks-card .rm-eyebrow {
    justify-content: center;
}

.rm-thanks-card h1 {
    max-width: 850px;

    margin: 0 auto;

    font-size: clamp(42px, 5.5vw, 68px);
}

.rm-thanks-intro {
    max-width: 680px;

    margin: 26px auto 0;

    color: var(--rm-soft-ink);

    font-size: 17px;
    line-height: 1.75;
}

.rm-thanks-reference {
    max-width: 470px;

    margin: 32px auto 0;
    padding: 18px 24px;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #edf2eb,
            #f4eee3
        );
}

.rm-thanks-reference span {
    display: block;

    margin-bottom: 5px;

    color: #77766f;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.rm-thanks-reference strong {
    display: block;

    color: #35404a;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 25px;
    font-weight: 400;

    letter-spacing: 0.04em;
}

.rm-thanks-next {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 14px;

    margin-top: 46px;

    text-align: left;
}

.rm-thanks-next article {
    padding: 26px;

    border-radius: 18px;
}

.rm-thanks-next article:nth-child(1) {
    background: #edf2eb;
}

.rm-thanks-next article:nth-child(2) {
    background: #f8eae3;
}

.rm-thanks-next article:nth-child(3) {
    background: #e9f0f4;
}

.rm-thanks-next article > span {
    display: block;

    margin-bottom: 32px;

    color: rgba(23, 25, 29, 0.24);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 31px;
}

.rm-thanks-next h2 {
    margin: 0 0 9px;

    color: #2c3135;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 22px;
    font-weight: 400;

    line-height: 1.3;
}

.rm-thanks-next p {
    margin: 0;

    color: #62686d;

    font-size: 13px;
    line-height: 1.65;
}

.rm-thanks-actions {
    display: flex;

    justify-content: center;

    gap: 12px;

    flex-wrap: wrap;

    margin-top: 38px;
}


/* =========================================================
   THANK YOU MOBILE
========================================================= */

@media only screen and (max-width: 720px) {

    .rm-thanks {
        padding: 54px 0 72px;
    }

    .rm-thanks-card {
        padding: 44px 22px;

        border-radius: 22px;
    }

    .rm-thanks-next {
        grid-template-columns: 1fr;
    }

    .rm-thanks-actions {
        display: grid;
    }

    .rm-thanks-actions .rm-btn {
        width: 100%;
    }

}


/* =========================================================
   REMEMOIR ADMIN
========================================================= */

.rm-admin-page {
    background: #f7f5f1;
}

.rm-admin-login,
.rm-admin-dashboard,
.rm-admin-request-view {
    padding: 72px 0 105px;
}

.rm-admin-login-card {
    max-width: 560px;

    margin: 0 auto;
    padding: 48px;

    border: 1px solid var(--rm-line);
    border-radius: 26px;

    background: #ffffff;

    box-shadow:
        0 20px 55px
        rgba(23, 25, 29, 0.07);
}

.rm-admin-login-card .rm-eyebrow {
    justify-content: flex-start;
}

.rm-admin-login-card h1 {
    font-size: clamp(42px, 5vw, 62px);
}

.rm-admin-login-intro {
    margin: 18px 0 28px;

    color: var(--rm-soft-ink);

    font-size: 15px;
    line-height: 1.7;
}

.rm-admin-login-form {
    display: grid;

    gap: 18px;
}

.rm-admin-error {
    margin-bottom: 20px;
    padding: 14px 16px;

    border: 1px solid #e4b9ad;
    border-radius: 12px;

    background: #faece7;
    color: #784436;

    font-size: 12px;
    line-height: 1.55;
}

.rm-admin-head {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 24px;

    margin-bottom: 34px;
}

.rm-admin-head h1 {
    font-size: clamp(46px, 5vw, 68px);
}

.rm-admin-request-list {
    display: grid;

    gap: 14px;
}

.rm-admin-request-card {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 30px;

    padding: 26px 28px;

    border: 1px solid var(--rm-line);
    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 12px 30px
        rgba(23, 25, 29, 0.04);
}

.rm-admin-status {
    display: inline-block;

    margin-bottom: 12px;
    padding: 6px 10px;

    border-radius: 999px;

    background: var(--rm-sage-pale);
    color: #667f62;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rm-admin-request-card h2 {
    margin: 0 0 7px;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 28px;
    font-weight: 400;
}

.rm-admin-customer {
    margin: 0 0 3px;

    color: #31363a;

    font-size: 14px;
    font-weight: 700;
}

.rm-admin-service,
.rm-admin-date {
    margin: 0;

    color: #73797e;

    font-size: 12px;
    line-height: 1.6;
}

.rm-admin-empty {
    padding: 60px 30px;

    border: 1px solid var(--rm-line);
    border-radius: 22px;

    background: #ffffff;

    text-align: center;
}

.rm-admin-empty h2 {
    margin: 0 0 8px;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 30px;
    font-weight: 400;
}

.rm-admin-empty p {
    margin: 0;

    color: var(--rm-soft-ink);
}

.rm-admin-request-layout {
    display: grid;

    grid-template-columns:
        1.1fr
        0.9fr;

    gap: 30px;

    align-items: start;
}

.rm-admin-photo-panel,
.rm-admin-details-panel {
    display: grid;

    gap: 14px;
}

.rm-admin-photo-wrap {
    overflow: hidden;

    border: 1px solid var(--rm-line);
    border-radius: 22px;

    background: #e9e6e0;
}

.rm-admin-photo-wrap img {
    display: block;

    width: 100%;
    height: auto;
}

.rm-admin-detail-card,
.rm-admin-file-meta {
    padding: 22px;

    border: 1px solid var(--rm-line);
    border-radius: 16px;

    background: #ffffff;
}

.rm-admin-detail-card > span,
.rm-admin-file-meta span {
    display: block;

    margin-bottom: 7px;

    color: #8b8f93;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rm-admin-detail-card strong {
    display: block;

    margin-bottom: 4px;

    color: #292e32;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 22px;
    font-weight: 400;
}

.rm-admin-detail-card p {
    margin: 0;

    color: #5e6469;

    font-size: 14px;
    line-height: 1.7;
}

.rm-admin-detail-card a {
    color: #4f6d82;
}

.rm-admin-file-meta {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 18px;
}

.rm-admin-file-meta strong {
    display: block;

    color: #30353a;

    font-size: 12px;
}

@media only screen and (max-width: 900px) {

    .rm-admin-request-layout {
        grid-template-columns: 1fr;
    }

    .rm-admin-file-meta {
        grid-template-columns: 1fr;
    }

}

@media only screen and (max-width: 650px) {

    .rm-admin-login,
    .rm-admin-dashboard,
    .rm-admin-request-view {
        padding: 52px 0 72px;
    }

    .rm-admin-login-card {
        padding: 34px 22px;
    }

    .rm-admin-head,
    .rm-admin-request-card {
        align-items: stretch;

        flex-direction: column;
    }

    .rm-admin-request-card .rm-btn {
        width: 100%;
    }

}


/* =========================================================
   REMEMOIR
   Contact Page
========================================================= */


/* =========================================================
   1. CONTACT HERO
========================================================= */

.rm-contact-hero {
    padding: 78px 0 88px;

    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(216, 169, 141, 0.20),
            transparent 31%
        ),
        radial-gradient(
            circle at 86% 18%,
            rgba(137, 156, 132, 0.18),
            transparent 33%
        ),
        linear-gradient(
            135deg,
            #fbfaf8 0%,
            #f3eee7 100%
        );
}

.rm-contact-hero-grid {
    display: grid;

    grid-template-columns:
        1.1fr
        0.9fr;

    gap: 72px;

    align-items: center;
}

.rm-contact-hero-copy h1 {
    font-size: clamp(54px, 6.5vw, 84px);
}

.rm-contact-hero-intro {
    max-width: 680px;

    margin: 27px 0 0;

    color: var(--rm-soft-ink);

    font-size: 19px;
    line-height: 1.78;
}

.rm-contact-hero-card {
    padding: 38px;

    border-radius: 26px;

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(255, 255, 255, 0.10),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #4f6d82,
            #354f61
        );

    color: #ffffff;

    box-shadow:
        0 24px 62px
        rgba(40, 57, 70, 0.14);
}

.rm-contact-hero-card-label {
    display: block;

    margin-bottom: 30px;

    color:
        rgba(255, 255, 255, 0.70);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rm-contact-hero-card h2 {
    margin: 0 0 14px;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(30px, 3.5vw, 42px);
    font-weight: 400;

    line-height: 1.15;
}

.rm-contact-hero-card > p {
    margin: 0;

    color:
        rgba(255, 255, 255, 0.82);

    font-size: 14px;
    line-height: 1.72;
}

.rm-contact-hero-card-email {
    margin-top: 30px;
    padding-top: 22px;

    border-top:
        1px solid
        rgba(255, 255, 255, 0.15);
}

.rm-contact-hero-card-email span {
    display: block;

    margin-bottom: 6px;

    color:
        rgba(255, 255, 255, 0.56);

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rm-contact-hero-card-email a {
    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 20px;

    text-decoration: none;
}


/* =========================================================
   2. CONTACT MAIN
========================================================= */

.rm-contact-main {
    padding: 92px 0 105px;

    background: #fbfaf8;
}

.rm-contact-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(330px, 0.8fr);

    gap: 28px;

    align-items: start;
}


/* =========================================================
   3. CONTACT FORM CARD
========================================================= */

.rm-contact-form-wrap {
    padding: 44px;

    border: 1px solid var(--rm-line);
    border-radius: 26px;

    background: #ffffff;

    box-shadow:
        0 18px 48px
        rgba(23, 25, 29, 0.045);
}

.rm-contact-form-head {
    margin-bottom: 32px;
}

.rm-contact-kicker {
    margin: 0 0 9px;

    color: #9a735e;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rm-contact-form-head h2 {
    margin: 0;

    color: var(--rm-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(34px, 4vw, 48px);
    font-weight: 400;

    line-height: 1.12;
    letter-spacing: -0.025em;
}

.rm-contact-form-head > p:last-child {
    max-width: 590px;

    margin: 14px 0 0;

    color: var(--rm-soft-ink);

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   4. FORM ERROR
========================================================= */

.rm-contact-error {
    display: flex;
    flex-direction: column;

    gap: 4px;

    margin-bottom: 24px;
    padding: 16px 18px;

    border: 1px solid #e2b9ae;
    border-radius: 13px;

    background: #faece7;
    color: #6f4035;
}

.rm-contact-error strong {
    font-size: 12px;
}

.rm-contact-error span {
    font-size: 11px;
    line-height: 1.6;
}


/* =========================================================
   5. HONEYPOT
========================================================= */

.rm-contact-honeypot {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;

    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;

    white-space: nowrap !important;
}


/* =========================================================
   6. FORM FIELDS
========================================================= */

.rm-contact-fields {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 20px;
}

.rm-contact-field {
    display: flex;
    flex-direction: column;
}

.rm-contact-field--wide {
    grid-column: 1 / -1;
}

.rm-contact-field label {
    margin-bottom: 8px;

    color: #353a3e;

    font-size: 11px;
    font-weight: 700;
}

.rm-contact-field label > span {
    color: #ad5d4f;
}

.rm-contact-field label small {
    margin-left: 6px;

    color: #999da0;

    font-size: 9px;
    font-weight: 400;
}

.rm-contact-field input,
.rm-contact-field select,
.rm-contact-field textarea {
    width: 100%;

    border: 1px solid #d8d5cf;
    border-radius: 12px;

    background: #fbfaf8;
    color: #282d31;

    outline: none;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 14px;

    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        background 180ms ease;
}

.rm-contact-field input,
.rm-contact-field select {
    height: 54px;

    padding: 0 15px;
}

.rm-contact-field select {
    padding-right: 42px;

    cursor: pointer;
}

.rm-contact-field textarea {
    min-height: 185px;

    padding: 15px;

    resize: vertical;

    line-height: 1.6;
}

.rm-contact-field input::placeholder,
.rm-contact-field textarea::placeholder {
    color: #aaa9a6;
}

.rm-contact-field input:focus,
.rm-contact-field select:focus,
.rm-contact-field textarea:focus {
    border-color: #82977d;

    background: #ffffff;

    box-shadow:
        0 0 0 4px
        rgba(137, 156, 132, 0.12);
}


/* =========================================================
   7. SUBMIT
========================================================= */

.rm-contact-submit {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 24px;

    margin-top: 28px;
    padding-top: 26px;

    border-top: 1px solid var(--rm-line);
}

.rm-contact-submit-btn {
    min-width: 230px;
    min-height: 56px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 28px;

    padding: 0 20px;

    border: 0;
    border-radius: 999px;

    background: var(--rm-dark);
    color: #ffffff;

    cursor: pointer;

    font-size: 13px;
    font-weight: 700;

    transition:
        transform 180ms ease,
        background 180ms ease;
}

.rm-contact-submit-btn:hover {
    transform: translateY(-2px);

    background: var(--rm-dark-hover);
}

.rm-contact-submit > p {
    max-width: 280px;

    margin: 0;

    color: #8a8e91;

    font-size: 10px;
    line-height: 1.55;

    text-align: right;
}


/* =========================================================
   8. SIDE PANEL
========================================================= */

.rm-contact-side {
    display: grid;

    gap: 14px;
}

.rm-contact-side-card {
    padding: 28px;

    border: 1px solid var(--rm-line);
    border-radius: 20px;

    background: #ffffff;
}

.rm-contact-side-card--photo {
    background:
        radial-gradient(
            circle at 92% 10%,
            rgba(255, 255, 255, 0.16),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #c86f5e,
            #ad5d4f
        );

    color: #ffffff;

    border-color: transparent;
}

.rm-contact-side-card--soft {
    background:
        linear-gradient(
            135deg,
            #edf2eb,
            #e9f0f4
        );
}

.rm-contact-side-card-label {
    display: block;

    margin-bottom: 22px;

    color: #92715e;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rm-contact-side-card--photo
.rm-contact-side-card-label {
    color:
        rgba(255, 255, 255, 0.68);
}

.rm-contact-side-card h2 {
    margin: 0 0 12px;

    color: var(--rm-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 28px;
    font-weight: 400;

    line-height: 1.2;
}

.rm-contact-side-card--photo h2 {
    color: #ffffff;
}

.rm-contact-side-card p {
    margin: 0;

    color: #656b70;

    font-size: 13px;
    line-height: 1.7;
}

.rm-contact-side-card--photo p {
    color:
        rgba(255, 255, 255, 0.84);
}

.rm-contact-side-card--photo .rm-btn {
    margin-top: 24px;

    border-color: #ffffff;

    background: #ffffff;
    color: #9e5547;
}

.rm-contact-reference-example {
    margin-top: 20px;
    padding: 13px 15px;

    border-radius: 11px;

    background: #f5f3ef;
    color: #8d705f;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 17px;

    letter-spacing: 0.04em;
}

.rm-contact-side-links {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-top: 20px;
}

.rm-contact-side-links a {
    min-height: 38px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 0 14px;

    border: 1px solid rgba(47, 57, 66, 0.14);
    border-radius: 999px;

    background:
        rgba(255, 255, 255, 0.58);

    color: #4f5d67;

    text-decoration: none;

    font-size: 10px;
    font-weight: 700;
}


/* =========================================================
   9. REASSURANCE
========================================================= */

.rm-contact-reassurance {
    padding: 0 0 105px;

    background: #fbfaf8;
}

.rm-contact-reassurance-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 14px;
}

.rm-contact-reassurance-grid article {
    min-height: 230px;

    padding: 28px;

    border-radius: 20px;
}

.rm-contact-reassurance-grid article:nth-child(1) {
    background: #edf2eb;
}

.rm-contact-reassurance-grid article:nth-child(2) {
    background: #f8eae3;
}

.rm-contact-reassurance-grid article:nth-child(3) {
    background: #e9f0f4;
}

.rm-contact-reassurance-grid article > span {
    display: block;

    margin-bottom: 44px;

    color:
        rgba(23, 25, 29, 0.24);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 34px;
}

.rm-contact-reassurance-grid h3 {
    margin: 0 0 8px;

    color: #30353a;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 25px;
    font-weight: 400;
}

.rm-contact-reassurance-grid p {
    margin: 0;

    color: #60666b;

    font-size: 13px;
    line-height: 1.65;
}


/* =========================================================
   10. TABLET
========================================================= */

@media only screen and (max-width: 950px) {

    .rm-contact-hero-grid,
    .rm-contact-grid {
        grid-template-columns: 1fr;

        gap: 38px;
    }

    .rm-contact-side {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .rm-contact-side-card--photo {
        grid-column: 1 / -1;
    }

}


/* =========================================================
   11. MOBILE
========================================================= */

@media only screen and (max-width: 680px) {

    .rm-contact-hero {
        padding: 58px 0 68px;
    }

    .rm-contact-hero-card {
        padding: 30px 24px;
    }

    .rm-contact-main {
        padding: 60px 0 72px;
    }

    .rm-contact-form-wrap {
        padding: 30px 20px;

        border-radius: 20px;
    }

    .rm-contact-fields,
    .rm-contact-side,
    .rm-contact-reassurance-grid {
        grid-template-columns: 1fr;
    }

    .rm-contact-field--wide,
    .rm-contact-side-card--photo {
        grid-column: auto;
    }

    .rm-contact-submit {
        align-items: stretch;
        flex-direction: column;
    }

    .rm-contact-submit-btn {
        width: 100%;
    }

    .rm-contact-submit > p {
        max-width: none;

        text-align: left;
    }

    .rm-contact-reassurance {
        padding-bottom: 72px;
    }

    .rm-contact-reassurance-grid article {
        min-height: 0;
    }

}

/* =========================================================
   CONTACT SUCCESS MESSAGE
========================================================= */

.rm-contact-success {
    display: flex;
    flex-direction: column;

    gap: 4px;

    margin-bottom: 24px;
    padding: 18px 20px;

    border: 1px solid #cdddc9;
    border-radius: 13px;

    background: #edf4eb;
    color: #587153;
}

.rm-contact-success strong {
    font-size: 12px;
}

.rm-contact-success span {
    font-size: 11px;
    line-height: 1.6;
}


/* =========================================================
   REMEMOIR
   Contact Thank You Page
========================================================= */

.rm-contact-thanks {
    padding: 84px 0 110px;

    background:
        radial-gradient(
            circle at 12% 16%,
            rgba(137, 156, 132, 0.20),
            transparent 31%
        ),
        radial-gradient(
            circle at 88% 18%,
            rgba(216, 169, 141, 0.22),
            transparent 32%
        ),
        #fbfaf8;
}

.rm-contact-thanks-card {
    max-width: 1080px;

    margin: 0 auto;
    padding: 76px 58px;

    border: 1px solid var(--rm-line);
    border-radius: 30px;

    background: #ffffff;

    text-align: center;

    box-shadow:
        0 22px 65px
        rgba(23, 25, 29, 0.07);
}

.rm-contact-thanks-icon {
    width: 78px;
    height: 78px;

    display: grid;
    place-items: center;

    margin: 0 auto 26px;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #7e9879,
            #657e61
        );

    color: #ffffff;

    font-size: 30px;
    font-weight: 700;

    box-shadow:
        0 12px 28px
        rgba(80, 105, 76, 0.18);
}

.rm-contact-thanks-icon--soft {
    background:
        linear-gradient(
            145deg,
            #e7eef3,
            #dbe6ec
        );

    color: #4f6d82;
}

.rm-contact-thanks-card .rm-eyebrow {
    justify-content: center;
}

.rm-contact-thanks-card h1 {
    max-width: 860px;

    margin: 0 auto;

    font-size: clamp(46px, 6vw, 74px);
}

.rm-contact-thanks-intro {
    max-width: 700px;

    margin: 26px auto 0;

    color: var(--rm-soft-ink);

    font-size: 18px;
    line-height: 1.75;
}

.rm-contact-thanks-points {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 14px;

    margin-top: 48px;

    text-align: left;
}

.rm-contact-thanks-points article {
    min-height: 220px;

    padding: 28px;

    border-radius: 20px;
}

.rm-contact-thanks-points article:nth-child(1) {
    background: #edf2eb;
}

.rm-contact-thanks-points article:nth-child(2) {
    background: #f8eae3;
}

.rm-contact-thanks-points article:nth-child(3) {
    background: #e9f0f4;
}

.rm-contact-thanks-points article > span {
    display: block;

    margin-bottom: 42px;

    color:
        rgba(23, 25, 29, 0.24);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 33px;
}

.rm-contact-thanks-points h2 {
    margin: 0 0 8px;

    color: #30353a;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 24px;
    font-weight: 400;
}

.rm-contact-thanks-points p {
    margin: 0;

    color: #61676c;

    font-size: 13px;
    line-height: 1.65;
}

.rm-contact-thanks-actions {
    display: flex;

    justify-content: center;

    gap: 12px;

    flex-wrap: wrap;

    margin-top: 40px;
}


/* MOBILE */

@media only screen and (max-width: 720px) {

    .rm-contact-thanks {
        padding: 58px 0 72px;
    }

    .rm-contact-thanks-card {
        padding: 48px 22px;

        border-radius: 22px;
    }

    .rm-contact-thanks-points {
        grid-template-columns: 1fr;
    }

    .rm-contact-thanks-points article {
        min-height: 0;
    }

    .rm-contact-thanks-actions {
        display: grid;
    }

    .rm-contact-thanks-actions .rm-btn {
        width: 100%;
    }

}


/* =========================================================
   REMEMOIR - PRIVACY / LEGAL
========================================================= */

.rm-legal-hero {
    padding: 78px 0 72px;
    background:
        radial-gradient(circle at 10% 12%, rgba(216,169,141,.18), transparent 30%),
        radial-gradient(circle at 88% 16%, rgba(137,156,132,.18), transparent 31%),
        #fbfaf8;
}

.rm-legal-hero .rm-display {
    max-width: 900px;
    font-size: clamp(54px, 6.5vw, 84px);
}

.rm-legal-hero-intro {
    max-width: 760px;
    margin: 24px 0 0;
    color: var(--rm-soft-ink);
    font-size: 18px;
    line-height: 1.75;
}

.rm-legal-quick {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 52px;
}

.rm-legal-quick article {
    min-height: 190px;
    padding: 26px;
    border-radius: 20px;
}

.rm-legal-quick article:nth-child(1) { background: #edf2eb; }
.rm-legal-quick article:nth-child(2) { background: #f8eae3; }
.rm-legal-quick article:nth-child(3) { background: #e9f0f4; }

.rm-legal-quick span {
    display: block;
    margin-bottom: 34px;
    color: rgba(23,25,29,.24);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
}

.rm-legal-quick strong {
    display: block;
    margin-bottom: 8px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 400;
}

.rm-legal-quick p {
    margin: 0;
    color: #62686d;
    font-size: 12px;
    line-height: 1.65;
}

.rm-legal-main {
    padding: 86px 0 110px;
    background: #fff;
}

.rm-legal-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 64px;
    align-items: start;
}

.rm-legal-nav {
    position: sticky;
    top: 125px;
}

.rm-legal-nav-card {
    display: grid;
    padding: 24px;
    border: 1px solid var(--rm-line);
    border-radius: 18px;
    background: #fbfaf8;
}

.rm-legal-nav-card > span {
    margin-bottom: 14px;
    color: #9a735e;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.rm-legal-nav-card a {
    padding: 8px 0;
    border-bottom: 1px solid rgba(23,25,29,.07);
    color: #666c70;
    font-size: 11px;
    text-decoration: none;
}

.rm-legal-nav-card a:last-child { border-bottom: 0; }
.rm-legal-nav-card a:hover { color: #1f2529; }

.rm-legal-content {
    max-width: 900px;
}

.rm-legal-updated {
    margin-bottom: 24px;
    color: #999da0;
    font-size: 10px;
}

.rm-legal-section {
    padding: 0 0 54px;
    margin-bottom: 54px;
    border-bottom: 1px solid var(--rm-line);
    scroll-margin-top: 130px;
}

.rm-legal-number {
    margin: 0 0 10px !important;
    color: #a77b64 !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px !important;
}

.rm-legal-section h2 {
    margin: 0 0 22px;
    color: var(--rm-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 4vw, 46px);
    font-weight: 400;
    letter-spacing: -.025em;
}

.rm-legal-section p,
.rm-legal-section li {
    color: #5d6469;
    font-size: 14px;
    line-height: 1.8;
}

.rm-legal-section p { margin: 0 0 17px; }

.rm-legal-section ul {
    margin: 18px 0 22px;
    padding-left: 22px;
}

.rm-legal-section li { margin-bottom: 8px; }

.rm-legal-section a {
    color: #4f6d82;
}

.rm-legal-note,
.rm-legal-right-object {
    margin: 26px 0;
    padding: 22px;
    border-radius: 16px;
    background: #edf2eb;
}

.rm-legal-note--blue { background: #e9f0f4; }

.rm-legal-note strong,
.rm-legal-right-object strong {
    display: block;
    margin-bottom: 7px;
    color: #39433b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 400;
}

.rm-legal-note p,
.rm-legal-right-object p {
    margin: 0;
    font-size: 12px;
}

.rm-legal-right-object {
    border-left: 4px solid #9a735e;
    background: #f8eee8;
}

.rm-legal-basis-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 24px;
}

.rm-legal-basis-grid article {
    padding: 22px;
    border: 1px solid var(--rm-line);
    border-radius: 16px;
    background: #fbfaf8;
}

.rm-legal-basis-grid strong {
    display: block;
    margin-bottom: 8px;
    color: #30363a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 400;
}

.rm-legal-basis-grid p { margin: 0; font-size: 12px; }

.rm-legal-retention {
    display: grid;
    gap: 12px;
    margin: 24px 0;
}

.rm-legal-retention article {
    padding: 22px;
    border-radius: 16px;
    background: #f7f5f1;
}

.rm-legal-retention span {
    display: block;
    margin-bottom: 5px;
    color: #9a735e;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.rm-legal-retention strong {
    display: block;
    margin-bottom: 7px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 400;
}

.rm-legal-retention p { margin: 0; font-size: 12px; }

.rm-legal-external {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid #d8d5cf;
    border-radius: 999px;
    background: #fff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
}

.rm-legal-closing {
    padding: 42px;
    border-radius: 24px;
    background: linear-gradient(135deg, #edf2eb, #f8eae3);
}

.rm-legal-closing h2 {
    margin: 10px 0 14px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 400;
}

.rm-legal-closing > p:last-child {
    margin: 0;
    color: #666c70;
    font-size: 13px;
}

@media only screen and (max-width: 900px) {
    .rm-legal-layout { grid-template-columns: 1fr; gap: 35px; }
    .rm-legal-nav { position: static; }
    .rm-legal-nav-card { grid-template-columns: 1fr 1fr; column-gap: 20px; }
    .rm-legal-nav-card > span { grid-column: 1 / -1; }
}

@media only screen and (max-width: 680px) {
    .rm-legal-hero { padding: 58px 0 62px; }
    .rm-legal-quick,
    .rm-legal-basis-grid { grid-template-columns: 1fr; }
    .rm-legal-main { padding: 60px 0 72px; }
    .rm-legal-nav-card { grid-template-columns: 1fr; }
    .rm-legal-closing { padding: 30px 22px; }
}


.rm-terms-important {
    margin: 26px 0;
    padding: 26px;
    border: 1px solid #e4c6bc;
    border-radius: 18px;
    background: #f8eae3;
}
.rm-terms-important strong {
    display: block;
    margin-bottom: 9px;
    color: #5f4139;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 1.3;
}
.rm-terms-important p {
    margin: 0;
    color: #725e57;
    font-size: 13px;
    line-height: 1.7;
}



/* =========================================================
   REMEMOIR
   Cookie Policy Additions
========================================================= */

.rm-cookie-table {
    overflow: hidden;

    margin: 26px 0;

    border: 1px solid var(--rm-line);
    border-radius: 16px;
}

.rm-cookie-table-head,
.rm-cookie-table-row {
    display: grid;

    grid-template-columns:
        0.8fr
        1.7fr
        0.8fr;

    gap: 18px;

    align-items: center;

    padding: 16px 18px;
}

.rm-cookie-table-head {
    background: #f1eee9;
}

.rm-cookie-table-head span {
    color: #7f8386;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rm-cookie-table-row {
    background: #ffffff;
}

.rm-cookie-table-row strong {
    color: #343a3e;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 18px;
    font-weight: 400;
}

.rm-cookie-table-row p {
    margin: 0;

    font-size: 12px;
    line-height: 1.6;
}

.rm-cookie-pill {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: fit-content;
    min-height: 30px;

    padding: 0 10px;

    border-radius: 999px;

    background: #e5efe2;
    color: #61785d;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}


@media only screen and (max-width: 680px) {

    .rm-cookie-table-head {
        display: none;
    }

    .rm-cookie-table-row {
        grid-template-columns: 1fr;
    }

}



/* =========================================================
REMEMOIR - YOUR PHOTOGRAPH
========================================================= */

.rm-photo-trust-hero {
    padding:82px 0 92px;
    background:radial-gradient(circle at 12% 15%,rgba(216,169,141,.22),transparent 31%),radial-gradient(circle at 88% 16%,rgba(137,156,132,.19),transparent 31%),#fbfaf8
}

.rm-photo-trust-hero-grid,.rm-photo-head,.rm-photo-public-grid {
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:70px;
    align-items:center
}

.rm-photo-trust-hero h1 {
    font-size:clamp(54px,6.4vw,84px)
}

.rm-photo-trust-intro {
    max-width:720px;
    margin:26px 0 0;
    color:var(--rm-soft-ink);
    font-size:18px;
    line-height:1.78
}

.rm-photo-trust-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:30px
}

.rm-photo-trust-card {
    padding:38px;
    border-radius:26px;
    background:linear-gradient(145deg,#35404a,#26323a);
    color:#fff;
    box-shadow:0 24px 62px rgba(35,43,49,.14)
}

.rm-photo-trust-card>span {
    display:block;
    margin-bottom:36px;
    color:rgba(255,255,255,.56);
    font-size:8px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase
}

.rm-photo-trust-card blockquote {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(27px,3vw,38px);
    line-height:1.25
}

.rm-photo-trust-card p {
    margin:26px 0 0;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.14);
    color:rgba(255,255,255,.74);
    font-size:13px;
    line-height:1.7
}

.rm-photo-promises,.rm-photo-public,.rm-photo-retention {
    padding:94px 0 105px
}

.rm-photo-head {
    grid-template-columns:1.1fr .9fr;
    gap:50px;
    align-items:end;
    margin-bottom:42px
}

.rm-photo-head h2 {
    font-size:clamp(43px,5vw,66px)
}

.rm-photo-head>p {
    margin:0;
    color:var(--rm-soft-ink);
    font-size:14px;
    line-height:1.75
}

.rm-photo-promise-grid {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:14px
}

.rm-photo-promise-grid article {
    min-height:260px;
    display:flex;
    flex-direction:column;
    padding:26px;
    border-radius:20px
}

.rm-photo-promise-grid article:nth-child(-n+3) {
    grid-column:span 2
}

.rm-photo-promise-grid article:nth-child(n+4) {
    grid-column:span 3
}

.rm-photo-promise-grid article:nth-child(1) {
    background:#edf2eb
}

.rm-photo-promise-grid article:nth-child(2) {
    background:#f8eae3
}

.rm-photo-promise-grid article:nth-child(3) {
    background:#e9f0f4
}

.rm-photo-promise-grid article:nth-child(4) {
    background:#f4eedf
}

.rm-photo-promise-grid article:nth-child(5) {
    background:#35404a;
    color:#fff
}

.rm-photo-promise-grid article>span {
    margin-bottom:auto;
    color:rgba(23,25,29,.23);
    font-family:Georgia,"Times New Roman",serif;
    font-size:31px
}

.rm-photo-promise-grid article:nth-child(5)>span {
    color:rgba(255,255,255,.28)
}

.rm-photo-promise-grid h3 {
    margin:34px 0 8px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:24px;
    font-weight:400
}

.rm-photo-promise-grid p {
    margin:0;
    font-size:12px;
    line-height:1.65;
    opacity:.8
}

.rm-photo-journey {
    padding:96px 0 105px;
    background:#35404a;
    color:#fff
}

.rm-photo-head-light h2,.rm-photo-head-light>p {
    color:#fff
}

.rm-photo-journey-list {
    display:grid;
    gap:1px;
    background:rgba(255,255,255,.12)
}

.rm-photo-journey-list article {
    display:grid;
    grid-template-columns:90px 1fr;
    gap:28px;
    padding:30px;
    background:#35404a
}

.rm-photo-journey-list article>span {
    color:rgba(255,255,255,.28);
    font-family:Georgia,"Times New Roman",serif;
    font-size:34px
}

.rm-photo-journey-list small {
    color:#d8a991;
    font-size:8px;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase
}

.rm-photo-journey-list h3 {
    margin:8px 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:25px;
    font-weight:400
}

.rm-photo-journey-list p {
    max-width:760px;
    margin:0;
    color:rgba(255,255,255,.68);
    font-size:13px;
    line-height:1.7
}

.rm-photo-ai {
    padding:90px 0;
    background:#fbfaf8
}

.rm-photo-ai-card {
    display:grid;
    grid-template-columns:160px 1fr;
    gap:42px;
    padding:44px;
    border-radius:26px;
    background:linear-gradient(135deg,#e9f0f4,#edf2eb)
}

.rm-photo-ai-mark {
    width:120px;
    height:120px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#4f6d82;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:32px
}

.rm-photo-ai-card h2 {
    margin:10px 0 18px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(32px,4vw,48px);
    font-weight:400
}

.rm-photo-ai-card p {
    color:#60676c;
    font-size:13px;
    line-height:1.75
}

.rm-photo-ai-card a {
    color:#4f6d82;
    font-size:11px;
    font-weight:700
}

.rm-photo-public {
    background:#fff
}

.rm-photo-public-grid>div:first-child>p {
    color:#60676c;
    font-size:14px;
    line-height:1.75
}

.rm-photo-public-card {
    padding:34px;
    border-radius:24px;
    background:#f8eae3
}

.rm-photo-public-card>span {
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    margin-bottom:24px;
    border-radius:50%;
    background:#c86f5e;
    color:#fff
}

.rm-photo-public-card strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:24px;
    font-weight:400
}

.rm-photo-public-card ul {
    margin:20px 0 0;
    padding-left:20px
}

.rm-photo-public-card li {
    margin:9px 0;
    color:#665c58;
    font-size:13px
}

.rm-photo-retention {
    background:#fbfaf8
}

.rm-photo-retention-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px
}

.rm-photo-retention-grid article {
    padding:28px;
    border:1px solid var(--rm-line);
    border-radius:20px;
    background:#fff
}

.rm-photo-retention-grid span {
    color:#9a735e;
    font-size:8px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase
}

.rm-photo-retention-grid strong {
    display:block;
    margin:24px 0 9px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:25px;
    font-weight:400
}

.rm-photo-retention-grid p {
    margin:0;
    color:#666c70;
    font-size:12px;
    line-height:1.7
}

.rm-photo-final {
    padding:0 0 105px;
    background:#fbfaf8
}

.rm-photo-final-card {
    padding:60px;
    border-radius:28px;
    background:linear-gradient(135deg,#edf2eb,#f8eae3);
    text-align:center
}

.rm-photo-final-card .rm-eyebrow {
    justify-content:center
}

.rm-photo-final-card h2 {
    font-size:clamp(42px,5vw,64px)
}

.rm-photo-final-card>p:last-of-type {
    max-width:650px;
    margin:20px auto 0;
    color:#62686d;
    font-size:14px;
    line-height:1.7
}

.rm-photo-final-card .rm-photo-trust-actions {
    justify-content:center
}

@media only screen and (max-width:900px) {
    .rm-photo-trust-hero-grid,.rm-photo-head,.rm-photo-public-grid {
        grid-template-columns:1fr;
        gap:38px
    }

    .rm-photo-promise-grid {
        grid-template-columns:1fr 1fr
    }

    .rm-photo-promise-grid article:nth-child(n) {
        grid-column:auto
    }

    .rm-photo-retention-grid {
        grid-template-columns:1fr
    }

}

@media only screen and (max-width:650px) {
    .rm-photo-trust-hero {
        padding:58px 0 68px
    }

    .rm-photo-promises,.rm-photo-public,.rm-photo-retention,.rm-photo-journey {
        padding:65px 0 72px
    }

    .rm-photo-promise-grid {
        grid-template-columns:1fr
    }

    .rm-photo-journey-list article {
        grid-template-columns:52px 1fr;
        padding:22px
    }

    .rm-photo-ai {
        padding:60px 0
    }

    .rm-photo-ai-card {
        grid-template-columns:1fr;
        padding:28px 22px
    }

    .rm-photo-ai-mark {
        width:80px;
        height:80px;
        font-size:24px
    }

    .rm-photo-final-card {
        padding:42px 22px
    }

    .rm-photo-trust-actions {
        display:grid
    }

    .rm-photo-trust-actions .rm-btn {
        width:100%
    }

}



/* =========================================================
   REMEMOIR HOMEPAGE
   Ten More Seconds Additions
========================================================= */

.rm-home-ten {
    padding: 96px 0 105px;
    background:
        radial-gradient(circle at 8% 15%, rgba(216, 169, 141, 0.18), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(137, 156, 132, 0.18), transparent 30%),
        #fbfaf8;
}

.rm-home-ten-head {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 50px;
    align-items: end;
    margin-bottom: 42px;
}

.rm-home-ten-head h2 {
    font-size: clamp(44px, 5.4vw, 70px);
}

.rm-home-ten-head > p {
    max-width: 520px;
    margin: 0;
    color: var(--rm-soft-ink);
    font-size: 15px;
    line-height: 1.75;
}

.rm-home-ten-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.75fr);
    gap: 26px;
    align-items: stretch;
}

.rm-home-ten-video {
    overflow: hidden;
    border-radius: 26px;
    background: #1f2529;
    box-shadow: 0 24px 60px rgba(27, 32, 36, 0.12);
}

.rm-home-ten-video video {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 560px;
    object-fit: cover;
    background: #1f2529;
}

.rm-home-ten-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 38px;
    border: 1px solid var(--rm-line);
    border-radius: 26px;
    background: #ffffff;
}

.rm-home-ten-label {
    margin: 0 0 16px;
    color: #a2745d;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rm-home-ten-copy h3 {
    margin: 0 0 20px;
    color: var(--rm-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(31px, 3.3vw, 44px);
    font-weight: 400;
    line-height: 1.14;
}

.rm-home-ten-copy > p {
    margin: 0 0 16px;
    color: var(--rm-soft-ink);
    font-size: 13px;
    line-height: 1.75;
}

.rm-home-ten-note {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 8px 0 26px;
    padding: 13px 15px;
    border-radius: 13px;
    background: #edf2eb;
}

.rm-home-ten-note strong {
    color: #5f775b;
    font-size: 10px;
}

.rm-home-ten-note span {
    color: #6b726d;
    font-size: 10px;
    line-height: 1.45;
}

.rm-home-moments {
    padding: 96px 0 105px;
    background: #ffffff;
}

.rm-home-moment-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.rm-home-moment-card {
    overflow: hidden;
    border: 1px solid var(--rm-line);
    border-radius: 22px;
    background: #fbfaf8;
    box-shadow: 0 14px 36px rgba(23, 25, 29, 0.04);
}

.rm-home-moment-media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #20262a;
}

.rm-home-moment-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #20262a;
}

.rm-home-moment-copy {
    padding: 25px;
}

.rm-home-moment-copy > span {
    display: block;
    margin-bottom: 10px;
    color: #a2745d;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.rm-home-moment-copy h3 {
    margin: 0 0 10px;
    color: #30363a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.24;
}

.rm-home-moment-copy p {
    margin: 0;
    color: #687075;
    font-size: 12px;
    line-height: 1.65;
}

.rm-home-photo-trust {
    padding: 0 0 105px;
    background: #ffffff;
}

.rm-home-photo-trust-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 54px;
    padding: 52px;
    border-radius: 26px;
    background: linear-gradient(135deg, #edf2eb, #e9f0f4);
}

.rm-home-photo-trust-card h2 {
    font-size: clamp(40px, 4.8vw, 62px);
}

.rm-home-photo-trust-card > div:last-child > p {
    margin: 0 0 16px;
    color: #5f686d;
    font-size: 14px;
    line-height: 1.75;
}

.rm-home-photo-trust-card .rm-btn {
    margin-top: 10px;
}

@media only screen and (max-width: 980px) {
    .rm-home-ten-head,
    .rm-home-ten-feature,
    .rm-home-photo-trust-card {
        grid-template-columns: 1fr;
    }

    .rm-home-ten-video video {
        min-height: 0;
    }

    .rm-home-moment-grid {
        grid-template-columns: 1fr;
    }

    .rm-home-moment-media {
        aspect-ratio: 16 / 9;
    }
}

@media only screen and (max-width: 680px) {
    .rm-home-ten,
    .rm-home-moments {
        padding: 65px 0 72px;
    }

    .rm-home-ten-copy,
    .rm-home-photo-trust-card {
        padding: 28px 22px;
    }

    .rm-home-photo-trust {
        padding-bottom: 72px;
    }

    .rm-home-ten-note {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .rm-home-moment-media {
        aspect-ratio: 4 / 3;
    }
}


/* =========================================================
   REMEMOIR
   Reviews - Grandad Feature
========================================================= */

.rm-rev-grandad {
    padding: 95px 0 105px;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(216, 169, 141, 0.18),
            transparent 30%
        ),
        radial-gradient(
            circle at 90% 16%,
            rgba(137, 156, 132, 0.18),
            transparent 30%
        ),
        #fbfaf8;
}

.rm-rev-grandad-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(340px, 0.85fr);

    gap: 30px;

    align-items: stretch;
}

.rm-rev-grandad-video {
    overflow: hidden;

    border-radius: 26px;

    background: #20262a;

    box-shadow:
        0 24px 60px
        rgba(27, 32, 36, 0.12);
}

.rm-rev-grandad-video video {
    display: block;

    width: 100%;
    height: 100%;

    min-height: 520px;

    object-fit: cover;

    background: #20262a;
}

.rm-rev-grandad-copy {
    display: flex;
    flex-direction: column;

    justify-content: center;

    padding: 40px;

    border: 1px solid var(--rm-line);
    border-radius: 26px;

    background: #ffffff;
}

.rm-rev-grandad-copy blockquote {
    margin: 12px 0 24px;

    color: var(--rm-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(30px, 3.5vw, 46px);
    font-weight: 400;

    line-height: 1.2;
}

.rm-rev-grandad-copy > p {
    margin: 0 0 16px;

    color: var(--rm-soft-ink);

    font-size: 13px;
    line-height: 1.75;
}

.rm-rev-grandad-note {
    display: flex;

    align-items: center;

    gap: 12px;

    margin-top: 10px;
    padding: 14px 16px;

    border-radius: 13px;

    background: #edf2eb;
}

.rm-rev-grandad-note strong {
    color: #5f775b;

    font-size: 10px;
}

.rm-rev-grandad-note span {
    color: #697169;

    font-size: 10px;
    line-height: 1.45;
}


@media only screen and (max-width: 900px) {

    .rm-rev-grandad-grid {
        grid-template-columns: 1fr;
    }

    .rm-rev-grandad-video video {
        min-height: 0;
    }

}


@media only screen and (max-width: 680px) {

    .rm-rev-grandad {
        padding: 65px 0 72px;
    }

    .rm-rev-grandad-copy {
        padding: 28px 22px;
    }

    .rm-rev-grandad-note {
        align-items: flex-start;
        flex-direction: column;

        gap: 4px;
    }

}


/* =========================================================
   REMEMOIR - SERVICES PAGE
========================================================= */

.rm-svc-hero {
    padding: 82px 0 92px;
    background:
        radial-gradient(circle at 10% 12%, rgba(216,169,141,.20), transparent 30%),
        radial-gradient(circle at 88% 16%, rgba(137,156,132,.18), transparent 31%),
        #fbfaf8;
}

.rm-svc-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 70px;
    align-items: center;
}

.rm-svc-hero h1 {
    font-size: clamp(54px,6vw,82px);
}

.rm-svc-hero-intro {
    max-width: 720px;
    margin: 26px 0 0;
    color: var(--rm-soft-ink);
    font-size: 18px;
    line-height: 1.78;
}

.rm-svc-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.rm-svc-hero-card {
    padding: 38px;
    border-radius: 26px;
    background: #35404a;
    color: #fff;
}

.rm-svc-hero-card > span {
    display: block;
    margin-bottom: 28px;
    color: rgba(255,255,255,.58);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.rm-svc-hero-card h2 {
    margin: 0 0 18px;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1.2;
}

.rm-svc-hero-card p {
    margin: 0 0 24px;
    color: rgba(255,255,255,.74);
    font-size: 13px;
    line-height: 1.72;
}

.rm-svc-hero-card strong {
    display: block;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.14);
    font-size: 11px;
}

.rm-svc-list {
    padding: 96px 0 105px;
    background: #fff;
}

.rm-svc-card {
    display: grid;
    grid-template-columns: 70px minmax(0,.9fr) minmax(360px,1.1fr);
    gap: 36px;
    align-items: center;
    margin-top: 26px;
    padding: 34px;
    border: 1px solid var(--rm-line);
    border-radius: 26px;
    background: #fbfaf8;
}

.rm-svc-card--feature {
    background: linear-gradient(135deg,#edf2eb,#f8eee8);
}

.rm-svc-card--personal {
    background: linear-gradient(135deg,#f8eae3,#f4eedf);
}

/* Complete Rememoir example - video left, copy right */

.rm-svc-card--complete {
    grid-template-columns: minmax(0,1.12fr) minmax(340px,.88fr);
    gap: 42px;
    padding: 38px;
    background:
        radial-gradient(circle at 8% 12%, rgba(137,156,132,.14), transparent 30%),
        linear-gradient(135deg,#f4f6f2,#f8f1eb);
}

.rm-svc-complete-media {
    overflow: hidden;
    border-radius: 20px;
    background: #20262a;
    box-shadow: 0 18px 45px rgba(23,25,29,.09);
}

.rm-svc-complete-media video {
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: contain;
    background: #20262a;
}

.rm-svc-complete-copy {
    padding: 12px 8px 12px 4px;
}

.rm-svc-complete-copy h3 {
    margin: 0 0 18px;
    color: var(--rm-ink);
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(32px,4vw,48px);
    font-weight: 400;
    line-height: 1.15;
}

.rm-svc-complete-copy > p {
    margin: 0 0 15px;
    color: var(--rm-soft-ink);
    font-size: 13px;
    line-height: 1.74;
}

.rm-svc-number {
    align-self: start;
    color: rgba(23,25,29,.20);
    font-family: Georgia,"Times New Roman",serif;
    font-size: 36px;
}

.rm-svc-kicker {
    margin: 0 0 10px;
    color: #a2745d;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.rm-svc-copy h3 {
    margin: 0 0 18px;
    color: var(--rm-ink);
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(32px,4vw,48px);
    font-weight: 400;
    line-height: 1.15;
}

.rm-svc-copy > p {
    margin: 0 0 15px;
    color: var(--rm-soft-ink);
    font-size: 13px;
    line-height: 1.74;
}

.rm-svc-copy .rm-btn {
    margin-top: 12px;
}

.rm-svc-includes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 22px 0 18px;
}

.rm-svc-includes span {
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: #596268;
    font-size: 9px;
    font-weight: 700;
}

.rm-svc-media {
    overflow: hidden;
    border-radius: 20px;
    background: #20262a;
}

.rm-svc-media video {
    display: block;
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    background: #20262a;
}

.rm-svc-media-note {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 13px 15px;
    background: #fff;
}

.rm-svc-media-note strong {
    color: #5f775b;
    font-size: 9px;
}

.rm-svc-media-note span {
    color: #6a7175;
    font-size: 9px;
}

.rm-svc-visual {
    overflow: hidden;
    border-radius: 20px;
}

.rm-svc-visual img {
    display: block;
    width: 100%;
}

.rm-svc-message-card {
    padding: 36px;
    border-radius: 22px;
    background: rgba(255,255,255,.78);
    text-align: center;
}

.rm-svc-message-card > span {
    display: block;
    margin-bottom: 12px;
    color: #9a735e;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.rm-svc-message-card blockquote {
    margin: 0 0 15px;
    color: #30363a;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 30px;
    line-height: 1.25;
}

.rm-svc-message-card p {
    margin: 0;
    color: #666c70;
    font-size: 13px;
    line-height: 1.65;
}

.rm-svc-message-card hr {
    width: 60px;
    margin: 30px auto;
    border: 0;
    border-top: 1px solid #d8d4cf;
}

.rm-svc-message-card strong {
    display: block;
    color: #30363a;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.35;
}

.rm-svc-coming {
    margin-top: 24px;
    padding: 16px 18px;
    border-radius: 14px;
    background: #edf2eb;
}

.rm-svc-coming strong,
.rm-svc-coming span {
    display: block;
}

.rm-svc-coming strong {
    margin-bottom: 4px;
    color: #52644f;
    font-size: 11px;
}

.rm-svc-coming span {
    color: #6a716b;
    font-size: 10px;
}

.rm-svc-montage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.rm-svc-montage-grid > div {
    overflow: hidden;
    aspect-ratio: 1/1;
    border-radius: 14px;
    background: #20262a;
}

.rm-svc-montage-grid img,
.rm-svc-montage-grid video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rm-svc-occasions {
    padding: 92px 0 100px;
    background: #fbfaf8;
}

.rm-svc-occasions-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 65px;
    align-items: center;
}

.rm-svc-occasions h2 {
    font-size: clamp(42px,5vw,64px);
}

.rm-svc-occasion-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rm-svc-occasion-list span {
    padding: 13px 17px;
    border: 1px solid var(--rm-line);
    border-radius: 999px;
    background: #fff;
    color: #596166;
    font-size: 11px;
}

.rm-svc-final {
    padding: 0 0 105px;
    background: #fbfaf8;
}

.rm-svc-final-card {
    padding: 58px;
    border-radius: 28px;
    background: linear-gradient(135deg,#edf2eb,#f8eae3);
    text-align: center;
}

.rm-svc-final-card .rm-eyebrow {
    justify-content: center;
}

.rm-svc-final-card h2 {
    font-size: clamp(42px,5vw,62px);
}

.rm-svc-final-card > p:last-of-type {
    max-width: 650px;
    margin: 20px auto 0;
    color: #62696d;
    font-size: 14px;
    line-height: 1.72;
}

.rm-svc-final-card .rm-btn {
    margin-top: 28px;
}

@media only screen and (max-width:980px) {
    .rm-svc-hero-grid,
    .rm-svc-occasions-grid {
        grid-template-columns: 1fr;
    }

    .rm-svc-card--complete {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .rm-svc-card--complete > :last-child {
        grid-column: auto;
    }

    .rm-svc-card {
        grid-template-columns: 55px 1fr;
    }

    .rm-svc-card > :last-child {
        grid-column: 1 / -1;
    }
}

@media only screen and (max-width:680px) {
    .rm-svc-hero {
        padding: 58px 0 68px;
    }

    .rm-svc-list,
    .rm-svc-occasions {
        padding: 65px 0 72px;
    }

    .rm-svc-card {
        grid-template-columns: 1fr;
        padding: 24px;
        gap: 18px;
    }

    .rm-svc-number {
        font-size: 28px;
    }

    .rm-svc-card > :last-child {
        grid-column: auto;
    }

    .rm-svc-hero-actions {
        display: grid;
    }

    .rm-svc-hero-actions .rm-btn {
        width: 100%;
    }

    .rm-svc-card--complete {
        padding: 24px;
        gap: 22px;
    }

    .rm-svc-complete-copy {
        padding: 4px 0 0;
    }

    .rm-svc-complete-media {
        border-radius: 16px;
    }

    .rm-svc-complete-media .rm-svc-media-note {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .rm-svc-message-card {
        padding: 28px 20px;
    }

    .rm-svc-final-card {
        padding: 42px 22px;
    }
}

.rm-svc-final-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.rm-svc-final-actions .rm-btn {
    margin-top: 0;
}

@media only screen and (max-width: 680px) {

    .rm-svc-final-actions {
        display: grid;
    }

    .rm-svc-final-actions .rm-btn {
        width: 100%;
    }

}


/* REMEMOIR - PACKAGES */
.rm-pkg-hero {
    padding:90px 0 96px;
    background:radial-gradient(circle at 12% 12%,rgba(137,156,132,.18),transparent 30%),radial-gradient(circle at 88% 18%,rgba(216,169,141,.20),transparent 32%),#fbfaf8;
}

.rm-pkg-hero-inner {
    max-width:900px;
    margin:0 auto;
    text-align:center;
}

.rm-pkg-hero-inner .rm-eyebrow {
    justify-content:center;
}

.rm-pkg-hero h1 {
    font-size:clamp(56px,7vw,88px);
}

.rm-pkg-hero-intro {
    max-width:720px;
    margin:26px auto 0;
    color:var(--rm-soft-ink);
    font-size:18px;
    line-height:1.75;
}

.rm-pkg-hero-actions,.rm-pkg-help-actions {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:30px;
}

.rm-pkg-pilot {
    margin:20px 0 0;
    color:#8a8f92;
    font-size:10px;
}

.rm-pkg-section {
    padding:96px 0 105px;
    background:#fff;
}

.rm-pkg-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    align-items:stretch;
}

.rm-pkg-card {
    position:relative;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--rm-line);
    border-radius:26px;
    background:#fbfaf8;
}

.rm-pkg-card--featured {
    background:linear-gradient(145deg,#edf2eb,#f8eae3);
    box-shadow:0 22px 55px rgba(31,37,41,.09);
}

.rm-pkg-ribbon {
    position:absolute;
    top:18px;
    right:18px;
    padding:8px 11px;
    border-radius:999px;
    background:#35404a;
    color:#fff;
    font-size:8px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.rm-pkg-card-top {
    padding:34px 32px 28px;
}

.rm-pkg-label {
    margin:0 0 18px;
    color:#9d715c;
    font-size:9px;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.rm-pkg-card h3 {
    margin:0 0 15px;
    color:var(--rm-ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:35px;
    font-weight:400;
    line-height:1.15;
}

.rm-pkg-summary {
    min-height:62px;
    margin:0;
    color:var(--rm-soft-ink);
    font-size:12px;
    line-height:1.65;
}

.rm-pkg-price {
    display:flex;
    align-items:flex-start;
    margin-top:25px;
    color:var(--rm-ink);
}

.rm-pkg-price span {
    margin-top:8px;
    margin-right:3px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
}

.rm-pkg-price strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:58px;
    font-weight:400;
    line-height:1;
}

.rm-pkg-card-top>small {
    display:block;
    margin-top:7px;
    color:#8b9093;
    font-size:9px;
}

.rm-pkg-card-body {
    display:flex;
    flex:1;
    flex-direction:column;
    padding:27px 32px 32px;
    border-top:1px solid var(--rm-line);
    background:rgba(255,255,255,.62);
}

.rm-pkg-card-body ul {
    flex:1;
    margin:0 0 28px;
    padding:0;
    list-style:none;
}

.rm-pkg-card-body li {
    position:relative;
    margin:0 0 13px;
    padding-left:22px;
    color:#596166;
    font-size:11px;
    line-height:1.45;
}

.rm-pkg-card-body li:before {
    position:absolute;
    left:0;
    top:1px;
    content:"✓";
    color:#7f9a7b;
    font-weight:700;
}

.rm-pkg-card-body .rm-btn {
    width:100%;
}

.rm-pkg-restoration {
    padding:0 0 100px;
    background:#fff;
}

.rm-pkg-restoration-card {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:60px;
    align-items:center;
    padding:48px 52px;
    border-radius:26px;
    background:#eaf0f4;
}

.rm-pkg-restoration-card h2 {
    font-size:clamp(40px,5vw,60px);
}

.rm-pkg-restoration-card>div:first-child>p:last-child {
    max-width:650px;
    margin:18px 0 0;
    color:#616a70;
    font-size:13px;
    line-height:1.72;
}

.rm-pkg-restoration-price {
    padding:28px;
    border-radius:20px;
    background:rgba(255,255,255,.72);
    text-align:center;
}

.rm-pkg-restoration-price>span,.rm-pkg-restoration-price>small {
    display:block;
    color:#7b8286;
    font-size:9px;
}

.rm-pkg-restoration-price>strong {
    display:block;
    margin:5px 0;
    color:#30363a;
    font-family:Georgia,"Times New Roman",serif;
    font-size:52px;
    font-weight:400;
}

.rm-pkg-restoration-price .rm-btn {
    margin-top:18px;
}

.rm-pkg-gift {
    padding:95px 0 105px;
    background:#fbfaf8;
}

.rm-pkg-gift-grid {
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:65px;
    align-items:center;
}

.rm-pkg-gift-message {
    padding:48px 38px;
    border-radius:26px;
    background:linear-gradient(145deg,#f8eae3,#f4eedf);
    text-align:center;
}

.rm-pkg-gift-message>span {
    display:block;
    margin-bottom:18px;
    color:#9a735e;
    font-size:8px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.rm-pkg-gift-message blockquote {
    margin:0 0 18px;
    color:#30363a;
    font-family:Georgia,"Times New Roman",serif;
    font-size:38px;
    line-height:1.25;
}

.rm-pkg-gift-message p {
    margin:0;
    color:#676e72;
    font-size:13px;
    line-height:1.65;
}

.rm-pkg-gift-copy>p:not(.rm-eyebrow) {
    max-width:650px;
    color:#626a6f;
    font-size:14px;
    line-height:1.75;
}

.rm-pkg-help {
    padding:95px 0;
    background:#fff;
}

.rm-pkg-help-card {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:60px;
    padding:52px;
    border-radius:28px;
    background:linear-gradient(135deg,#edf2eb,#f8eae3);
}

.rm-pkg-help-card>div:last-child>p {
    margin:0 0 15px;
    color:#61696d;
    font-size:14px;
    line-height:1.72;
}

.rm-pkg-help-actions {
    justify-content:flex-start;
}

.rm-pkg-note {
    padding:0 0 100px;
    background:#fff;
}

.rm-pkg-note-inner {
    max-width:760px;
    margin:0 auto;
    padding-top:26px;
    border-top:1px solid var(--rm-line);
    text-align:center;
}

.rm-pkg-note-inner strong {
    display:block;
    margin-bottom:8px;
    color:#525a5f;
    font-size:10px;
}

.rm-pkg-note-inner p {
    margin:0;
    color:#83898c;
    font-size:10px;
    line-height:1.65;
}

@media(max-width:980px) {
    .rm-pkg-grid {
        grid-template-columns:1fr;
    }

    .rm-pkg-summary {
        min-height:0;
    }

    .rm-pkg-restoration-card,.rm-pkg-gift-grid,.rm-pkg-help-card {
        grid-template-columns:1fr;
    }

}

@media(max-width:680px) {
    .rm-pkg-hero {
        padding:60px 0 70px;
    }

    .rm-pkg-section,.rm-pkg-gift,.rm-pkg-help {
        padding:65px 0 72px;
    }

    .rm-pkg-hero-actions,.rm-pkg-help-actions {
        display:grid;
    }

    .rm-pkg-hero-actions .rm-btn,.rm-pkg-help-actions .rm-btn {
        width:100%;
    }

    .rm-pkg-restoration-card,.rm-pkg-help-card {
        padding:30px 22px;
    }

    .rm-pkg-card-top,.rm-pkg-card-body {
        padding-left:24px;
        padding-right:24px;
    }

    .rm-pkg-gift-message {
        padding:36px 22px;
    }

}


/* =========================================================
   REMEMOIR - QUESTIONS PAGE
========================================================= */

.rm-q-hero {
    padding: 82px 0 92px;
    background:
        radial-gradient(circle at 10% 15%, rgba(216, 169, 141, 0.18), transparent 30%),
        radial-gradient(circle at 90% 18%, rgba(137, 156, 132, 0.18), transparent 31%),
        #fbfaf8;
}

.rm-q-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 70px;
    align-items: center;
}

.rm-q-hero h1 {
    font-size: clamp(56px, 7vw, 88px);
}

.rm-q-hero-intro {
    max-width: 650px;
    margin: 25px 0 0;
    color: var(--rm-soft-ink);
    font-size: 18px;
    line-height: 1.75;
}

.rm-q-hero-card {
    padding: 38px;
    border-radius: 26px;
    background: #35404a;
    color: #fff;
}

.rm-q-hero-card > span {
    display: block;
    margin-bottom: 24px;
    color: rgba(255,255,255,.58);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.rm-q-hero-card h2 {
    margin: 0 0 15px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 36px;
    font-weight: 400;
}

.rm-q-hero-card p {
    margin: 0 0 24px;
    color: rgba(255,255,255,.75);
    font-size: 13px;
    line-height: 1.72;
}

.rm-q-strip {
    padding: 24px 0;
    background: #fff;
    border-top: 1px solid var(--rm-line);
    border-bottom: 1px solid var(--rm-line);
}

.rm-q-strip-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: 28px;
    align-items: center;
    text-align: center;
}

.rm-q-strip-grid strong,
.rm-q-strip-grid span {
    display: block;
}

.rm-q-strip-grid strong {
    color: #343b40;
    font-size: 11px;
}

.rm-q-strip-grid span {
    margin-top: 4px;
    color: #81878b;
    font-size: 9px;
}

.rm-q-strip-grid b {
    color: #b0a69e;
    font-weight: 400;
}

.rm-q-main {
    padding: 95px 0 105px;
    background: #fff;
}

.rm-q-group {
    display: grid;
    grid-template-columns: 0.75fr 1.25fr;
    gap: 70px;
    padding: 65px 0;
    border-bottom: 1px solid var(--rm-line);
}

.rm-q-group:first-child {
    padding-top: 0;
}

.rm-q-group:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.rm-q-group-head {
    position: sticky;
    top: 120px;
    align-self: start;
}

.rm-q-group-head h2 {
    font-size: clamp(38px, 4.5vw, 56px);
}

.rm-q-list {
    border-top: 1px solid var(--rm-line);
}

.rm-q-item {
    border-bottom: 1px solid var(--rm-line);
}

.rm-q-item summary {
    display: flex;
    justify-content: space-between;
    gap: 25px;
    align-items: center;
    padding: 24px 4px;
    cursor: pointer;
    list-style: none;
    color: #30363a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1.3;
}

.rm-q-item summary::-webkit-details-marker {
    display: none;
}

.rm-q-item summary i {
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid #d4d0ca;
    border-radius: 50%;
    color: #7b817e;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    transition: transform .2s ease;
}

.rm-q-item[open] summary i {
    transform: rotate(45deg);
}

.rm-q-answer {
    max-width: 720px;
    padding: 0 58px 25px 4px;
}

.rm-q-answer p {
    margin: 0;
    color: #687075;
    font-size: 13px;
    line-height: 1.78;
}

.rm-q-answer a {
    color: #8f654f;
    font-weight: 700;
    text-decoration: none;
}

.rm-q-answer a:hover {
    text-decoration: underline;
}

.rm-q-final {
    padding: 0 0 105px;
    background: #fff;
}

.rm-q-final-card {
    padding: 58px;
    border-radius: 28px;
    background: linear-gradient(135deg, #edf2eb, #f8eae3);
    text-align: center;
}

.rm-q-final-card .rm-eyebrow {
    justify-content: center;
}

.rm-q-final-card h2 {
    font-size: clamp(48px, 6vw, 72px);
}

.rm-q-final-card > p {
    max-width: 650px;
    margin: 20px auto 0;
    color: #62696d;
    font-size: 14px;
    line-height: 1.72;
}

.rm-q-final-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

@media only screen and (max-width: 900px) {
    .rm-q-hero-grid,
    .rm-q-group {
        grid-template-columns: 1fr;
    }

    .rm-q-group {
        gap: 28px;
    }

    .rm-q-group-head {
        position: static;
    }
}

@media only screen and (max-width: 680px) {
    .rm-q-hero {
        padding: 58px 0 68px;
    }

    .rm-q-strip-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .rm-q-strip-grid b {
        transform: rotate(90deg);
    }

    .rm-q-main {
        padding: 65px 0 72px;
    }

    .rm-q-group {
        padding: 48px 0;
    }

    .rm-q-item summary {
        padding: 20px 2px;
        font-size: 19px;
    }

    .rm-q-answer {
        padding-right: 12px;
    }

    .rm-q-final {
        padding-bottom: 72px;
    }

    .rm-q-final-card {
        padding: 42px 22px;
    }

    .rm-q-final-actions {
        display: grid;
    }

    .rm-q-final-actions .rm-btn {
        width: 100%;
    }
}

/* =========================================================
   QUESTIONS - TYPOGRAPHY REFINEMENT
========================================================= */

/* Top three reassurance items */

.rm-q-strip-grid strong {
    font-size: 14px;
}

.rm-q-strip-grid span {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.5;
}


/* Question headings */

.rm-q-item summary {
    font-size: 24px;
}


/* Answers */

.rm-q-answer p {
    font-size: 15px;
    line-height: 1.8;
}


/* Links inside answers */

.rm-q-answer a {
    font-size: 14px;
}


/* Hero supporting text */

.rm-q-hero-intro {
    font-size: 18px;
}


/* Final section */

.rm-q-final-card > p {
    font-size: 15px;
    line-height: 1.75;
}


/* Mobile */

@media only screen and (max-width: 680px) {

    .rm-q-strip-grid strong {
        font-size: 13px;
    }

    .rm-q-strip-grid span {
        font-size: 11px;
    }

    .rm-q-item summary {
        font-size: 20px;
    }

    .rm-q-answer p {
        font-size: 14px;
    }

    .rm-q-answer a {
        font-size: 13px;
    }

}

/* =========================================================
   PUBLIC CUSTOMER OFFER
========================================================= */

.rm-offer-public-body {
    margin: 0;
    background: #fbfaf8;
    color: #30363a;
}

.rm-offer-public-shell {
    width: min(1160px, calc(100% - 40px));
    margin: 0 auto;
}

.rm-offer-public-header {
    padding: 25px 0;
    border-bottom: 1px solid #e5e1db;
    background: rgba(251, 250, 248, .96);
}

.rm-offer-public-brand {
    color: #252b2f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    text-decoration: none;
}

.rm-offer-public-main {
    padding: 72px 0 100px;
}

.rm-offer-public-hero {
    max-width: 900px;
}

.rm-offer-public-hero h1 {
    margin: 12px 0 28px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(54px, 7vw, 92px);
    font-weight: 400;
    line-height: 1.03;
}

.rm-offer-public-message {
    max-width: 720px;
    color: #626b70;
    font-size: 16px;
    line-height: 1.8;
}

.rm-offer-public-card {
    display: grid;
    grid-template-columns: 1fr 310px;
    gap: 45px;
    align-items: center;
    margin-top: 58px;
    padding: 42px;
    border-radius: 26px;
    background: linear-gradient(135deg, #edf2eb, #f8eae3);
}

.rm-offer-public-card h2 {
    margin: 8px 0 22px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 42px;
    font-weight: 400;
}

.rm-offer-public-card ul {
    margin: 0;
    padding-left: 20px;
    color: #626b70;
    font-size: 14px;
    line-height: 1.9;
}

.rm-offer-public-price {
    padding: 30px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .78);
    text-align: center;
}

.rm-offer-public-price span,
.rm-offer-public-price small {
    display: block;
}

.rm-offer-public-price span {
    color: #727a7e;
    font-size: 11px;
}

.rm-offer-public-price strong {
    display: block;
    margin: 7px 0;
    color: #30363a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 54px;
    font-weight: 400;
}

.rm-offer-public-price small {
    color: #8a9093;
    font-size: 10px;
}

.rm-offer-public-next {
    margin-top: 38px;
    padding: 42px;
    border: 1px solid #e2ded8;
    border-radius: 24px;
    background: #ffffff;
}

.rm-offer-public-next h2 {
    margin: 8px 0 14px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    font-weight: 400;
}

.rm-offer-public-next > p:not(.rm-eyebrow) {
    max-width: 700px;
    color: #687075;
    font-size: 14px;
    line-height: 1.75;
}

.rm-offer-public-next button {
    margin-top: 16px;
    padding: 15px 22px;
    border: 0;
    border-radius: 999px;
    background: #b7bdc0;
    color: #ffffff;
    font-weight: 700;
    cursor: not-allowed;
}

.rm-offer-public-help {
    margin-top: 18px !important;
    font-size: 12px !important;
}

.rm-offer-public-help a {
    color: #8f654f;
}

.rm-offer-not-found {
    padding: 100px 0;
}

.rm-offer-not-found h1 {
    max-width: 800px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 54px;
    font-weight: 400;
}

.rm-offer-not-found p {
    max-width: 650px;
    color: #697075;
    line-height: 1.75;
}


@media only screen and (max-width: 760px) {

    .rm-admin-send-offer-form {
        align-items: stretch;
        flex-direction: column;
    }

    .rm-admin-send-offer-btn {
        width: 100%;
    }

    .rm-offer-public-card {
        grid-template-columns: 1fr;
        padding: 28px 22px;
    }

    .rm-offer-public-next {
        padding: 30px 22px;
    }

}


/* =========================================================
   REMEMOIR - PREMIUM PRIVATE OFFER PAGE
========================================================= */

.rm-offer-public-body {
    margin: 0;
    background:
        radial-gradient(
            circle at 12% 8%,
            rgba(137, 156, 132, .10),
            transparent 28%
        ),
        radial-gradient(
            circle at 88% 10%,
            rgba(216, 169, 141, .12),
            transparent 30%
        ),
        #fbfaf8;

    color: #30363a;
}

.rm-offer-public-shell {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.rm-offer-public-header {
    padding: 26px 0;

    border-bottom: 1px solid #e7e2dc;

    background:
        rgba(251, 250, 248, .94);

    backdrop-filter: blur(10px);
}

.rm-offer-public-header-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;
}

.rm-offer-public-brand {
    color: #262c30;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 31px;

    text-decoration: none;
}

.rm-offer-private-badge {
    padding: 9px 13px;

    border: 1px solid #dad5cf;
    border-radius: 999px;

    background: #ffffff;

    color: #72787b;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .08em;
    text-transform: uppercase;
}

.rm-offer-public-main {
    padding: 92px 0 110px;
}


/* =========================================================
   HERO
========================================================= */

.rm-offer-public-hero {
    max-width: 900px;
}

.rm-offer-public-hero h1 {
    margin: 15px 0 24px;

    color: #2a3034;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(58px, 7vw, 94px);
    font-weight: 400;

    line-height: 1.02;
}

.rm-offer-public-intro {
    max-width: 690px;

    margin: 0;

    color: #626a6f;

    font-size: 17px;
    line-height: 1.8;
}

.rm-offer-public-note {
    max-width: 760px;

    margin-top: 36px;
    padding: 24px 26px;

    border-left: 2px solid #c69a7c;

    background:
        rgba(255, 255, 255, .58);
}

.rm-offer-public-note > span {
    display: block;

    margin-bottom: 10px;

    color: #9c725d;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: .14em;
    text-transform: uppercase;
}

.rm-offer-public-note p {
    margin: 0;

    color: #596166;

    font-size: 14px;
    line-height: 1.8;
}


/* =========================================================
   RECOMMENDATION
========================================================= */

.rm-offer-public-card {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        330px;

    gap: 48px;

    align-items: center;

    margin-top: 62px;
    padding: 46px;

    border: 1px solid #e4dfd9;
    border-radius: 30px;

    background:
        linear-gradient(
            135deg,
            rgba(237, 242, 235, .96),
            rgba(248, 234, 227, .96)
        );

    box-shadow:
        0 26px 70px
        rgba(35, 42, 46, .07);
}

.rm-offer-public-recommendation h2 {
    margin: 10px 0 12px;

    color: #2d3337;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(40px, 5vw, 58px);
    font-weight: 400;

    line-height: 1.1;
}

.rm-offer-public-card-intro {
    max-width: 580px;

    margin: 0;

    color: #687075;

    font-size: 13px;
    line-height: 1.7;
}

.rm-offer-public-includes {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;

    margin-top: 28px;
}

.rm-offer-public-includes > div {
    display: flex;

    align-items: center;

    gap: 10px;

    padding: 13px 14px;

    border: 1px solid rgba(255, 255, 255, .76);
    border-radius: 13px;

    background:
        rgba(255, 255, 255, .58);
}

.rm-offer-public-includes span {
    display: grid;

    flex: 0 0 24px;

    width: 24px;
    height: 24px;

    place-items: center;

    border-radius: 50%;

    background: #e3ebdf;

    color: #62765e;

    font-size: 10px;
    font-weight: 700;
}

.rm-offer-public-includes strong {
    color: #4c5559;

    font-size: 11px;
    font-weight: 700;
}


/* =========================================================
   PRICE PANEL
========================================================= */

.rm-offer-public-price-panel {
    padding: 36px 30px;

    border: 1px solid rgba(255, 255, 255, .84);
    border-radius: 22px;

    background:
        rgba(255, 255, 255, .82);

    text-align: center;

    box-shadow:
        0 16px 35px
        rgba(38, 43, 46, .05);
}

.rm-offer-public-price-label {
    display: block;

    color: #747b7f;

    font-size: 10px;
}

.rm-offer-public-price-panel strong {
    display: block;

    margin: 9px 0 8px;

    color: #2d3337;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 60px;
    font-weight: 400;

    line-height: 1;
}

.rm-offer-public-price-panel p {
    margin: 0;

    color: #8a9093;

    font-size: 10px;
}


/* =========================================================
   NEXT STEP
========================================================= */

.rm-offer-public-next {
    display: grid;

    grid-template-columns:
        1fr
        auto;

    gap: 42px;

    align-items: center;

    margin-top: 34px;
    padding: 40px 42px;

    border: 1px solid #e4dfd9;
    border-radius: 26px;

    background: #ffffff;
}

.rm-offer-public-next h2 {
    margin: 8px 0 12px;

    color: #30363a;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(34px, 4vw, 46px);
    font-weight: 400;

    line-height: 1.15;
}

.rm-offer-public-next-copy > p:not(.rm-eyebrow) {
    max-width: 650px;

    margin: 0;

    color: #697176;

    font-size: 13px;
    line-height: 1.75;
}

.rm-offer-public-next-action {
    min-width: 255px;

    text-align: center;
}

.rm-offer-public-next-action button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 20px;

    width: 100%;

    padding: 16px 20px;

    border: 0;
    border-radius: 999px;

    background: #aeb5b8;

    color: #ffffff;

    font-size: 12px;
    font-weight: 700;

    cursor: not-allowed;
}

.rm-offer-public-next-action small {
    display: block;

    margin-top: 9px;

    color: #909699;

    font-size: 9px;
}


/* =========================================================
   REASSURANCE
========================================================= */

.rm-offer-public-reassurance {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    margin-top: 22px;

    overflow: hidden;

    border: 1px solid #e5e0da;
    border-radius: 18px;

    background: #ffffff;
}

.rm-offer-public-reassurance > div {
    padding: 20px 22px;

    border-right: 1px solid #e8e3dd;
}

.rm-offer-public-reassurance > div:last-child {
    border-right: 0;
}

.rm-offer-public-reassurance strong,
.rm-offer-public-reassurance span {
    display: block;
}

.rm-offer-public-reassurance strong {
    margin-bottom: 5px;

    color: #40484d;

    font-size: 11px;
}

.rm-offer-public-reassurance span {
    color: #858c90;

    font-size: 9px;
}

.rm-offer-public-contact {
    margin-top: 30px;

    text-align: center;
}

.rm-offer-public-contact p {
    margin: 0 0 5px;

    color: #878d90;

    font-size: 10px;
}

.rm-offer-public-contact a {
    color: #845f4e;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}

.rm-offer-public-contact a:hover {
    text-decoration: underline;
}


/* =========================================================
   NOT FOUND
========================================================= */

.rm-offer-not-found {
    padding: 100px 0;
}

.rm-offer-not-found h1 {
    max-width: 800px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 54px;
    font-weight: 400;
}

.rm-offer-not-found p {
    max-width: 650px;

    color: #697075;

    line-height: 1.75;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media only screen and (max-width: 820px) {

    .rm-offer-public-card,
    .rm-offer-public-next {
        grid-template-columns: 1fr;
    }

    .rm-offer-public-next-action {
        min-width: 0;
    }

    .rm-offer-public-reassurance {
        grid-template-columns: 1fr;
    }

    .rm-offer-public-reassurance > div {
        border-right: 0;
        border-bottom: 1px solid #e8e3dd;
    }

    .rm-offer-public-reassurance > div:last-child {
        border-bottom: 0;
    }

}


@media only screen and (max-width: 620px) {

    .rm-offer-public-shell {
        width:
            min(
                100% - 28px,
                1180px
            );
    }

    .rm-offer-public-main {
        padding: 62px 0 75px;
    }

    .rm-offer-public-card {
        padding: 28px 22px;
    }

    .rm-offer-public-includes {
        grid-template-columns: 1fr;
    }

    .rm-offer-public-price-panel {
        padding: 28px 20px;
    }

    .rm-offer-public-next {
        padding: 28px 22px;
    }

    .rm-offer-public-note {
        padding: 20px;
    }

}

/* =========================================================
   PREMIUM OFFER - TYPOGRAPHY REFINEMENT
========================================================= */

/* Intro beneath main heading */

.rm-offer-public-intro {
    font-size: 19px;
    line-height: 1.75;
}


/* Personal note */

.rm-offer-public-note > span {
    font-size: 10px;
}

.rm-offer-public-note p {
    font-size: 16px;
    line-height: 1.8;
}


/* Recommendation description */

.rm-offer-public-card-intro {
    font-size: 15px;
    line-height: 1.7;
}


/* Included services */

.rm-offer-public-includes strong {
    font-size: 14px;
}

.rm-offer-public-includes span {
    font-size: 12px;
}


/* Price panel */

.rm-offer-public-price-label {
    font-size: 13px;
}

.rm-offer-public-price-panel p {
    font-size: 12px;
}


/* Next step supporting copy */

.rm-offer-public-next-copy > p:not(.rm-eyebrow) {
    font-size: 15px;
    line-height: 1.75;
}


/* Payment button */

.rm-offer-public-next-action button {
    font-size: 14px;
}

.rm-offer-public-next-action small {
    font-size: 11px;
}


/* Bottom reassurance strip */

.rm-offer-public-reassurance strong {
    font-size: 14px;
}

.rm-offer-public-reassurance span {
    font-size: 12px;
    line-height: 1.5;
}


/* Contact area */

.rm-offer-public-contact p {
    font-size: 12px;
}

.rm-offer-public-contact a {
    font-size: 13px;
}


/* Mobile refinement */

@media only screen and (max-width: 620px) {

    .rm-offer-public-intro {
        font-size: 17px;
    }

    .rm-offer-public-note p {
        font-size: 15px;
    }

    .rm-offer-public-card-intro {
        font-size: 14px;
    }

    .rm-offer-public-includes strong {
        font-size: 13px;
    }

    .rm-offer-public-next-copy > p:not(.rm-eyebrow) {
        font-size: 14px;
    }

    .rm-offer-public-reassurance strong {
        font-size: 13px;
    }

    .rm-offer-public-reassurance span {
        font-size: 11px;
    }

}


/* =========================================================
   PREMIUM OFFER - HERO & CONTACT REFINEMENT
========================================================= */

.rm-offer-public-hero h1 {
    font-size: clamp(48px, 5.8vw, 76px);
    line-height: 1.06;
}

.rm-offer-public-intro {
    max-width: 720px;
    font-size: 18px;
    line-height: 1.75;
}


/* Contact card */

.rm-offer-public-contact-card {
    display: grid;
    grid-template-columns: 58px 1fr auto;
    gap: 24px;
    align-items: center;

    margin-top: 30px;
    padding: 26px 28px;

    border: 1px solid #dfe5dc;
    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            #edf2eb,
            #eef3f5
        );
}

.rm-offer-public-contact-icon {
    display: grid;

    width: 58px;
    height: 58px;

    place-items: center;

    border-radius: 50%;

    background: #ffffff;
}

.rm-offer-public-contact-icon svg {
    width: 28px;
    height: 28px;

    fill: none;

    stroke: #60725d;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rm-offer-public-contact-card h3 {
    margin: 4px 0 7px;

    color: #30363a;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 28px;
    font-weight: 400;
}

.rm-offer-public-contact-card p:not(.rm-eyebrow) {
    max-width: 650px;

    margin: 0;

    color: #657075;

    font-size: 14px;
    line-height: 1.65;
}

.rm-offer-public-contact-card .rm-btn {
    white-space: nowrap;
}


/* Mobile */

@media only screen and (max-width: 760px) {

    .rm-offer-public-contact-card {
        grid-template-columns: 1fr;

        text-align: left;
    }

    .rm-offer-public-contact-card .rm-btn {
        width: 100%;
    }

}

/* =========================================================
   PRIVATE OFFER - REMEMOIR LOGO
========================================================= */

.rm-offer-public-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.rm-offer-public-brand img {
    display: block;
    width: 230px;
    max-width: 100%;
    height: auto;
}

@media only screen and (max-width: 620px) {

    .rm-offer-public-brand img {
        width: 190px;
    }

}


/* =========================================================
   PRIVATE OFFER - TRUST / LEGAL FOOTER
========================================================= */

.rm-offer-legal-footer {
    padding: 0 0 42px;
    background: #fbfaf8;
}

.rm-offer-legal-footer-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;

    padding: 30px 0 24px;

    border-top: 1px solid #e3dfd9;
}

.rm-offer-legal-footer-top strong,
.rm-offer-legal-footer-top span {
    display: block;
}

.rm-offer-legal-footer-top strong {
    margin-bottom: 5px;

    color: #3d4549;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 18px;
    font-weight: 400;
}

.rm-offer-legal-footer-top span {
    color: #858b8e;

    font-size: 11px;
}

.rm-offer-legal-footer-top nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 20px;
}

.rm-offer-legal-footer-top nav a {
    color: #626a6e;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}

.rm-offer-legal-footer-top nav a:hover {
    text-decoration: underline;
}

.rm-offer-legal-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 30px;

    padding-top: 18px;

    border-top: 1px solid #ece8e3;
}

.rm-offer-legal-footer-bottom p {
    margin: 0;

    color: #94999b;

    font-size: 10px;
    line-height: 1.55;
}

@media only screen and (max-width: 680px) {

    .rm-offer-legal-footer-top,
    .rm-offer-legal-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .rm-offer-legal-footer-top nav {
        justify-content: flex-start;
        gap: 14px 18px;
    }

}

/* =========================================================
   REMEMOIR OFFER - ACTIVE PAYMENT BUTTON
========================================================= */

.rm-offer-public-next-action button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 22px;

    width: 100%;

    padding: 17px 24px;

    border: 0;
    border-radius: 999px;

    background: #35404a;

    color: #ffffff;

    font-size: 14px;
    font-weight: 700;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.rm-offer-public-next-action button:hover {
    background: #29343d;

    transform: translateY(-1px);

    box-shadow:
        0 10px 24px
        rgba(37, 47, 55, 0.16);
}

.rm-offer-public-next-action button:active {
    transform: translateY(0);

    box-shadow: none;
}

.rm-offer-public-next-action button:focus-visible {
    outline: 3px solid rgba(53, 64, 74, 0.22);
    outline-offset: 3px;
}

.rm-offer-public-next-action button span {
    transition: transform 0.2s ease;
}

.rm-offer-public-next-action button:hover span {
    transform: translateX(3px);
}

/* =========================================================
   SERVICES - SIGNATURE PERSONAL VIDEO
========================================================= */

.rm-svc-card--personal-video {
    display: block;
    padding: 56px 56px 60px;
    background: linear-gradient(135deg,#f8eae3,#f4eedf);
}

.rm-svc-personal-head {
    display: grid;
    grid-template-columns: 90px minmax(0,1fr);
    gap: 38px;
    align-items: start;
    max-width: 1120px;
    margin: 0 auto 34px;
}

.rm-svc-personal-head .rm-svc-number {
    padding-top: 4px;
}

.rm-svc-personal-intro {
    max-width: 840px;
}

.rm-svc-personal-intro h3 {
    margin: 0 0 18px;
    color: var(--rm-ink);
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(44px,5vw,66px);
    font-weight: 400;
    line-height: 1.04;
}

.rm-svc-personal-intro > p {
    margin: 0;
    max-width: 820px;
    color: var(--rm-soft-ink);
    font-size: 16px;
    line-height: 1.75;
}

.rm-svc-personal-video {
    width: min(100%,1180px);
    margin: 0 auto;
    overflow: hidden;
    border-radius: 24px;
    background: #20262a;
    box-shadow: 0 26px 70px rgba(23,25,29,.13);
}

.rm-svc-personal-video video {
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: contain;
    background: #000;
}

.rm-svc-personal-video .rm-svc-media-note {
    padding: 14px 18px;
}

.rm-svc-personal-features {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    width: min(100%,1120px);
    margin: 24px auto 0;
}

.rm-svc-personal-features span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 9px 16px;
    border: 1px solid rgba(47,59,68,.08);
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    color: var(--rm-ink);
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 1050px) {
    .rm-svc-card--personal-video {
        padding: 44px 36px 48px;
    }

    .rm-svc-personal-head {
        grid-template-columns: 60px minmax(0,1fr);
        gap: 26px;
    }
}

@media (max-width: 720px) {
    .rm-svc-card--personal-video {
        padding: 28px 20px 30px;
    }

    .rm-svc-personal-head {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 24px;
    }

    .rm-svc-personal-head .rm-svc-number {
        padding-top: 0;
    }

    .rm-svc-personal-intro h3 {
        font-size: clamp(38px,11vw,50px);
    }

    .rm-svc-personal-intro > p {
        font-size: 14px;
    }

    .rm-svc-personal-video {
        border-radius: 16px;
    }

    .rm-svc-personal-video .rm-svc-media-note {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .rm-svc-personal-features {
        justify-content: flex-start;
        margin-top: 18px;
    }
}

/* =========================================================
   GLOBAL PAGE TITLE REFINEMENT
========================================================= */

.rm-page h1.rm-display {
    font-size: clamp(46px, 5vw, 68px);
}

.rm-hero-title {
    font-size: clamp(46px, 4.8vw, 68px);
}