/* =========================================================
   ROOM TO FEEL
   NAVBAR ONLY — LIGHT / BASE STYLES
   ========================================================= */


/* =========================================================
   GLOBAL RESET
   ========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


html {
    scroll-behavior: smooth;
    overflow-x: clip;
}


body {
    min-height: 100vh;

    margin: 0;

    overflow-x: clip;

    background: #F5E9DC;
    color: #302421;

    font-family:
        "Plus Jakarta Sans",
        sans-serif;

    font-weight: 500;
}


/*
   IMPORTANT:
   Do NOT use overflow-y:hidden here.

   The body must remain scrollable so the sticky navbar
   can work correctly on every screen size.
*/

body.menu-open {
    overflow: hidden;
}


/* =========================================================
   STICKY HEADER
   ========================================================= */

.site-header {
    position: sticky;
    top: 0;
    z-index: 9999;

    width: 100%;

    background: rgba(245, 233, 220, 0.97);

    border-bottom:
        1px solid #CDB5A4;

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}


/*
   Small shadow after scrolling.
   JS adds .is-scrolled.
*/

.site-header.is-scrolled {
    box-shadow:
        0 8px 28px rgba(74, 44, 38, 0.08);
}


/* =========================================================
   NAVBAR
   ========================================================= */

.navbar {
    width: 100%;
    min-height: 76px;

    padding:
        0 clamp(20px, 4vw, 56px);

    display: flex;
    align-items: center;

    gap: 25px;
}


/* =========================================================
   BRAND
   ========================================================= */

.brand {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;

    gap: 10px;

    color: #4A2C26;

    text-decoration: none;

    white-space: nowrap;
}


.brand-mark {
    width: 29px;
    height: 34px;

    display: block;
    flex: 0 0 auto;
    object-fit: contain;
}


.brand-door {
    position: relative;

    width: 25px;
    height: 31px;

    border:
        2px solid #A6533F;

    border-bottom: 0;

    border-radius:
        14px 14px 0 0;
}


.brand-door::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 0;

    width: 2px;
    height: 20px;

    background: #A6533F;

    transform: translateX(-50%);
}


.brand-name {
    color: #4A2C26;

    font-size: 16px;
    line-height: 1;

    font-weight: 500;
}


/* =========================================================
   DESKTOP NAV
   ========================================================= */

.desktop-nav {
    flex: 1 1 auto;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 4px;

    min-width: 0;
}


.nav-item {
    position: relative;
}


.nav-link {
    position: relative;

    min-height: 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding:
        0 13px;

    border: 0;

    border-radius: 10px;

    background: transparent;

    color: #302421;

    text-decoration: none;

    font-family: inherit;
    font-size: 16px;
    line-height: 1;

    font-weight: 500;

    cursor: pointer;

    white-space: nowrap;

    transition:
        color 0.2s ease,
        background 0.2s ease;
}


/*
   WHOLE TOPIC IS HIGHLIGHTED.
   NO UNDERLINE.
*/

.nav-link:hover {
    background: #EBD6C5;
    color: #7D382E;
}


.nav-link.active {
    background: #A6533F;
    color: #F5E9DC;
}


.nav-link.active:hover {
    background: #7D382E;
    color: #F5E9DC;
}


/* =========================================================
   DROPDOWN ARROW
   ========================================================= */

.dropdown-chevron {
    width: 7px;
    height: 7px;

    display: inline-block;

    border-right:
        1.5px solid currentColor;

    border-bottom:
        1.5px solid currentColor;

    transform:
        rotate(45deg)
        translateY(-2px);

    transition:
        transform 0.25s ease;
}


.nav-dropdown.is-open
.dropdown-chevron {
    transform:
        rotate(225deg)
        translateY(-1px);
}


/* =========================================================
   DESKTOP DROPDOWN
   ========================================================= */

.dropdown-menu {
    position: absolute;

    top: calc(100% + 8px);
    left: 50%;

    min-width: 190px;

    padding: 7px;

    display: flex;
    flex-direction: column;

    background: #FFF9F3;

    border:
        1px solid #CDB5A4;

    border-radius: 13px;

    box-shadow:
        0 18px 40px rgba(74, 44, 38, 0.13);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform:
        translate(-50%, -7px);

    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
}


.nav-dropdown.is-open .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform:
        translate(-50%, 0);
}


.dropdown-link {
    min-height: 42px;

    display: flex;
    align-items: center;

    padding:
        0 13px;

    border-radius: 8px;

    color: #4A2C26;

    text-decoration: none;

    font-size: 14px;
    font-weight: 500;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}


.dropdown-link:hover {
    background: #EBD6C5;
    color: #7D382E;
}


.dropdown-link.active {
    background: #A6533F;
    color: #F5E9DC;
}


/* =========================================================
   NAV ACTIONS
   ========================================================= */

.nav-actions {
    flex: 0 0 auto;

    display: flex;
    align-items: center;

    gap: 7px;
}


/* =========================================================
   DARK MODE ICON
   ========================================================= */

.icon-button {
    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 9px;

    background: transparent;

    color: #4A2C26;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}


.icon-button:hover {
    background: #EBD6C5;
    color: #7D382E;
}


.theme-icon {
    width: 19px;
    height: 19px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.theme-icon-sun {
    display: none;
}


/* =========================================================
   RTL BUTTON
   ========================================================= */

.rtl-button {
    min-height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    padding:
        0 10px;

    border: 0;
    border-radius: 9px;

    background: transparent;

    color: #4A2C26;

    font-family: inherit;
    font-size: 14px;
    font-weight: 500;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}


.rtl-button:hover {
    background: #EBD6C5;
    color: #7D382E;
}


.rtl-button svg {
    width: 17px;
    height: 17px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.5;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   LOGIN
   ========================================================= */

.login-button {
    min-height: 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding:
        0 20px;

    border-radius: 10px;

    background: #A6533F;
    color: #F5E9DC;

    text-decoration: none;

    font-size: 15px;
    font-weight: 500;

    white-space: nowrap;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.login-button:hover {
    background: #7D382E;

    transform:
        translateY(-1px);
}


/* =========================================================
   HAMBURGER
   Hidden on desktop
   ========================================================= */

.hamburger-button {
    display: none;

    width: 42px;
    height: 42px;

    align-items: center;
    justify-content: center;

    flex-direction: column;

    gap: 5px;

    border: 0;
    border-radius: 9px;

    background: transparent;

    color: #4A2C26;

    cursor: pointer;
}


.hamburger-button:hover {
    background: #EBD6C5;
}


.hamburger-button span {
    width: 20px;
    height: 1.5px;

    display: block;

    background: currentColor;

    border-radius: 10px;

    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}


/* =========================================================
   MOBILE MENU
   ========================================================= */

.mobile-menu {
    position: fixed;

    inset: 0;

    z-index: 10000;

    width: 100%;
    height: 100dvh;

    display: none;

    background: #F5E9DC;

    color: #302421;

    overflow: hidden;

    opacity: 0;
    visibility: hidden;

    transform: translateY(-10px);

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease,
        transform 0.25s ease;
}


.mobile-menu.is-open {
    display: block;

    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}


.mobile-menu-inner {
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;

    overflow-y: auto;
    overflow-x: hidden;

    overscroll-behavior: contain;

    padding:
        24px clamp(20px, 5vw, 40px);
}


/* =========================================================
   MOBILE MENU TOP
   ========================================================= */

.mobile-menu-top {
    min-height: 54px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    flex: 0 0 auto;

    border-bottom:
        1px solid #CDB5A4;
}


.mobile-menu-label {
    color: #4A2C26;

    font-size: 15px;
    font-weight: 500;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}


.close-menu {
    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 9px;

    background: transparent;

    color: #4A2C26;

    font-family: inherit;
    font-size: 31px;
    line-height: 1;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}


.close-menu:hover {
    background: #EBD6C5;
    color: #7D382E;
}


/* =========================================================
   MOBILE LINKS
   ========================================================= */

.mobile-menu-links {
    flex: 1 1 auto;

    display: flex;
    flex-direction: column;

    gap: 5px;

    padding:
        22px 0 30px;
}


.mobile-nav-group {
    width: 100%;
}


.mobile-nav-link {
    width: 100%;
    min-height: 50px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    padding:
        0 15px;

    border: 0;
    border-radius: 10px;

    background: transparent;

    color: #302421;

    text-decoration: none;

    font-family: inherit;
    font-size: 16px;
    font-weight: 500;

    cursor: pointer;

    text-align: start;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}


.mobile-nav-link:hover {
    background: #EBD6C5;
    color: #7D382E;
}


.mobile-nav-link.active {
    background: #A6533F;
    color: #F5E9DC;
}


.mobile-dropdown {
    display: grid;

    grid-template-rows: 0fr;

    overflow: hidden;

    transition:
        grid-template-rows 0.25s ease;
}


.mobile-dropdown > * {
    min-height: 0;
}


.mobile-dropdown.is-open {
    grid-template-rows: 1fr;
}


.mobile-dropdown a {
    min-height: 46px;

    display: flex;
    align-items: center;

    margin-inline-start: 15px;

    padding:
        0 15px;

    border-radius: 8px;

    color: #4A2C26;

    text-decoration: none;

    font-size: 15px;
    font-weight: 500;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}


.mobile-dropdown a:hover {
    background: #EBD6C5;
    color: #7D382E;
}

.mobile-dropdown a.active {
    background: #A6533F;
    color: #F5E9DC;
}


/* =========================================================
   MOBILE MENU BOTTOM
   ========================================================= */

.mobile-menu-bottom {
    flex: 0 0 auto;

    padding-top: 15px;

    border-top:
        1px solid #CDB5A4;
}


.mobile-login-button {
    width: 100%;
    min-height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #A6533F;
    color: #F5E9DC;

    text-decoration: none;

    font-size: 16px;
    font-weight: 500;

    transition:
        background 0.2s ease;
}


.mobile-login-button:hover {
    background: #7D382E;
}


/* =========================================================
   TEMPORARY TEST CONTENT
   ========================================================= */

.navbar-test-content {
    width: 100%;
}


.navbar-test-content section {
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 40px;

    border-bottom:
        1px solid #CDB5A4;

    font-size: 30px;
    font-weight: 600;

    color: #7D382E;
}


.navbar-test-content section:nth-child(even) {
    background: #EBD6C5;
}


/* =========================================================
   TABLET
   768px — 1023px
   ========================================================= */

@media (min-width: 768px) and (max-width: 1023px) {

    .navbar {
        min-height: 70px;

        padding:
            0 24px;

        gap: 15px;
    }

    .desktop-nav {
        display: none;
    }

    .nav-actions {
        margin-inline-start: auto;
    }

    .hamburger-button {
        display: inline-flex;
    }

    .login-button {
        display: none;
    }

    .rtl-button {
        padding-inline: 8px;
    }
}

/* =========================================================
   LAPTOP
   1024px — 1279px
   ========================================================= */

@media (min-width: 1024px) and (max-width: 1279px) {

    .navbar {
        min-height: 72px;

        padding:
            0 24px;

        gap: 12px;
    }

    .desktop-nav {
        gap: 1px;
    }

    .nav-link {
        padding-inline: 9px;
        font-size: 15px;
    }

    .login-button {
        padding-inline: 16px;
    }
}

main.rtf-home1-page .rtf-heading-accent {
    color: var(--rtf-brand);
}

main > section.rtf-fl-section .rtf-heading-accent,
main > section.rtf-bn-section .rtf-heading-accent,
main > section.rtf-h2-resources .rtf-heading-accent,
main > section.rtf-h2-voices .rtf-heading-accent {
    color: var(--h2-brand);
}

.rtf-q7 .rtf-heading-accent {
    color: var(--q7-brand);
}

.rtf-about-page .rtf-heading-accent {
    color: #A6533F;
}

.rtf-about-page .rtf-about-hero-content .rtf-heading-accent {
    color: #E8B4A2;
}

main.rtf-services-page .rtf-heading-accent,
body.rtf-therapists-page .rtf-heading-accent,
.rtf-contact-page .rtf-heading-accent {
    color: #A6533F;
}

body.rtf-therapists-page .rtf-tp-hero-title .rtf-heading-accent,
.rtf-contact-page .rtf-contact-hero .rtf-heading-accent {
    color: #E8B4A2;
}

.rtf-contact-page .rtf-contact-connect-card-two .rtf-heading-accent {
    color: #F5D2C4;
}

.rtf-home1-page .rtf-way-copy > .rtf-h1-text-button {
    box-sizing: border-box;
    width: fit-content;
    max-width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border: 0;
    border-radius: 10px;
    background: var(--rtf-brand);
    color: var(--rtf-white);
    white-space: normal;
    text-align: center;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}

.rtf-home1-page .rtf-way-copy > .rtf-h1-text-button:hover {
    gap: 14px;
    background: var(--rtf-brand-strong);
    color: var(--rtf-white);
    transform: translateY(-1px);
}

.rtf-home1-page .rtf-conversation-intro > .rtf-h1-text-button,
.rtf-home1-page .rtf-final-cta-simple__actions .hero-btn,
.rtf-home1-page .rtf-final-cta-simple__actions .hero-link {
    box-sizing: border-box;
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 20px;
    border: 1px solid #A6533F;
    border-radius: 10px;
    background: #A6533F;
    color: #FFF9F3;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.rtf-home1-page .rtf-conversation-intro > .rtf-h1-text-button:hover,
.rtf-home1-page .rtf-final-cta-simple__actions .hero-btn:hover,
.rtf-home1-page .rtf-final-cta-simple__actions .hero-link:hover {
    border-color: #7D382E;
    background: #7D382E;
    color: #FFF9F3;
    transform: translateY(-1px);
}

.rtf-home1-page .rtf-conversation-intro > .rtf-h1-text-button:focus-visible,
.rtf-home1-page .rtf-final-cta-simple__actions .hero-btn:focus-visible,
.rtf-home1-page .rtf-final-cta-simple__actions .hero-link:focus-visible {
    outline: 2px solid #A6533F;
    outline-offset: 3px;
}

.rtf-home1-page .rtf-final-cta-simple__actions .hero-btn {
    flex: 0 1 auto;
}

.rtf-home1-page .rtf-final-cta-simple__actions .hero-btn svg,
.rtf-home1-page .rtf-final-cta-simple__actions .hero-link svg {
    flex: 0 0 18px;
}

.rtf-home1-page .rtf-way-copy > .rtf-h1-text-button:focus-visible,
.rtf-q7 .rtf-q7-link:focus-visible {
    outline: 2px solid var(--rtf-brand);
    outline-offset: 3px;
}

.rtf-q7 .rtf-q7-link {
    box-sizing: border-box;
    width: fit-content;
    max-width: calc(100% - 24px);
    min-height: 48px;
    justify-content: center;
    padding: 10px 20px;
    border: 1px solid var(--q7-brand);
    border-radius: 10px;
    background: var(--q7-brand);
    color: var(--q7-bg);
    text-align: center;
    text-decoration: none;
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

.rtf-q7 .rtf-q7-link:hover,
.rtf-q7 .rtf-q7-link:focus-visible {
    gap: 10px;
    border-color: var(--q7-brand-strong);
    background: var(--q7-brand-strong);
    color: var(--q7-bg);
    transform: translateY(-1px);
}


/* =========================================================
   LAPTOP-L
   1280px — 1439px
   ========================================================= */

@media (min-width: 1280px) and (max-width: 1439px) {

    .navbar {
        padding-inline: 32px;
    }

    .desktop-nav {
        gap: 3px;
    }
}


/* =========================================================
   DESKTOP
   1440px+
   ========================================================= */

@media (min-width: 1440px) {

    .navbar {
        padding-inline: 52px;
    }
}


/* =========================================================
   MOBILE
   Below 768px
   ========================================================= */

@media (max-width: 767px) {

    .site-header {
        position: sticky;
        top: 0;
    }

    .navbar {
        min-height: 68px;

        padding:
            0 16px;

        gap: 10px;
    }

    .desktop-nav {
        display: none;
    }

    .nav-actions {
        margin-inline-start: auto;

        gap: 2px;
    }

    .icon-button,
    .rtl-button,
    .hamburger-button {
        width: 40px;
        min-width: 40px;
        height: 40px;
        min-height: 40px;

        padding: 0;
    }

    .rtl-button span {
        display: none;
    }

    .rtl-button svg {
        width: 18px;
        height: 18px;
    }

    .login-button {
        display: none;
    }

    .hamburger-button {
        display: inline-flex;
    }

    .brand-name {
        font-size: 15px;
    }

    .brand-mark {
        width: 26px;
        height: 31px;
    }

    .brand-door {
        width: 23px;
        height: 29px;
    }
}

/* =========================================================
   MOBILE-M
   360px — 389px
   ========================================================= */

@media (min-width: 360px) and (max-width: 389px) {

    .navbar {
        padding-inline: 14px;
    }

    .brand-name {
        font-size: 14px;
    }
}


/* =========================================================
   MOBILE-S
   320px — 359px
   ========================================================= */

@media (max-width: 359px) {

    .navbar {
        padding-inline: 10px;
    }

    .brand-name {
        font-size: 13px;
    }

    .brand-mark {
        width: 24px;
    }

    .icon-button,
    .rtl-button,
    .hamburger-button {
        width: 37px;
        min-width: 37px;
    }

    .mobile-menu-inner {
        padding-inline: 15px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* =========================================================
   ROOM TO FEEL — HERO SECTION (LIGHT / BASE)
   Paste at the END of assets/css/styles.css
   (you can delete the old .navbar-test-content rules)
   ========================================================= */

.hero {
    --h-card-bg: linear-gradient(145deg, #F5E9DC 0%, #EBD6C5 100%);
    --h-line: #CDB5A4;
    --h-title: #302421;
    --h-strong: #4A2C26;
    --h-text: #795F55;
    --h-accent: #A6533F;
    --h-ring: #F5E9DC;
    --h-avatar-bg: #CDB5A4;
    --h-fade: 245, 233, 220;
    --h-btn: #A6533F;
    --h-btn-hover: #7D382E;
    --h-btn-text: #F5E9DC;

    width: 100%;
    --h-pt: 16px; --h-px: 16px; --h-pb: 22px;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
}

/* Neutralise the old temporary ".navbar-test-content section" rules
   (flex-centering, 40px padding, 100vh height) so the hero always
   uses the full width. You can also delete those old rules. */
main > section.hero {
    display: block;
    min-height: 0;
    padding: var(--h-pt) var(--h-px) var(--h-pb);
    border: 0;
    font-size: 16px;
    font-weight: 500;
}

.hero svg { flex: none; }
.hero-inner { width: 100%; max-width: 1840px; margin: 0 auto; display: grid; gap: 16px; }


/* ================= MAIN PHOTO CARD ================= */

.hero-main {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 700px;
    padding: 270px 22px 26px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border-radius: 22px;
    background: #241916;
    color: #F5E9DC;
}

.hero-main-img {
    position: absolute;
    inset: 0;
    z-index: -3;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 42% 20%;
    filter: sepia(0.28) saturate(0.9);
}

.hero-shade {
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient(180deg,
        rgba(36, 25, 22, 0.15) 0%,
        rgba(36, 25, 22, 0.55) 26%,
        rgba(36, 25, 22, 0.94) 50%,
        #241916 100%);
}

.hero-arch {
    --arch: clamp(210px, 30vw, 380px);
    position: absolute;
    z-index: -1;
    width: var(--arch);
    height: var(--arch);
    inset-block-start: calc(var(--arch) * -0.5);
    inset-inline-end: calc(var(--arch) * -0.5);
    border-radius: 50%;
    background: rgba(214, 161, 143, 0.5);
    box-shadow: 0 0 0 18px rgba(214, 161, 143, 0.12);
}

.hero-leaf {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.3;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}

.hero-leaf-main {
    position: absolute;
    z-index: -1;
    inset-inline-start: 22px;
    inset-block-end: -12px;
    width: 110px;
    height: 220px;
    color: #C56A52;
    opacity: 0.35;
}

.hero-copy { position: relative; z-index: 2; max-width: 540px; }

.hero-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    font-size: 14px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.hero-eyebrow::before {
    content: "";
    width: 34px;
    height: 1px;
    background: currentColor;
}

.hero-title {
    font-size: 34px;
    line-height: 1.04;
    letter-spacing: -0.01em;
    font-weight: 600;
}

.hero-line { display: block; }
.hero-accent { color: #C56A52; }

.hero-text {
    max-width: 23em;
    margin: 22px 0 30px;
    font-size: 18px;
    line-height: 1.55;
    color: rgba(245, 233, 220, 0.94);
}

.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }

.hero-btn,
.hero-link {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 999px;
    font-size: 16px;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.hero-btn { width: 100%; padding: 0 28px; background: var(--h-btn); color: var(--h-btn-text); }
.hero-btn:hover { background: var(--h-btn-hover); transform: translateY(-1px); }
.hero-link { padding: 0 16px; color: #F5E9DC; }
.hero-link:hover { background: rgba(245, 233, 220, 0.14); }

.hero-btn svg,
.hero-link svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.2s ease;
}

.hero-btn:hover svg,
.hero-link:hover svg { transform: translateX(3px); }

.hero-btn:focus-visible,
.hero-link:focus-visible,
.hero-scroll:focus-visible { outline: 3px solid #D6A18F; outline-offset: 3px; }

.hero-assure {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 26px;
    margin-top: 34px;
    padding-top: 20px;
    border-top: 1px solid rgba(245, 233, 220, 0.2);
    font-size: 15px;
    color: rgba(245, 233, 220, 0.92);
}

.hero-assure li { display: flex; align-items: center; gap: 10px; }

.hero-assure li::before {
    content: "";
    width: 8px;
    height: 8px;
    border: 1.5px solid #C56A52;
    border-radius: 50%;
}


/* ================= RIGHT COLUMN ================= */

.hero-side { display: flex; flex-direction: column; gap: 16px; }

.hero-card {
    position: relative;
    overflow: hidden;
    flex: 1 1 auto;
    padding: 24px 26px;
    border: 1px solid var(--h-line);
    border-radius: 20px;
    background: var(--h-card-bg);
    color: var(--h-title);
}

.hero-card > *:not(.hero-leaf):not(.hero-quote-img):not(.hero-quote-fade) { position: relative; z-index: 1; }

.hero-card .hero-leaf {
    position: absolute;
    z-index: 0;
    inset-inline-end: 18px;
    inset-block-end: 0;
    width: 64px;
    height: 130px;
    color: var(--h-accent);
    opacity: 0.3;
}

.hero-card-title { font-size: 20px; line-height: 1.35; max-width: 10.5em; color: var(--h-title); }
.hero-card-note { margin-top: 8px; max-width: 20em; font-size: 15px; line-height: 1.5; color: var(--h-text); }

/* rating */
.hero-card-rating { display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.hero-card-rating .hero-leaf { inset-block-start: 22px; inset-block-end: auto; width: 76px; height: 152px; }
.hero-card-rating .hero-card-note { margin-top: -6px; }

.hero-rating { display: flex; align-items: center; gap: 20px; }
.hero-stars { display: flex; gap: 6px; color: var(--h-accent); }
.hero-stars svg { width: 24px; height: 24px; fill: currentColor; }
.hero-score { font-size: 20px; color: var(--h-strong); direction: ltr; unicode-bidi: isolate; }

.hero-avatars { display: flex; align-items: center; }

.hero-avatar {
    --av: 46px;
    position: relative;
    flex: none;
    width: var(--av);
    height: var(--av);
    overflow: hidden;
    border: 2px solid var(--h-ring);
    border-radius: 50%;
    background: var(--h-avatar-bg);
    margin-inline-start: calc(var(--av) * -0.24);
}

.hero-avatar:first-child { margin-inline-start: 0; }

/* each avatar zooms into a face: --k zoom, --cx/--cy face centre, --ar image height ÷ width */
.hero-avatar img {
    position: absolute;
    max-width: none;
    width: calc(var(--k) * 100%);
    height: auto;
    left: calc((0.5 - var(--cx) * var(--k)) * 100%);
    top: calc((0.5 - var(--cy) * var(--k) * var(--ar)) * 100%);
}
/* keep avatar zoom working — beats .rtf-home1-page img { max-width:100% } */
.hero-avatars .hero-avatar img {
    max-width: none;
}
/* image + quote */
.hero-card-quote { min-height: 236px; display: flex; align-items: center; padding: 0; }

.hero-quote-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 22%;
}

.hero-quote-fade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to left,
        rgba(var(--h-fade), 0.98) 0%,
        rgba(var(--h-fade), 0.92) 42%,
        rgba(var(--h-fade), 0) 80%);
}

.hero-quote { width: 56%; margin-inline-start: auto; padding: 24px 26px; }

.hero-quote-label {
    margin-bottom: 8px;
    font-size: 14px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--h-accent);
}

.hero-quote-text { font-size: 20px; line-height: 1.35; font-style: italic; color: var(--h-text); }

.hero-quote-sub { margin-top: 12px; font-size: 15px; line-height: 1.45; color: var(--h-text); }

.hero-quote-sub::before {
    content: "";
    display: block;
    width: 28px;
    height: 1px;
    margin-bottom: 10px;
    background: var(--h-accent);
}

/* stats */
.hero-card-stats { display: flex; flex-direction: column; justify-content: center; }
.hero-stats { display: grid; grid-template-columns: 1fr 1fr; }
.hero-stat { padding-inline-end: 12px; }
.hero-stat + .hero-stat { padding-inline: 22px 0; border-inline-start: 1px solid var(--h-line); }

.hero-stat-num {
    display: block;
    margin-bottom: 8px;
    font-size: clamp(34px, 3.6vw, 50px);
    line-height: 1.05;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    color: var(--h-accent);
}

.hero-stat-label { display: block; font-size: 17px; line-height: 1.35; color: var(--h-title); }

.hero-card-stats .hero-card-note {
    margin-top: 18px;
    padding-top: 16px;
    max-width: 78%;
    border-top: 1px solid var(--h-line);
}


/* ================= SCROLL CUE ================= */

.hero-scroll {
    width: max-content;
    margin: 22px auto 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    color: var(--h-accent);
    font-size: 14px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.hero-scroll.is-hidden { opacity: 0; pointer-events: none; }

.hero-mouse { width: 22px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.hero-mouse path { animation: heroWheel 1.8s ease-in-out infinite; }

.hero-scroll-arrow {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@keyframes heroWheel {
    0% { transform: translateY(0); opacity: 1; }
    70%, 100% { transform: translateY(6px); opacity: 0; }
}

@keyframes heroRise {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: none; }
}

.hero-copy > * { animation: heroRise 0.7s ease both; }
.hero-copy > :nth-child(2) { animation-delay: 0.08s; }
.hero-copy > :nth-child(3) { animation-delay: 0.16s; }
.hero-copy > :nth-child(4) { animation-delay: 0.24s; }
.hero-copy > :nth-child(5) { animation-delay: 0.32s; }
.hero-card { animation: heroRise 0.7s 0.2s ease both; }


/* ================= RESPONSIVE ================= */

@media (max-width: 359px) {
    .hero { --h-px: 10px; }
    .hero-main { padding-inline: 18px; }
    .hero-card { padding-inline: 18px; }
    .hero-card-title { font-size: 19px; }
    .hero-stars svg { width: 21px; height: 21px; }
    .hero-quote { width: 62%; padding-inline: 16px; }
}

@media (min-width: 360px) { .hero-title { font-size: 36px; } }
@media (min-width: 360px) and (max-width: 389px) { .hero { --h-px: 14px; } }
@media (min-width: 390px) { .hero-title { font-size: 40px; } .hero-text { font-size: 18px; } }
@media (min-width: 480px) { .hero-btn { width: auto; } }

/* wide enough for the side-by-side photo layout */
@media (min-width: 640px) {
    .hero-main { min-height: 620px; padding: 56px 40px; justify-content: center; }
    .hero-main-img { object-position: 14% 30%; }
    .hero-shade {
        background:
            linear-gradient(90deg, rgba(36, 25, 22, 0.94) 0%, rgba(36, 25, 22, 0.82) 38%, rgba(36, 25, 22, 0.32) 68%, rgba(36, 25, 22, 0.06) 100%),
            linear-gradient(0deg, rgba(36, 25, 22, 0.5) 0%, rgba(36, 25, 22, 0) 36%);
    }
    .hero-leaf-main { inset-inline-start: 26px; }
}

/* TABLET */
@media (min-width: 768px) {
    .hero { --h-pt: 24px; --h-px: 24px; --h-pb: 26px; }
    .hero-title { font-size: 52px; }
    .hero-text { font-size: 19px; }
    .hero-card-title { font-size: 21px; }
    .hero-side { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .hero-card-quote { grid-column: 1 / -1; order: 3; min-height: 250px; }
    .hero-quote { width: 46%; }
}

/* LAPTOP */
@media (min-width: 1024px) {
    .hero-inner { grid-template-columns: minmax(0, 1fr) clamp(340px, 29vw, 430px); gap: 18px; }
    .hero-main { min-height: clamp(660px, calc(100svh - 190px), 780px); padding: 56px 48px; }
    .hero-side { display: flex; flex-direction: column; gap: 18px; }
    .hero-card-quote { order: 0; min-height: 236px; }
    .hero-quote { width: 56%; }
    .hero-title { font-size: 58px; }
    .hero-text { font-size: 20px; }
    .hero-card-title { font-size: 22px; }
    .hero-avatar { --av: 48px; }
}

/* LAPTOP-L */
@media (min-width: 1280px) {
    .hero { --h-pt: 32px; --h-px: 32px; --h-pb: 28px; }
    .hero-main { padding-inline: 60px; }
    .hero-title { font-size: 62px; }
    .hero-card-title { font-size: 23px; }
    .hero-card-note, .hero-quote-sub { font-size: 16px; }
    .hero-quote-text { font-size: 22px; }
    .hero-stat-label { font-size: 18px; }
    .hero-avatar { --av: 52px; }
}

/* DESKTOP */
@media (min-width: 1440px) {
    .hero { --h-pt: 38px; --h-px: 52px; --h-pb: 30px; }
    .hero-main { padding-inline: 72px; }
    .hero-title { font-size: 64px; }
}

/* =========================================================
   ROOM TO FEEL — HOME PAGE 1 SECTIONS ONLY
   Page-specific styles. Every selector is scoped to .rtf-home1-page
   so these rules do not style the existing navbar/hero/other pages.
   Theme values match the supplied project files exactly.
   ========================================================= */

.rtf-home1-body,
.rtf-home1-body * {
    box-sizing: border-box;
}

.rtf-home1-body {
    margin: 0;
    min-height: 100vh;
    overflow-x: clip;
    background: #F5E9DC;
    color: #302421;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
}

.rtf-home1-page {
    --rtf-bg: #F5E9DC;
    --rtf-surface: #EBD6C5;
    --rtf-brand: #A6533F;
    --rtf-brand-strong: #7D382E;
    --rtf-brown: #4A2C26;
    --rtf-text: #302421;
    --rtf-soft: #795F55;
    --rtf-blush: #D6A18F;
    --rtf-border: #CDB5A4;
    --rtf-white: #FFF9F3;
    --rtf-shadow: rgba(74,44,38,.12);
    background: var(--rtf-bg);
    color: var(--rtf-text);
    isolation: isolate;
}

.rtf-home1-page * { box-sizing: border-box; }
.rtf-home1-page img { display: block; max-width: 100%; }
.rtf-home1-page a { color: inherit; }
.rtf-h1-container { width: min(1380px, calc(100% - 72px)); margin: 0 auto; position: relative; }
.rtf-h1-section { position: relative; overflow: hidden; }
.rtf-h1-section-head { display:flex; align-items:center; gap:12px; color:var(--rtf-brand-strong); font-size:14px; line-height:1.2; font-weight:500; letter-spacing:.06em; text-transform:uppercase; }
.rtf-h1-kicker { color:var(--rtf-brand); font-size:14px; }
.rtf-h1-kicker-line { width:34px; height:1px; background:var(--rtf-border); display:inline-block; }
.rtf-h1-section h2,.rtf-h1-section h3,.rtf-h1-section p { margin:0; }
.rtf-h1-section h2 { font-weight:600; letter-spacing:-.035em; }
.rtf-h1-section p { font-size:18px; line-height:1.72; color:var(--rtf-soft); }

/* 02 — FEELINGS EXPLORER (self-contained, prefix rtf-fl-) */
.rtf-h1-feelings{--fl-card:#FFF9F3;--fl-on:#FFF9F3;padding:84px 0 72px;background:var(--rtf-surface)}
.rtf-fl-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr);gap:44px;margin-top:48px}
.rtf-fl-intro{display:flex;flex-direction:column;min-width:0}
.rtf-fl-intro h2{font-size:clamp(34px,3.6vw,52px);line-height:1.06;margin-bottom:22px}
.rtf-fl-intro h2 span{color:var(--rtf-brand)}
.rtf-fl-intro p{max-width:470px}
.rtf-fl-intro .rtf-h1-note{margin:16px 0 28px;color:var(--rtf-text);font-size:16px}
.rtf-fl-quote{margin:auto 0 0;padding:22px 24px;background:var(--fl-card);border:1px solid var(--rtf-border);border-inline-start:4px solid var(--rtf-brand);border-radius:12px;box-shadow:0 18px 40px -26px var(--rtf-shadow)}
.rtf-fl-qm{display:block;height:30px;color:var(--rtf-brand);font-size:56px;line-height:1}
.rtf-fl-intro .rtf-fl-quote p{max-width:none;color:var(--rtf-text);font-size:19px;line-height:1.55}
.rtf-fl-quote cite{display:block;margin-top:12px;color:var(--rtf-brand);font-size:14px;font-style:normal}

.rtf-fl-explorer{display:grid;grid-template-columns:200px minmax(0,1fr);min-width:0;background:var(--fl-card);border:1px solid var(--rtf-border);border-radius:20px;overflow:hidden;box-shadow:0 26px 54px -30px var(--rtf-shadow)}
.rtf-fl-tabs{display:grid;grid-auto-rows:1fr;gap:1px;background:var(--rtf-border);border-inline-end:1px solid var(--rtf-border)}
.rtf-fl-tab{display:flex;align-items:center;gap:12px;padding:14px 20px;border:0;background:var(--fl-card);color:var(--rtf-soft);font:inherit;font-size:16px;text-align:start;cursor:pointer;transition:background .35s ease,color .35s ease,padding .35s ease}
.rtf-fl-tab i{color:var(--rtf-brand);font-size:13px;font-style:normal;transition:color .35s ease}
.rtf-fl-tab:hover{background:rgba(166,83,63,.1);color:var(--rtf-text)}
.rtf-fl-tab.is-active{background:var(--rtf-brand);color:var(--fl-on);padding-inline-start:26px}
.rtf-fl-tab.is-active i{color:var(--fl-on)}
.rtf-fl-tab:focus-visible{outline:2px solid currentColor;outline-offset:-5px}

.rtf-fl-main{display:flex;flex-direction:column;min-width:0}
.rtf-fl-panels{display:grid;flex:1;padding:30px 32px 10px}
.rtf-fl-panel{grid-area:1/1;display:flex;flex-direction:column;min-width:0;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease,visibility 0s .45s}
.rtf-fl-panel.is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.rtf-fl-count{color:var(--rtf-brand);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.rtf-fl-panel h3{margin:8px 0 10px;color:var(--rtf-text);font-size:clamp(34px,4vw,56px);font-weight:600;line-height:1.05;letter-spacing:-.035em;overflow-wrap:anywhere}
.rtf-fl-panel .rtf-fl-lede{color:var(--rtf-text);font-size:19px;line-height:1.5}
.rtf-fl-facts{display:grid;grid-auto-rows:1fr;flex:1;margin:22px 0 0;border-top:1px solid var(--rtf-border)}
.rtf-fl-facts div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--rtf-border)}
.rtf-fl-facts dt{color:var(--rtf-brand);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.rtf-fl-facts dd{margin:0;color:var(--rtf-soft);font-size:16px;line-height:1.55}

.rtf-fl-wave{display:flex;align-items:flex-end;gap:4px;height:70px;padding:0 32px;margin-top:8px}
.rtf-fl-wave b{flex:1;height:100%;background:var(--rtf-brand);border-radius:2px;opacity:.8;transform-origin:bottom;transform:scaleY(calc(var(--b) * var(--amp,.8)));animation:rtfFlWave var(--spd,1s) ease-in-out infinite;animation-delay:var(--d)}
.rtf-fl-progress{height:3px;margin-top:20px;background:var(--rtf-border)}
.rtf-fl-progress i{display:block;height:100%;background:var(--rtf-brand);transform:scaleX(0);transform-origin:left}
.rtf-fl-explorer.is-run .rtf-fl-progress i{animation:rtfFlFill 6s linear forwards}
.rtf-fl-explorer:hover .rtf-fl-progress i,.rtf-fl-explorer:focus-within .rtf-fl-progress i{animation-play-state:paused}

.rtf-fl-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;margin:44px 0 0;padding:0;list-style:none}
.rtf-fl-step{position:relative;padding:24px 0 4px;border-top:1px solid var(--rtf-border)}
.rtf-fl-step::before{content:"";position:absolute;top:-1px;inset-inline:0;height:3px;background:var(--rtf-brand);transform:scaleX(0);transform-origin:left;animation:rtfFlStep 12s ease-in-out infinite;animation-delay:calc(var(--i) * 3s)}
.rtf-fl-sn{display:block;margin-bottom:10px;color:var(--rtf-brand);font-size:14px}
.rtf-fl-step h3{margin-bottom:6px;color:var(--rtf-text);font-size:15px;font-weight:600;letter-spacing:.08em}
.rtf-fl-step p{color:var(--rtf-text);font-size:15px;line-height:1.55}

@keyframes rtfFlWave{0%,100%{transform:scaleY(calc(var(--b) * var(--amp,.8)))}50%{transform:scaleY(calc(var(--b) * var(--amp,.8) * .3))}}
@keyframes rtfFlFill{to{transform:scaleX(1)}}
@keyframes rtfFlStep{0%{transform:scaleX(0)}6%,24%{transform:scaleX(1)}30%,100%{transform:scaleX(0)}}

@media (max-width:1279px){
    .rtf-fl-layout{gap:30px}
    .rtf-fl-explorer{grid-template-columns:180px minmax(0,1fr)}
    .rtf-fl-panels{padding:26px 26px 8px}
    .rtf-fl-wave{padding:0 26px}
    .rtf-fl-facts div{grid-template-columns:130px minmax(0,1fr)}
    .rtf-fl-steps{gap:0 22px}
}
@media (max-width:1023px){
    .rtf-fl-layout{grid-template-columns:1fr;gap:28px;margin-top:38px}
    .rtf-fl-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;align-items:start}
    .rtf-fl-intro h2{grid-row:1/3;margin:0}
    .rtf-fl-intro .rtf-h1-note{margin:14px 0 0}
    .rtf-fl-quote{grid-column:1/-1;margin-top:26px}
    .rtf-fl-explorer{grid-template-columns:1fr}
    .rtf-fl-tabs{grid-template-columns:repeat(6,1fr);grid-auto-rows:auto;border-inline-end:0;border-bottom:1px solid var(--rtf-border)}
    .rtf-fl-tab{flex-direction:column;justify-content:center;gap:4px;padding:14px 4px;font-size:14px;text-align:center}
    .rtf-fl-tab.is-active{padding-inline-start:4px}
    .rtf-fl-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin-top:34px}
    .rtf-fl-step{padding-bottom:22px}
}
@media (max-width:767px){
    .rtf-fl-layout{margin-top:32px}
    .rtf-fl-intro{display:flex}
    .rtf-fl-intro h2{margin-bottom:18px}
    .rtf-fl-intro .rtf-h1-note{margin:14px 0 24px}
    .rtf-fl-quote{margin-top:0;padding:20px}
    .rtf-fl-intro .rtf-fl-quote p{font-size:17px}
    .rtf-fl-tabs{grid-template-columns:repeat(2,1fr)}
    .rtf-fl-tab{flex-direction:row;justify-content:flex-start;gap:10px;padding:13px 16px;text-align:start}
    .rtf-fl-tab.is-active{padding-inline-start:16px}
    .rtf-fl-panels{padding:22px 18px 6px}
    .rtf-fl-panel .rtf-fl-lede{font-size:17px}
    .rtf-fl-facts div{grid-template-columns:1fr;gap:4px}
    .rtf-fl-facts dd{font-size:15px}
    .rtf-fl-wave{height:52px;padding:0 18px;gap:3px}
    .rtf-fl-steps{grid-template-columns:1fr;margin-top:28px}
    .rtf-fl-step{padding:18px 0 18px}
}
@media (max-width:389px){
    .rtf-fl-tab{gap:8px;padding:12px 10px;font-size:14px}
    .rtf-fl-tab.is-active{padding-inline-start:10px}
    .rtf-fl-panels{padding:20px 14px 6px}
    .rtf-fl-wave{padding:0 14px}
    .rtf-fl-panel h3{font-size:32px}
}

/* 03 */
.rtf-h1-begin { padding:88px 0 78px; background:var(--rtf-bg); }
.rtf-begin-heading { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.65fr); gap:80px; align-items:end; margin:48px 0 42px; }
.rtf-begin-heading h2 { font-size:clamp(34px,4.1vw,58px); line-height:1.03; }
.rtf-begin-heading h2 em { color:var(--rtf-brand); font-style:normal; }
.rtf-begin-heading p { max-width:470px; padding-bottom:6px; }
.rtf-begin-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.rtf-begin-card { position:relative; min-height:250px; padding:28px 28px 30px; background:var(--rtf-white); border:1px solid var(--rtf-border); border-radius:20px 20px 8px 8px; overflow:hidden; transition:transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .55s ease, border-color .35s ease; }
.rtf-begin-card::before { content:""; position:absolute; inset:0 auto auto 0; width:100%; height:4px; background:linear-gradient(90deg,var(--rtf-brand),transparent); transform:scaleX(0); transform-origin:left; transition:transform .5s ease; }
.rtf-begin-card:hover,.rtf-begin-card.is-active { transform:translateY(-12px); box-shadow:0 22px 45px var(--rtf-shadow); border-color:var(--rtf-brand); }
.rtf-begin-card:hover::before,.rtf-begin-card.is-active::before { transform:scaleX(1); }
.rtf-card-number { color:var(--rtf-brand); font-size:14px; }
.rtf-card-icon { float:right; color:var(--rtf-brand); font-size:30px; line-height:1; transition:transform .5s ease; }
.rtf-begin-card:hover .rtf-card-icon { transform:rotate(45deg) scale(1.12); }
.rtf-begin-card h3 { clear:both; padding-top:52px; font-size:23px; font-weight:500; line-height:1.25; }
.rtf-begin-card p { margin-top:12px; font-size:16px; line-height:1.65; }
.rtf-card-line { position:absolute; left:28px; bottom:22px; width:52px; height:1px; background:var(--rtf-brand); transition:width .45s ease; }
.rtf-begin-card:hover .rtf-card-line { width:100px; }
.rtf-begin-quote { display:flex; justify-content:center; align-items:center; gap:18px; margin-top:42px; color:var(--rtf-brand-strong); }
.rtf-begin-quote p { color:var(--rtf-brand-strong); font-size:20px; }
.rtf-door-mini { width:25px; height:32px; border:1.5px solid var(--rtf-brand); border-bottom:0; border-radius:14px 14px 0 0; position:relative; }
.rtf-door-mini::after { content:""; position:absolute; left:50%; bottom:0; width:1.5px; height:20px; background:var(--rtf-brand); transform:translateX(-50%); }

/* 04 */
.rtf-h1-way { padding:76px 0; background:var(--rtf-surface); }
.rtf-way-layout { display:grid; grid-template-columns:1.02fr .92fr .78fr; gap:46px; align-items:center; min-height:520px; }
.rtf-way-copy h2 { font-size:clamp(34px,3.8vw,55px); line-height:1.02; margin:28px 0 22px; }
.rtf-way-copy p { max-width:420px; }
.rtf-h1-text-button { display:inline-flex; gap:14px; align-items:center; margin-top:28px; color:var(--rtf-brand-strong); text-decoration:none; font-size:16px; border-bottom:1px solid var(--rtf-brand); padding-bottom:7px; transition:gap .35s ease,color .25s ease; }
.rtf-h1-text-button:hover { gap:21px; color:var(--rtf-brand); }
.rtf-way-visual { display:flex; justify-content:center; }
.rtf-way-image-wrap { position:relative; width:min(100%,390px); aspect-ratio:4/5; overflow:hidden; border-radius:48% 48% 8px 8px; }
.rtf-way-image-wrap img { width:100%; height:100%; object-fit:cover; filter:saturate(.8) sepia(.08); transform:scale(1.04); transition:transform 1.1s cubic-bezier(.2,.8,.2,1); }
.rtf-way-image-wrap:hover img { transform:scale(1.1); }
.rtf-way-arch { position:absolute; inset:16px; border:1px solid rgba(245,233,220,.75); border-radius:42% 42% 0 0; pointer-events:none; }
.rtf-way-doodle { position:absolute; right:14px; bottom:16px; color:var(--rtf-white); font-size:56px; transform:rotate(-18deg); }
.rtf-way-steps { border-left:1px solid var(--rtf-border); }
.rtf-way-steps article { display:grid; grid-template-columns:52px 1fr; gap:14px; padding:20px 0 20px 28px; border-bottom:1px solid var(--rtf-border); transition:padding .4s ease,background .4s ease; }
.rtf-way-steps article:hover { padding-left:38px; background:rgba(255,249,243,.3); }
.rtf-way-steps strong { font-size:26px; color:var(--rtf-brand-strong); font-weight:500; }
.rtf-way-steps b { color:var(--rtf-brand); font-size:14px; letter-spacing:.04em; }
.rtf-way-steps p { font-size:15px; margin-top:6px; line-height:1.55; }

/* 05 */
.rtf-h1-services { padding:82px 0 76px; background:var(--rtf-bg); }
.rtf-services-layout { display:grid; grid-template-columns:.72fr 1.45fr; gap:80px; align-items:center; }
.rtf-services-copy h2 { font-size:clamp(36px,4vw,56px); line-height:1.02; margin:25px 0 20px; }
.rtf-services-copy p { max-width:390px; }
.rtf-services-doodle { display:block; width:130px; height:78px; margin-top:36px; border-top:1px solid var(--rtf-brand); border-radius:50%; transform:rotate(-12deg); }
.rtf-service-list { border-top:1px solid var(--rtf-border); }
.rtf-service-item { display:grid; grid-template-columns:72px 1fr 34px; gap:18px; align-items:center; padding:24px 0; border-bottom:1px solid var(--rtf-border); cursor:pointer; transition:padding .45s ease,background .4s ease; }
.rtf-service-item:hover,.rtf-service-item.is-active { padding-left:18px; padding-right:18px; background:var(--rtf-surface); }
.rtf-service-index { color:var(--rtf-brand); font-size:30px; font-weight:500; }
.rtf-service-copy h3 { font-size:18px; font-weight:700; text-transform:none; letter-spacing:.01em; }
.rtf-service-copy p { font-size:15px; line-height:1.55; margin-top:6px; max-width:680px; transition:max-height .45s ease,opacity .45s ease; }
.rtf-service-arrow { color:var(--rtf-brand); font-size:24px; transition:transform .4s ease; }
.rtf-service-item:hover .rtf-service-arrow,.rtf-service-item.is-active .rtf-service-arrow { transform:translate(4px,-4px); }

/* 06 */
.rtf-h1-conversation { padding:70px 0; background:var(--rtf-surface); }
.rtf-conversation-layout { display:grid; grid-template-columns:.62fr 1.55fr; gap:46px; align-items:stretch; }
.rtf-conversation-intro { padding:24px 0 24px 0; }
.rtf-conversation-intro h2 { font-size:clamp(38px,4vw,58px); line-height:1; margin:25px 0 18px; }
.rtf-conversation-intro p { max-width:370px; }
.rtf-button-light { margin-top:28px; }
.rtf-conversation-media { position:relative; min-height:440px; border-radius:8px; overflow:hidden; background:var(--rtf-brown); }
.rtf-conversation-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.75) sepia(.12); transform:scale(1.03); transition:transform 1.2s ease; }
.rtf-conversation-media:hover img { transform:scale(1.1); }
.rtf-conversation-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(48,36,33,.06),rgba(48,36,33,.76)); }
.rtf-conversation-steps { position:absolute; right:0; top:0; bottom:0; width:52%; padding:44px 38px; display:flex; flex-direction:column; justify-content:center; gap:23px; color:var(--rtf-white); }
.rtf-conversation-steps article { display:grid; grid-template-columns:36px 1fr; gap:12px; align-items:start; opacity:.72; transition:opacity .35s ease,transform .35s ease; }
.rtf-conversation-steps article:hover { opacity:1; transform:translateX(-6px); }
.rtf-conversation-steps span { color:var(--rtf-blush); font-size:14px; }
.rtf-conversation-steps b { font-size:14px; font-weight:500; }
.rtf-conversation-steps p { color:#F5E9DC; font-size:14px; line-height:1.5; margin-top:4px; }

/* 07 */
.rtf-h1-progress { padding:74px 0 70px; background:var(--rtf-bg); }
.rtf-progress-layout { display:grid; grid-template-columns:.72fr 1.65fr; gap:52px 80px; align-items:start; }
.rtf-progress-intro h2 { font-size:clamp(38px,4vw,56px); line-height:1; margin:16px 0 16px; }
.rtf-progress-intro p { max-width:330px; }
.rtf-progress-journey { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding-top:14px; }
/* =========================================================
   SECTION 07 — CONNECTED JOURNEY LINE
   ========================================================= */

.rtf-progress-journey {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 20px;

    /* IMPORTANT:
       The circles begin at the top of each step.
       Do not add padding above the circles here.
    */
    padding-top: 0;
}


/* THE ACTUAL HORIZONTAL CONNECTION LINE */

.rtf-journey-line {
    position: absolute;

    /*
       4 equal columns:
       center of first column  = 12.5%
       center of last column   = 87.5%

       Therefore the line starts/ends exactly
       at the centers of circle 01 and circle 04.
    */
    left: 12.5%;
    right: 12.5%;

    /*
       Circle = 42px
       Exact vertical center = 21px
    */
    top: 21px;

    width: auto;
    height: 2px;

    background: var(--rtf-brand);

    opacity: 1;

    z-index: 0;

    pointer-events: none;

    transform: none;
}


/* EACH STEP */

.rtf-progress-step {
    position: relative;
    z-index: 1;

    padding-top: 0;
}


/* THE CIRCLES */

.rtf-step-dot {
    width: 42px;
    height: 42px;

    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 18px;

    border: 1px solid var(--rtf-brand);
    border-radius: 50%;

    /*
       IMPORTANT:
       This background sits ABOVE the line.
       The line therefore enters the circle from
       the left and exits from the right.
    */
    background: var(--rtf-bg);

    color: var(--rtf-brand);
}
.rtf-step-dot { width:42px; height:42px; display:flex; align-items:center; justify-content:center; border:1px solid var(--rtf-brand); border-radius:50%; background:var(--rtf-bg); color:var(--rtf-brand); margin-bottom:18px; transition:transform .4s ease,background .4s ease,color .4s ease; }
.rtf-progress-step.is-active .rtf-step-dot { background:var(--rtf-brand); color:var(--rtf-white); transform:scale(1.12); }
.rtf-progress-step b { font-size:14px; color:var(--rtf-brand-strong); }
.rtf-progress-step p { font-size:14px; line-height:1.55; margin-top:7px; max-width:180px; }
.rtf-progress-metrics { grid-column:2; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--rtf-border); padding-top:25px; }
.rtf-progress-metrics div { padding:0 24px; border-left:1px solid var(--rtf-border); }
.rtf-progress-metrics div:first-child { border-left:0; padding-left:0; }
.rtf-progress-metrics strong { display:block; color:var(--rtf-brand); font-size:32px; font-weight:500; }
.rtf-progress-metrics span { display:block; margin-top:4px; color:var(--rtf-soft); font-size:14px; }

/* =========================================================
   SECTION 08 — SIMPLE IMAGE CTA
   Page-specific styles only
   ========================================================= */

.rtf-home1-page .rtf-final-cta-simple {
    position: relative;
    min-height: 620px;
    display: flex;
    align-items: center;
    overflow: hidden;

    background: var(--rtf-bg);
    color: var(--rtf-text);

    border-top: 1px solid var(--rtf-border);
    border-bottom: 1px solid var(--rtf-border);

    isolation: isolate;
}


/* subtle animated background detail */

.rtf-home1-page .rtf-final-cta-simple::before {
    content: "";
    position: absolute;

    width: 420px;
    height: 420px;

    right: -180px;
    top: 50%;

    transform: translateY(-50%);

    border: 1px solid var(--rtf-border);

    border-radius: 50%;

    opacity: .55;

    pointer-events: none;

    animation: rtfSimpleCtaOrbit 12s linear infinite;
}


.rtf-home1-page .rtf-final-cta-simple::after {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    left: -150px;
    bottom: -150px;

    border: 1px solid var(--rtf-border);

    border-radius: 50%;

    opacity: .4;

    pointer-events: none;

    animation: rtfSimpleCtaFloat 7s ease-in-out infinite;
}


/* MAIN GRID */

.rtf-home1-page .rtf-final-cta-simple__inner {
    position: relative;
    z-index: 2;

    width: min(1180px, calc(100% - 64px));

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(360px, .92fr)
        minmax(420px, 1.08fr);

    align-items: center;

    gap: clamp(50px, 7vw, 110px);

    padding: 72px 0;
}


/* IMAGE */

.rtf-home1-page .rtf-final-cta-simple__media {
    position: relative;
}


.rtf-home1-page .rtf-final-cta-simple__image-wrap {
    position: relative;

    width: 100%;
    max-width: 510px;

    aspect-ratio: 1 / .88;

    overflow: hidden;

    border-radius: 22px;

    background: var(--rtf-surface);

    box-shadow:
        0 22px 55px rgba(48, 36, 33, .12);

    transform: translateZ(0);
}


.rtf-home1-page .rtf-final-cta-simple__image {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;

    transform: scale(1.08);

    transition:
        transform 1.2s cubic-bezier(.2,.8,.2,1),
        filter .8s ease;
}


/* Image reveal animation */

.rtf-home1-page .rtf-final-cta-simple__media {
    clip-path: inset(0 100% 0 0 round 22px);

    transition:
        clip-path 1.1s cubic-bezier(.2,.8,.2,1);
}


.rtf-home1-page .rtf-final-cta-simple.is-active
.rtf-final-cta-simple__media {
    clip-path: inset(0 0 0 0 round 22px);
}


.rtf-home1-page .rtf-final-cta-simple.is-active
.rtf-final-cta-simple__image {
    transform: scale(1);
}


/* image label */

.rtf-home1-page .rtf-final-cta-simple__image-label {
    position: absolute;

    left: 22px;
    bottom: 20px;

    padding: 9px 13px;

    background: rgba(48, 36, 33, .82);

    color: #F5E9DC;

    font-size: 11px;
    font-weight: 500;

    letter-spacing: .12em;

    border-radius: 4px;

    backdrop-filter: blur(8px);

    opacity: 0;
    transform: translateY(12px);

    transition:
        opacity .6s ease .7s,
        transform .6s ease .7s;
}


.rtf-home1-page .rtf-final-cta-simple.is-active
.rtf-final-cta-simple__image-label {
    opacity: 1;
    transform: translateY(0);
}


/* CONTENT */

.rtf-home1-page .rtf-final-cta-simple__content {
    max-width: 590px;
}


.rtf-home1-page .rtf-final-cta-simple__eyebrow {
    margin: 26px 0 14px;

    color: var(--rtf-brand);

    font-size: 13px;
    font-weight: 500;

    letter-spacing: .12em;
}


.rtf-home1-page .rtf-final-cta-simple__content h2 {
    margin: 0 0 22px;

    color: var(--rtf-text);

    font-size: clamp(42px, 5vw, 66px);

    line-height: .98;

    letter-spacing: -.045em;

    font-weight: 600;
}


.rtf-home1-page .rtf-final-cta-simple__content h2 em {
    color: var(--rtf-brand);

    font-style: normal;
}


.rtf-home1-page .rtf-final-cta-simple__text {
    max-width: 520px;

    margin: 0;

    color: var(--rtf-muted);

    font-size: 18px;
    font-weight: 500;

    line-height: 1.7;
}


/* CTA BUTTONS
   Uses the exact existing Hero .hero-btn and .hero-link.
*/

.rtf-home1-page .rtf-final-cta-simple__actions {
    display: flex;

    align-items: center;

    gap: 24px;

    flex-wrap: wrap;

    margin-top: 32px;
}


/*
   Keep Hero button completely consistent.
   Only animation is added to the CTA section.
*/

.rtf-home1-page .rtf-final-cta-simple__actions .hero-btn {
    position: relative;

    overflow: hidden;

    transform: translateY(16px);

    opacity: 0;

    transition:
        opacity .6s ease .45s,
        transform .6s cubic-bezier(.2,.8,.2,1) .45s;
}


.rtf-home1-page .rtf-final-cta-simple.is-active
.rtf-final-cta-simple__actions .hero-btn {
    opacity: 1;
    transform: translateY(0);
}


.rtf-home1-page .rtf-final-cta-simple__actions .hero-link {
    opacity: 0;

    transform: translateX(14px);

    transition:
        opacity .6s ease .6s,
        transform .6s ease .6s;
}


.rtf-home1-page .rtf-final-cta-simple.is-active
.rtf-final-cta-simple__actions .hero-link {
    opacity: 1;
    transform: translateX(0);
}


/* bottom note */

.rtf-home1-page .rtf-final-cta-simple__note {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: 38px;

    color: var(--rtf-muted);

    font-size: 12px;
    font-weight: 500;

    letter-spacing: .09em;
}


.rtf-home1-page .rtf-final-cta-simple__note span {
    width: 30px;
    height: 1px;

    flex: 0 0 30px;

    background: var(--rtf-brand);
}


/* entrance */

.rtf-home1-page .rtf-final-cta-simple .rtf-reveal {
    opacity: 0;

    transform: translateY(30px);

    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.2,.8,.2,1);
}


.rtf-home1-page .rtf-final-cta-simple.is-active .rtf-reveal {
    opacity: 1;
    transform: translateY(0);
}


/* animated circles */

@keyframes rtfSimpleCtaOrbit {
    0% {
        transform: translateY(-50%) rotate(0deg);
    }

    100% {
        transform: translateY(-50%) rotate(360deg);
    }
}


@keyframes rtfSimpleCtaFloat {
    0%, 100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(18px, -14px);
    }
}


/* =========================================================
   LAPTOP
   ========================================================= */

@media (max-width: 1279px) {

    .rtf-home1-page .rtf-final-cta-simple__inner {
        width: min(1120px, calc(100% - 52px));

        gap: 60px;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1023px) {

    .rtf-home1-page .rtf-final-cta-simple {
        min-height: auto;
    }

    .rtf-home1-page .rtf-final-cta-simple__inner {
        width: min(760px, calc(100% - 48px));

        grid-template-columns: 1fr;

        gap: 42px;

        padding: 70px 0;
    }

    .rtf-home1-page .rtf-final-cta-simple__media {
        width: min(100%, 620px);

        margin: 0 auto;
    }

    .rtf-home1-page .rtf-final-cta-simple__image-wrap {
        max-width: none;

        aspect-ratio: 16 / 9;
    }

    .rtf-home1-page .rtf-final-cta-simple__content {
        max-width: 680px;

        margin: 0 auto;

        text-align: center;
    }

    .rtf-home1-page .rtf-final-cta-simple .rtf-h1-section-head {
        justify-content: center;
    }

    .rtf-home1-page .rtf-final-cta-simple__actions {
        justify-content: center;
    }

    .rtf-home1-page .rtf-final-cta-simple__text {
        margin-left: auto;
        margin-right: auto;
    }

    .rtf-home1-page .rtf-final-cta-simple__note {
        justify-content: center;
    }

}


/* =========================================================
   MOBILE-L / MOBILE-M / MOBILE-S
   ========================================================= */

@media (max-width: 767px) {

    .rtf-home1-page .rtf-final-cta-simple__inner {
        width: calc(100% - 32px);

        gap: 34px;

        padding: 54px 0 58px;
    }

    .rtf-home1-page .rtf-final-cta-simple__image-wrap {
        aspect-ratio: 1 / .82;

        border-radius: 16px;
    }

    .rtf-home1-page .rtf-final-cta-simple__image-label {
        left: 14px;
        bottom: 14px;

        font-size: 9px;

        padding: 7px 9px;
    }

    .rtf-home1-page .rtf-final-cta-simple__eyebrow {
        margin-top: 20px;

        font-size: 11px;

        line-height: 1.5;
    }

    .rtf-home1-page .rtf-final-cta-simple__content h2 {
        font-size: 38px;

        line-height: 1.02;

        margin-bottom: 18px;
    }

    .rtf-home1-page .rtf-final-cta-simple__text {
        font-size: 16px;

        line-height: 1.65;
    }

    .rtf-home1-page .rtf-final-cta-simple__actions {
        flex-direction: column;

        align-items: center;

        gap: 17px;

        margin-top: 26px;
    }

    .rtf-home1-page .rtf-final-cta-simple__actions .hero-btn,
    .rtf-home1-page .rtf-final-cta-simple__actions .hero-link {
        font-size: 16px;
    }

    .rtf-home1-page .rtf-final-cta-simple__note {
        margin-top: 28px;

        font-size: 10px;

        line-height: 1.5;

        flex-wrap: wrap;
    }

    .rtf-home1-page .rtf-final-cta-simple::before {
        width: 260px;
        height: 260px;

        right: -170px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 359px) {

    .rtf-home1-page .rtf-final-cta-simple__inner {
        width: calc(100% - 24px);

        padding-top: 46px;
        padding-bottom: 50px;
    }

    .rtf-home1-page .rtf-final-cta-simple__content h2 {
        font-size: 34px;
    }

    .rtf-home1-page .rtf-final-cta-simple__text {
        font-size: 15px;
    }

    .rtf-home1-page .rtf-final-cta-simple__note {
        font-size: 9px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .rtf-home1-page .rtf-final-cta-simple::before,
    .rtf-home1-page .rtf-final-cta-simple::after {
        animation: none;
    }

    .rtf-home1-page .rtf-final-cta-simple .rtf-reveal,
    .rtf-home1-page .rtf-final-cta-simple__media,
    .rtf-home1-page .rtf-final-cta-simple__image,
    .rtf-home1-page .rtf-final-cta-simple__image-label,
    .rtf-home1-page .rtf-final-cta-simple__actions .hero-btn,
    .rtf-home1-page .rtf-final-cta-simple__actions .hero-link {
        opacity: 1;
        transform: none;
        clip-path: none;
        transition: none;
    }

}

/* reveal */
.rtf-reveal { opacity:0; transform:translateY(28px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1); }
.rtf-reveal.is-visible { opacity:1; transform:none; }
.rtf-begin-card { opacity:0; transform:translateY(45px) rotate(.5deg); }
.rtf-begin-card.is-visible { opacity:1; transform:none; transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1); }

@keyframes rtfFloat { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-7px) rotate(.7deg)} }
@keyframes rtfOrbit { from{transform:rotate(0)} to{transform:rotate(360deg)} }
@keyframes rtfOrbitReverse { from{transform:rotate(360deg)} to{transform:rotate(0)} }
@keyframes rtfPulse { 0%,100%{opacity:.45;transform:scale(.8)} 50%{opacity:1;transform:scale(1.15)} }
@keyframes rtfParticle { 0%,100%{transform:translate3d(0,0,0);opacity:.25} 50%{transform:translate3d(10px,-20px,0);opacity:.8} }

/* 1024–1279 */
@media (max-width:1279px){
    .rtf-h1-container{width:min(1180px,calc(100% - 52px));}
    .rtf-feelings-grid{grid-template-columns:.7fr 1.45fr .48fr;gap:24px;}
    .rtf-services-layout{gap:46px;}
    .rtf-door-layout{grid-template-columns:1fr .8fr .28fr;}
}

/* tablet */
@media (max-width:1023px){
    .rtf-h1-container{width:min(920px,calc(100% - 42px));}
    .rtf-h1-feelings{padding:70px 0 48px;}
    .rtf-feelings-grid{grid-template-columns:1fr 1.4fr;}
    .rtf-feelings-aside{grid-column:1/-1;border-left:0;border-top:1px solid var(--rtf-border);padding:20px 0 0;min-height:auto;display:block;}
    .rtf-feelings-aside p{max-width:520px;display:inline;}
    .rtf-aside-caption{display:block;}
    .rtf-feelings-footer{margin-top:28px;}
    .rtf-begin-heading{gap:35px;}
    .rtf-way-layout{grid-template-columns:1fr 1fr;gap:35px;}
    .rtf-way-steps{grid-column:1/-1;border-left:0;border-top:1px solid var(--rtf-border);display:grid;grid-template-columns:repeat(3,1fr);}
    .rtf-way-steps article{padding:20px 18px 20px 0;border-bottom:0;border-right:1px solid var(--rtf-border);}
    .rtf-way-steps article:last-child{border-right:0;}
    .rtf-services-layout{grid-template-columns:.7fr 1.3fr;gap:35px;}
    .rtf-conversation-layout{grid-template-columns:1fr;}
    .rtf-conversation-intro{display:grid;grid-template-columns:1fr 1fr;gap:18px 35px;align-items:end;}
    .rtf-conversation-intro .rtf-h1-section-head{grid-column:1/-1;}
    .rtf-conversation-intro h2{margin:0;}
    .rtf-conversation-intro p{margin:0;}
    .rtf-progress-layout{grid-template-columns:1fr;gap:38px;}
    .rtf-progress-metrics{grid-column:1;}
    .rtf-door-layout{grid-template-columns:1fr .75fr;min-height:560px;}
    .rtf-door-signature{display:none;}
}

/* mobile large / medium */
@media (max-width:767px){
    .rtf-h1-container{width:calc(100% - 30px);}
    .rtf-h1-section-head{font-size:12px;gap:9px;}
    .rtf-h1-kicker{font-size:12px;}
    .rtf-h1-section p{font-size:17px;line-height:1.65;}
    .rtf-h1-feelings{padding:58px 0 38px;}
    .rtf-feelings-grid{grid-template-columns:1fr;gap:28px;margin-top:34px;}
    .rtf-feelings-intro h2{font-size:34px;}
    .rtf-feelings-stage{min-height:390px;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,1fr);}
    .rtf-feel-1{grid-column:1;grid-row:1}.rtf-feel-2{grid-column:2;grid-row:1}.rtf-feel-3{grid-column:1/3;grid-row:2}.rtf-feel-4{grid-column:1;grid-row:3}.rtf-feel-5{grid-column:2;grid-row:3}.rtf-feel-6{grid-column:1/3;grid-row:4}
    .rtf-feel-shape{font-size:17px;min-height:58px;padding:7px 15px;}
    .rtf-feel-orbit-a{width:96%;left:2%;}.rtf-feel-orbit-b{width:70%;left:15%;}
    .rtf-feelings-aside{padding-top:18px;}
    .rtf-feelings-footer{overflow:auto;justify-content:flex-start;white-space:nowrap;padding-bottom:4px;}
    .rtf-feelings-footer span{flex:0 0 auto;}
    .rtf-h1-begin{padding:62px 0 56px;}
    .rtf-begin-heading{grid-template-columns:1fr;gap:22px;margin:34px 0 30px;}
    .rtf-begin-heading h2{font-size:36px;}
    .rtf-begin-cards{grid-template-columns:1fr;gap:14px;}
    .rtf-begin-card{min-height:205px;padding:24px;}
    .rtf-begin-card h3{padding-top:38px;font-size:21px;}
    .rtf-begin-quote{justify-content:flex-start;margin-top:28px;}
    .rtf-begin-quote p{font-size:17px;}
    .rtf-h1-way{padding:60px 0;}
    .rtf-way-layout{grid-template-columns:1fr;gap:28px;min-height:0;}
    .rtf-way-copy h2{font-size:35px;}
    .rtf-way-visual{order:2;}
    .rtf-way-steps{order:3;grid-template-columns:1fr;}
    .rtf-way-steps article{border-right:0;border-bottom:1px solid var(--rtf-border);padding:17px 0;}
    .rtf-way-steps article:last-child{border-bottom:0;}
    .rtf-h1-services{padding:62px 0 58px;}
    .rtf-services-layout{grid-template-columns:1fr;gap:34px;}
    .rtf-services-copy h2{font-size:38px;}
    .rtf-services-doodle{display:none;}
    .rtf-service-item{grid-template-columns:48px 1fr 24px;gap:10px;padding:20px 0;}
    .rtf-service-item:hover,.rtf-service-item.is-active{padding-left:12px;padding-right:12px;}
    .rtf-service-index{font-size:24px;}
    .rtf-service-copy h3{font-size:17px;line-height:1.35;}
    .rtf-service-copy p{font-size:14px;}
    .rtf-h1-conversation{padding:58px 0;}
    .rtf-conversation-intro{display:block;}
    .rtf-conversation-intro h2{font-size:40px;margin:20px 0 16px;}
    .rtf-conversation-media{min-height:500px;}
    .rtf-conversation-steps{width:68%;padding:32px 20px;gap:18px;}
    .rtf-conversation-steps p{font-size:13px;}
    .rtf-h1-progress{padding:58px 0;}
    .rtf-progress-layout{gap:32px;}
    .rtf-progress-intro h2{font-size:40px;}
    @media (max-width: 767px) {

    .rtf-progress-journey {
        display: grid;

        grid-template-columns:
            repeat(4, minmax(145px, 1fr));

        column-gap: 18px;

        padding-top: 0;

        overflow-x: auto;
        overflow-y: hidden;

        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .rtf-progress-journey::-webkit-scrollbar {
        display: none;
    }


    .rtf-progress-step {
        min-width: 145px;
        padding-top: 0;
    }


    .rtf-journey-line {
        /*
           Because the mobile grid has four equal columns,
           this still connects center 01 → center 04.
        */
        left: 12.5%;
        right: 12.5%;
        top: 21px;

        height: 2px;
    }

}
    .rtf-journey-line{left:8%;right:8%;top:35px;}
    .rtf-progress-step p{max-width:none;}
    .rtf-progress-metrics{grid-template-columns:1fr;gap:18px;}
    .rtf-progress-metrics div,.rtf-progress-metrics div:first-child{border-left:0;border-bottom:1px solid var(--rtf-border);padding:0 0 16px;}
    .rtf-progress-metrics div:last-child{border-bottom:0;}
    .rtf-h1-door{min-height:670px;}
    .rtf-door-layout{grid-template-columns:1fr;min-height:670px;gap:15px;padding:60px 0;}
    .rtf-door-copy h2{font-size:43px;}
    .rtf-door-visual{min-height:300px;order:2;}
    .rtf-door-frame{height:285px;width:190px;border-radius:105px 105px 0 0;}
    .rtf-door-plant{font-size:58px;bottom:10px;left:25%;}
    .rtf-door-glow{width:360px;height:360px;right:-90px;top:55%;}
}

/* mobile-S */
@media (max-width:389px){
    .rtf-h1-container{width:calc(100% - 24px);}
    .rtf-feelings-stage{min-height:350px;}
    .rtf-feel-shape{font-size:15px;padding:7px 10px;}
    .rtf-begin-heading h2{font-size:32px;}
    .rtf-begin-card{min-height:190px;}
    .rtf-service-copy h3{font-size:15px;}
    .rtf-service-copy p{font-size:13px;}
    .rtf-conversation-media{min-height:530px;}
    .rtf-conversation-steps{width:78%;}
    .rtf-door-copy h2{font-size:38px;}
    .rtf-door-actions{gap:17px;}
    .rtf-h1-primary-button,.rtf-h1-door .rtf-door-link{font-size:14px;}
}

@media (prefers-reduced-motion: reduce){
    .rtf-home1-page *, .rtf-home1-page *::before, .rtf-home1-page *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important;}
    .rtf-reveal,.rtf-begin-card{opacity:1;transform:none;}
}
/* ===== SECTION 07 — journey line aligned to the start of each step ===== */
.rtf-progress-journey { --jg: 20px; column-gap: var(--jg); }

/* hide the old single bar */
.rtf-progress-journey .rtf-journey-line { display: none; }

/* circle sits at the start of its content, not centred */
.rtf-progress-journey .rtf-step-dot { margin: 0 0 18px; }

/* line from this circle's centre to the next circle's centre */
.rtf-progress-journey .rtf-progress-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 20px;                      /* 42px circle: centre = 21px, line = 2px */
    inset-inline-start: 21px;       /* starts at the circle centre */
    width: calc(100% + var(--jg));  /* reaches the next circle's centre */
    height: 2px;
    background: var(--rtf-brand);
    z-index: 0;
    pointer-events: none;
}

@media (max-width: 767px) {
    .rtf-progress-journey { --jg: 18px; }
}

/* =========================================================
   ROOM TO FEEL — FOOTER
   Page-specific / footer-scoped styles
   ========================================================= */

.rtf-footer {
    --rtf-footer-bg: #241916;
    --rtf-footer-surface: #34211D;
    --rtf-footer-text: #F5E9DC;
    --rtf-footer-heading: #F5E9DC;
    --rtf-footer-muted: #CBB5A7;
    --rtf-footer-brand: #C56A52;
    --rtf-footer-border: #5A3B33;

    position: relative;
    width: 100%;
    overflow: hidden;

    background: #241916;
    color: #F5E9DC;

    border-top: 1px solid #5A3B33;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.rtf-footer__container {
    position: relative;
    width: min(1280px, calc(100% - 80px));
    margin: 0 auto;
}


/* =========================================================
   SOFT DECORATIVE LINES
   ========================================================= */

.rtf-footer::before {
    content: "";
    position: absolute;

    width: 330px;
    height: 330px;

    left: -220px;
    top: -220px;

    border: 1px solid var(--rtf-footer-border);
    border-radius: 50%;

    opacity: .42;

    pointer-events: none;
}


.rtf-footer::after {
    content: "";
    position: absolute;

    width: 270px;
    height: 270px;

    right: -180px;
    bottom: -180px;

    border: 1px solid var(--rtf-footer-border);
    border-radius: 50%;

    opacity: .35;

    pointer-events: none;
}


/* =========================================================
   MAIN GRID
   ========================================================= */

.rtf-footer__grid {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(230px, 1.15fr)
        minmax(180px, .9fr)
        minmax(250px, 1.1fr)
        minmax(250px, 1.1fr);

    gap: 0;

    padding: 72px 0 62px;
}


/* Vertical separators */

.rtf-footer__column {
    min-width: 0;

    padding-left: 44px;
    padding-right: 44px;

    border-left: 1px solid var(--rtf-footer-border);
}


.rtf-footer__column + .rtf-footer__column {
    border-left: 1px solid var(--rtf-footer-border);
}


.rtf-footer__brand {
    padding-right: 50px;
}


/* =========================================================
   LOGO
   ========================================================= */

.rtf-footer__brand-link {
    display: inline-flex;

    align-items: center;

    gap: 11px;

    color: var(--rtf-footer-heading);

    text-decoration: none;
}


.rtf-footer__logo {
    width: 30px;
    height: 34px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 30px;

    color: var(--rtf-footer-brand);
    background: url("../images/room-to-feel-mark.svg") center / contain no-repeat;
}


.rtf-footer__logo svg {
    display: none;
}


.rtf-footer__brand-name {
    font-family: "Plus Jakarta Sans", sans-serif;

    font-size: 21px;
    line-height: 1;

    font-weight: 600;

    letter-spacing: -.025em;

    white-space: nowrap;
}


.rtf-footer__brand-copy {
    max-width: 310px;

    margin: 25px 0 27px;

    color: var(--rtf-footer-muted);

    font-size: 16px;
    line-height: 1.7;

    font-weight: 500;
}


/* =========================================================
   SOCIAL ICONS
   ========================================================= */

.rtf-footer__socials {
    display: flex;

    align-items: center;

    gap: 9px;
}


.rtf-footer__social {
    width: 36px;
    height: 36px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    color: var(--rtf-footer-brand);

    border: 1px solid var(--rtf-footer-border);
    border-radius: 50%;

    text-decoration: none;

    transition:
        color .3s ease,
        background-color .3s ease,
        border-color .3s ease,
        transform .3s ease;
}


.rtf-footer__social svg {
    width: 17px;
    height: 17px;

    display: block;
}


.rtf-footer__social:hover {
    color: var(--rtf-footer-bg);

    background: var(--rtf-footer-brand);

    border-color: var(--rtf-footer-brand);

    transform: translateY(-3px);
}


/* =========================================================
   HEADINGS
   ========================================================= */

.rtf-footer__heading {
    margin: 0 0 23px;

    color: var(--rtf-footer-heading);

    font-family: "Plus Jakarta Sans", sans-serif;

    font-size: 20px;
    line-height: 1.25;

    font-weight: 600;

    letter-spacing: -.02em;
}


/* =========================================================
   QUICK LINKS
   ========================================================= */

.rtf-footer__links {
    display: flex;

    flex-direction: column;

    gap: 11px;
}


.rtf-footer__links a {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 14px;

    color: var(--rtf-footer-muted);

    font-size: 15px;
    line-height: 1.45;

    font-weight: 500;

    text-decoration: none;

    transition:
        color .25s ease,
        padding .25s ease;
}


.rtf-footer__links a span:last-child {
    color: var(--rtf-footer-brand);

    opacity: .75;

    transition:
        transform .25s ease,
        opacity .25s ease;
}


.rtf-footer__links a:hover {
    color: var(--rtf-footer-brand);

    padding-left: 4px;
}


.rtf-footer__links a:hover span:last-child {
    opacity: 1;

    transform: translateX(4px);
}


/* =========================================================
   CONTACT
   ========================================================= */

.rtf-footer__contact-item {
    display: grid;

    grid-template-columns: 30px minmax(0, 1fr);

    align-items: start;

    column-gap: 13px;

    margin-bottom: 22px;
}


.rtf-footer__contact-icon {
    width: 28px;
    height: 28px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    color: var(--rtf-footer-brand);
}


.rtf-footer__contact-icon svg {
    width: 23px;
    height: 23px;

    display: block;
}


.rtf-footer__contact-item strong {
    display: block;

    margin-bottom: 4px;

    color: var(--rtf-footer-heading);

    font-size: 15px;
    line-height: 1.45;

    font-weight: 500;
}


.rtf-footer__contact-item span:not(.rtf-footer__contact-icon) {
    display: block;

    color: var(--rtf-footer-muted);

    font-size: 14px;
    line-height: 1.5;

    font-weight: 500;
}


.rtf-footer__contact-link {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-top: 1px;

    color: var(--rtf-footer-brand);

    font-size: 15px;

    font-weight: 500;

    text-decoration: none;

    transition: gap .25s ease;
}


.rtf-footer__contact-link:hover {
    gap: 15px;
}


/* =========================================================
   NEWSLETTER
   ========================================================= */

.rtf-footer__newsletter-copy {
    max-width: 300px;

    margin: -3px 0 22px;

    color: var(--rtf-footer-muted);

    font-size: 15px;

    line-height: 1.65;

    font-weight: 500;
}


.rtf-footer__form {
    width: 100%;

    display: flex;

    align-items: stretch;

    min-height: 50px;

    border: 1px solid var(--rtf-footer-border);

    border-radius: 8px;

    overflow: hidden;

    background: transparent;
}


.rtf-footer__form input {
    min-width: 0;
    flex: 1;

    height: 50px;

    padding: 0 15px;

    border: 0;
    outline: 0;

    background: transparent;

    color: var(--rtf-footer-text);

    font-family: "Plus Jakarta Sans", sans-serif;

    font-size: 14px;

    font-weight: 500;
}


.rtf-footer__form input::placeholder {
    color: var(--rtf-footer-muted);

    opacity: .85;
}


.rtf-footer__form input:focus {
    box-shadow: inset 0 0 0 1px var(--rtf-footer-brand);
}


.rtf-footer__form button {
    width: 54px;

    flex: 0 0 54px;

    border: 0;

    background: var(--rtf-footer-brand);

    color: #F5E9DC;

    cursor: pointer;

    font-family: "Plus Jakarta Sans", sans-serif;

    font-size: 20px;

    transition:
        background-color .25s ease,
        width .25s ease;
}


.rtf-footer__form button:hover {
    background: var(--rtf-footer-heading);
}


.rtf-footer__consent {
    display: flex;

    align-items: flex-start;

    gap: 9px;

    margin-top: 14px;

    cursor: pointer;
}


.rtf-footer__consent input {
    width: 17px;
    height: 17px;

    flex: 0 0 17px;

    margin: 1px 0 0;

    accent-color: var(--rtf-footer-brand);

    cursor: pointer;
}


.rtf-footer__consent span {
    color: var(--rtf-footer-muted);

    font-size: 12px;

    line-height: 1.5;

    font-weight: 500;
}


.rtf-footer__form-message {
    min-height: 18px;

    margin: 9px 0 0;

    color: var(--rtf-footer-brand);

    font-size: 12px;

    line-height: 1.5;

    font-weight: 500;
}


/* =========================================================
   BOTTOM
   ========================================================= */

.rtf-footer__bottom {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns: 1fr auto auto;

    align-items: center;

    gap: 30px;

    min-height: 76px;

    border-top: 1px solid var(--rtf-footer-border);
}


.rtf-footer__copyright {
    margin: 0;

    color: var(--rtf-footer-muted);

    font-size: 13px;

    line-height: 1.5;

    font-weight: 500;
}


.rtf-footer__legal {
    display: flex;

    align-items: center;

    gap: 16px;
}


.rtf-footer__legal a {
    color: var(--rtf-footer-muted);

    font-size: 13px;

    line-height: 1.5;

    font-weight: 500;

    text-decoration: none;

    transition: color .25s ease;
}


.rtf-footer__legal a:hover {
    color: var(--rtf-footer-brand);
}


.rtf-footer__legal > span {
    width: 1px;
    height: 14px;

    background: var(--rtf-footer-border);
}


.rtf-footer__tagline {
    display: flex;

    align-items: center;

    gap: 12px;
}


.rtf-footer__tagline > span {
    width: 35px;
    height: 1px;

    background: var(--rtf-footer-brand);
}


.rtf-footer__tagline strong {
    color: var(--rtf-footer-brand);

    font-size: 11px;

    line-height: 1;

    font-weight: 500;

    letter-spacing: .18em;

    white-space: nowrap;
}


/* =========================================================
   SCREEN READER
   ========================================================= */

.rtf-footer__sr-only {
    position: absolute;

    width: 1px;
    height: 1px;

    padding: 0;
    margin: -1px;

    overflow: hidden;

    clip: rect(0, 0, 0, 0);

    white-space: nowrap;

    border: 0;
}


/* =========================================================
   REVEAL ANIMATION
   ========================================================= */

.rtf-footer-reveal {
    opacity: 0;

    transform: translateY(24px);

    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.2, .8, .2, 1);
}


.rtf-footer.is-visible .rtf-footer-reveal {
    opacity: 1;

    transform: translateY(0);
}


.rtf-footer__grid
.rtf-footer-reveal:nth-child(2) {
    transition-delay: .08s;
}


.rtf-footer__grid
.rtf-footer-reveal:nth-child(3) {
    transition-delay: .16s;
}


.rtf-footer__grid
.rtf-footer-reveal:nth-child(4) {
    transition-delay: .24s;
}


/* =========================================================
   LAPTOP-L / DESKTOP
   ========================================================= */

@media (min-width: 1440px) {

    .rtf-footer__container {
        width: min(1340px, calc(100% - 100px));
    }

    .rtf-footer__grid {
        padding-top: 78px;
        padding-bottom: 68px;
    }

}


/* =========================================================
   LAPTOP
   ========================================================= */

@media (max-width: 1279px) {

    .rtf-footer__container {
        width: min(1120px, calc(100% - 56px));
    }

    .rtf-footer__grid {
        grid-template-columns:
            1.05fr
            .9fr
            1.05fr
            1fr;
    }

    .rtf-footer__column {
        padding-left: 28px;
        padding-right: 28px;
    }

    .rtf-footer__brand {
        padding-right: 32px;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1023px) {

    .rtf-footer__container {
        width: min(760px, calc(100% - 48px));
    }

    .rtf-footer__grid {
        grid-template-columns: 1fr 1fr;

        row-gap: 48px;

        padding-top: 58px;
        padding-bottom: 48px;
    }

    .rtf-footer__brand {
        padding-right: 32px;
    }

    .rtf-footer__column {
        padding-left: 32px;
        padding-right: 0;
    }

    .rtf-footer__grid
    .rtf-footer__column:nth-child(3) {
        border-left: 0;
        padding-left: 0;
    }

    .rtf-footer__bottom {
        grid-template-columns: 1fr auto;

        gap: 16px;
    }

    .rtf-footer__tagline {
        grid-column: 1 / -1;

        justify-content: flex-end;

        padding-bottom: 20px;
    }

}


/* =========================================================
   MOBILE-L / MOBILE-M / MOBILE-S
   ========================================================= */

@media (max-width: 767px) {

    .rtf-footer__container {
        width: calc(100% - 32px);
    }

    .rtf-footer__grid {
        grid-template-columns: 1fr;

        row-gap: 0;

        padding: 52px 0 36px;
    }

    .rtf-footer__brand {
        padding: 0 0 34px;

        border-bottom: 1px solid var(--rtf-footer-border);
    }

    .rtf-footer__column {
        padding: 30px 0;

        border-left: 0 !important;
        border-bottom: 1px solid var(--rtf-footer-border);
    }

    .rtf-footer__grid
    .rtf-footer__column:last-child {
        border-bottom: 0 !important;
    }

    .rtf-footer__brand-name {
        font-size: 20px;
    }

    .rtf-footer__brand-copy {
        max-width: 440px;

        margin-top: 20px;

        font-size: 16px;
    }

    .rtf-footer__heading {
        margin-bottom: 18px;

        font-size: 20px;
    }

    .rtf-footer__links {
        gap: 10px;
    }

    .rtf-footer__links a {
        min-height: 29px;

        font-size: 15px;
    }

    .rtf-footer__contact-item {
        margin-bottom: 19px;
    }

    .rtf-footer__newsletter-copy {
        max-width: 470px;
    }

    .rtf-footer__bottom {
        grid-template-columns: 1fr;

        gap: 16px;

        padding: 23px 0 26px;
    }

    .rtf-footer__legal {
        flex-wrap: wrap;

        gap: 10px 14px;
    }

    .rtf-footer__tagline {
        justify-content: flex-start;

        padding: 0;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 359px) {

    .rtf-footer__container {
        width: calc(100% - 24px);
    }

    .rtf-footer__grid {
        padding-top: 44px;
    }

    .rtf-footer__brand-name {
        font-size: 19px;
    }

    .rtf-footer__brand-copy {
        font-size: 15px;
    }

    .rtf-footer__social {
        width: 34px;
        height: 34px;
    }

    .rtf-footer__social svg {
        width: 16px;
        height: 16px;
    }

    .rtf-footer__form input {
        font-size: 13px;
    }

    .rtf-footer__form button {
        width: 50px;
        flex-basis: 50px;
    }

    .rtf-footer__legal a {
        font-size: 12px;
    }

    .rtf-footer__tagline strong {
        font-size: 9px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .rtf-footer-reveal {
        opacity: 1;

        transform: none;

        transition: none;
    }

    .rtf-footer__social,
    .rtf-footer__links a,
    .rtf-footer__links a span:last-child,
    .rtf-footer__contact-link {
        transition: none;
    }

}

/* =========================================================
   ROOM TO FEEL — HOME 2 HERO (LIGHT / BASE)
   Paste at the END of assets/css/styles.css
   Every selector starts with .h2hero — nothing global.
   ========================================================= */

.h2hero {
    --hh-px: 16px; --hh-pt: 16px; --hh-pb: 22px;
    --hh-shade: 36, 25, 22;
    --hh-filter: sepia(0.28) saturate(0.9);
    --hh-btn: #A6533F; --hh-btn-hover: #7D382E; --hh-btn-text: #F5E9DC;
    width: 100%;
    padding: var(--hh-pt) var(--hh-px) var(--hh-pb);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
    font-size: 16px;
}
.h2hero *, .h2hero *::before, .h2hero *::after { box-sizing: border-box; }
.h2hero svg { flex: none; }
.h2hero p { margin: 0; }

/* ---------- stage ---------- */
.h2hero-stage {
    --pad-x: 18px; --edge: 12px; --gap: 8px; --ch: 112px;
    --cw: calc((100% - 2 * var(--edge) - 2 * var(--gap)) / 3);
    --dur: 0.85s; --ease: cubic-bezier(0.65, 0, 0.25, 1);
    --reserve: calc(var(--edge) + var(--ch) + 84px);
    --hh-shade-bg: linear-gradient(180deg, rgba(var(--hh-shade), 0.9) 0%, rgba(var(--hh-shade), 0.78) 55%, rgba(var(--hh-shade), 0.5) 100%);

    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 1840px;
    min-height: 680px;
    margin: 0 auto;
    padding: 40px var(--pad-x) var(--reserve);
    border-radius: 22px;
    background: #241916;
    color: #F5E9DC;
}

/* ---------- backgrounds ---------- */
.h2hero-bg { position: absolute; inset: 0; z-index: 1; opacity: 0; }
.h2hero-bg.is-active { opacity: 1; }
.h2hero-bg::after, .h2hero-card::after { content: ""; position: absolute; inset: 0; background: var(--hh-shade-bg); }
.h2hero-bg img, .h2hero-card img {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; object-position: var(--pos, 50% 50%);
    transform: scaleX(var(--flip, 1));
    filter: var(--hh-filter);
}

/* ---------- small cards (they grow into the background) ---------- */
.h2hero-card {
    position: absolute;
    z-index: 4;
    width: var(--cw);
    height: var(--ch);
    inset-block-end: var(--edge);
    inset-inline-start: calc(100% - var(--edge) - 3 * var(--cw) - 2 * var(--gap) + var(--i, 4) * (var(--cw) + var(--gap)));
    overflow: hidden;
    border: 1px solid rgba(245, 233, 220, 0.28);
    border-radius: 14px;
    background: #241916;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
    transition:
        inset-inline-start var(--dur) var(--ease),
        inset-block-end var(--dur) var(--ease),
        width var(--dur) var(--ease),
        height var(--dur) var(--ease),
        border-radius var(--dur) var(--ease),
        opacity 0.5s ease;
}
.h2hero-card::after { opacity: 0; transition: opacity var(--dur) ease; }
.h2hero-card.is-full {
    z-index: 2;
    inset-inline-start: 0; inset-block-end: 0;
    width: 100%; height: 100%;
    border-color: transparent; border-radius: 0; box-shadow: none;
}
.h2hero-card.is-full::after { opacity: 1; }
.h2hero-card.is-spare { opacity: 0; visibility: hidden; }
.h2hero-card.is-reset { transition: none; }

.h2hero-card-label {
    position: absolute; inset-inline: 0; bottom: 0; z-index: 1;
    display: none; flex-direction: column; gap: 2px;
    padding: 28px 12px 10px;
    background: linear-gradient(0deg, rgba(36, 25, 22, 0.9), rgba(36, 25, 22, 0));
    color: #F5E9DC; font-size: 14px; line-height: 1.2;
    transition: opacity 0.3s ease;
}
.h2hero-card-label i { font-style: normal; font-size: 12px; letter-spacing: 0.08em; color: #E8B9A6; }
.h2hero-card.is-full .h2hero-card-label { opacity: 0; }

/* ---------- text ---------- */
.h2hero-copies { position: relative; z-index: 5; flex: 1; display: grid; align-items: center; }
.h2hero-copy { grid-area: 1 / 1; max-width: 540px; visibility: hidden; pointer-events: none; transition: visibility 0s 0.3s; }
.h2hero-copy.is-active { visibility: visible; pointer-events: auto; transition-delay: 0s; }
.h2hero-copy > * { opacity: 0; transform: translateY(22px); transition: opacity 0.25s ease, transform 0.25s ease; }
.h2hero-copy.is-active > * {
    opacity: 1; transform: none;
    transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
    transition-delay: calc(0.3s + var(--n, 0) * 0.08s);
}
.h2hero-copy > :nth-child(2) { --n: 1; }
.h2hero-copy > :nth-child(3) { --n: 2; }
.h2hero-copy > :nth-child(4) { --n: 3; }

.h2hero-eyebrow { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; }
.h2hero-eyebrow::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.h2hero-title { margin: 0; font-size: 34px; line-height: 1.04; letter-spacing: -0.01em; font-weight: 600; color: #F5E9DC; }
.h2hero-line { display: block; }
.h2hero-accent { color: #C56A52; }
.h2hero-text { max-width: 23em; margin: 22px 0 30px; font-size: 18px; line-height: 1.55; color: rgba(245, 233, 220, 0.94); }
.h2hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }

.h2hero-btn, .h2hero-link {
    min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    border-radius: 999px; font-size: 16px; line-height: 1; text-decoration: none; white-space: nowrap;
    transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease;
}
.h2hero-btn { width: 100%; padding: 0 28px; background: var(--hh-btn); color: var(--hh-btn-text); }
.h2hero-btn:hover { background: var(--hh-btn-hover); color: #F5E9DC; transform: translateY(-1px); }
.h2hero-link { padding: 0 16px; color: #F5E9DC; }
.h2hero-link:hover { background: rgba(245, 233, 220, 0.14); }
.h2hero-btn svg, .h2hero-link svg {
    width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8;
    stroke-linecap: round; stroke-linejoin: round; transition: transform 0.2s ease;
}
.h2hero-btn:hover svg, .h2hero-link:hover svg { transform: translateX(3px); }
.h2hero-btn:focus-visible, .h2hero-link:focus-visible, .h2hero-ic:focus-visible { outline: 3px solid #D6A18F; outline-offset: 3px; }

/* ---------- counter / progress / buttons ---------- */
.h2hero-ctrl {
    position: absolute; z-index: 6;
    inset-inline-start: var(--pad-x);
    inset-block-end: calc(var(--edge) + var(--ch) + 16px);
    max-width: calc(100% - 2 * var(--pad-x));
    display: flex; align-items: center; gap: 10px;
}
.h2hero-count { min-width: 3.6em; font-size: 14px; letter-spacing: 0.12em; color: #F5E9DC; direction: ltr; unicode-bidi: isolate; }
.h2hero-count b { font-weight: 600; }
.h2hero-bar { position: relative; flex: 0 1 70px; min-width: 36px; height: 2px; overflow: hidden; background: rgba(245, 233, 220, 0.3); }
.h2hero-bar i { position: absolute; inset: 0; background: #E8B9A6; transform: scaleX(0); transform-origin: left; }
.h2hero-bar.is-run i { animation: h2heroBar var(--cycle, 2s) linear forwards; }
.h2hero-bar.is-paused i { animation-play-state: paused; }
@keyframes h2heroBar { to { transform: scaleX(1); } }

.h2hero-ic {
    width: 44px; height: 44px; padding: 0; flex: none; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid rgba(245, 233, 220, 0.5); border-radius: 50%;
    background: rgba(36, 25, 22, 0.4); color: #F5E9DC;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.h2hero-ic:hover { background: var(--hh-btn); border-color: var(--hh-btn); color: var(--hh-btn-text); }
.h2hero-ic svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.h2hero-pp .i-play { display: none; }
.h2hero-pp[aria-pressed="true"] .i-pause { display: none; }
.h2hero-pp[aria-pressed="true"] .i-play { display: block; }

@media (prefers-reduced-motion: reduce) {
    .h2hero-stage *, .h2hero-stage *::before, .h2hero-stage *::after { transition-duration: 0.01ms !important; transition-delay: 0s !important; animation: none !important; }
}

/* ---------- responsive ---------- */
@media (max-width: 359px) { .h2hero { --hh-px: 10px; } }
@media (min-width: 360px) { .h2hero-title { font-size: 36px; } }
@media (min-width: 360px) and (max-width: 389px) { .h2hero { --hh-px: 14px; } }
@media (min-width: 390px) { .h2hero-title { font-size: 40px; } }
@media (min-width: 480px) { .h2hero-btn { width: auto; } }

/* tablet portrait and up: side-by-side shade, labelled cards */
@media (min-width: 640px) {
    .h2hero-stage {
        --pad-x: 40px; --edge: 24px; --gap: 12px; --cw: 132px; --ch: 176px;
        min-height: 640px; padding-top: 56px;
        --hh-shade-bg:
            linear-gradient(90deg, rgba(var(--hh-shade), 0.94) 0%, rgba(var(--hh-shade), 0.82) 38%, rgba(var(--hh-shade), 0.32) 68%, rgba(var(--hh-shade), 0.06) 100%),
            linear-gradient(0deg, rgba(var(--hh-shade), 0.5) 0%, rgba(var(--hh-shade), 0) 36%);
    }
    .h2hero-card-label { display: flex; }
    .h2hero-bar { flex-basis: 120px; }
    .h2hero-ctrl { gap: 14px; }
}
@media (min-width: 768px) {
    .h2hero { --hh-pt: 24px; --hh-px: 24px; --hh-pb: 26px; }
    .h2hero-title { font-size: 52px; }
    .h2hero-text { font-size: 19px; }
}
/* laptop: controls sit on the same row as the cards */
@media (min-width: 1024px) {
    .h2hero-stage {
        --pad-x: 48px; --edge: 32px; --gap: 14px; --cw: 160px; --ch: 216px;
        --reserve: calc(var(--edge) + var(--ch) + 28px);
        min-height: clamp(660px, calc(100svh - 190px), 780px);
    }
    .h2hero-ctrl { inset-block-end: var(--edge); }
    .h2hero-title { font-size: 58px; }
    .h2hero-text { font-size: 20px; }
}
/* laptop-L */
@media (min-width: 1280px) {
    .h2hero { --hh-pt: 32px; --hh-px: 32px; --hh-pb: 28px; }
    .h2hero-stage { --pad-x: 60px; --edge: 36px; --gap: 16px; --cw: 180px; --ch: 244px; }
    .h2hero-title { font-size: 62px; }
}
/* desktop */
@media (min-width: 1440px) {
    .h2hero { --hh-pt: 38px; --hh-px: 52px; --hh-pb: 30px; }
    .h2hero-stage { --pad-x: 72px; --edge: 44px; --cw: 196px; --ch: 262px; }
    .h2hero-title { font-size: 64px; }
}

/* ===== HOME 2 HERO — even spacing (replaces the previous fix) ===== */

/* one equal gap between eyebrow, title, text and buttons */
.h2hero-copy {
    --hh-gap: 22px;
    display: flex;
    flex-direction: column;
    gap: var(--hh-gap);
}
.h2hero-copy > *,
.h2hero-eyebrow,
.h2hero-text,
.h2hero-actions { margin: 0; }          /* spacing now comes only from the gap */

/* consistent line-heights */
.h2hero-title { line-height: 1.1; }
.h2hero-text  { line-height: 1.6; }

/* counter stays on one line */
.h2hero-count { white-space: nowrap; min-width: 0; }

@media (min-width: 768px)  { .h2hero-copy { --hh-gap: 26px; } }
@media (min-width: 1440px) { .h2hero-copy { --hh-gap: 32px; } }

/* laptop and up: equal space above and below the text block,
   and the text never runs into the cards */
@media (min-width: 1024px) {
    .h2hero-copy { --hh-gap: 30px; }
    .h2hero-stage {
        --reserve: calc(var(--edge) + 72px);   /* bottom space = controls row */
        padding-top: var(--reserve);           /* top space = same, so the text sits centered */
    }
    .h2hero-copy {
        max-width: min(540px, calc(100% + var(--pad-x) - var(--edge) - 3 * var(--cw) - 2 * var(--gap) - 24px));
    }
}
@media (min-width: 1440px) { .h2hero-copy { --hh-gap: 34px; } }

/* =========================================================
   ROOM TO FEEL — HOME 2 MAIN SECTIONS ONLY
   All selectors are scoped to main > section.rtf-h2-section.
   No navbar/footer/hero styles are defined here.
   ========================================================= */

main > section.rtf-h2-section{
    --h2-bg: #F5E9DC;
    --h2-surface: #EBD6C5;
    --h2-brand: #A6533F;
    --h2-brand-strong: #7D382E;
    --h2-heading: #302421;
    --h2-text: #4A2C26;
    --h2-muted: #795F55;
    --h2-soft: #D6A18F;
    --h2-border: #CDB5A4;
    --h2-white: #FFF9F3;
    --h2-shadow: rgba(74,44,38,.12);
    color: var(--h2-text);
    background: var(--h2-bg);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
    overflow: clip;
}

main > section.rtf-h2-section * { box-sizing: border-box; }
main > section.rtf-h2-section button,
main > section.rtf-h2-section a { font: inherit; }
main > section.rtf-h2-section img { display:block; width:100%; height:100%; object-fit:cover; }
main > section.rtf-h2-section .rtf-h2-wrap{ width:min(1440px, calc(100% - 112px)); margin-inline:auto; }
main > section.rtf-h2-section{ position:relative; padding:clamp(88px,8vw,132px) 0; isolation:isolate; }
main > section.rtf-h2-section .rtf-h2-section-intro h2,
main > section.rtf-h2-section .rtf-h2-call-content h2,
main > section.rtf-h2-judgment .rtf-h2-judgment-copy h2,
main > section.rtf-h2-way .rtf-h2-way-intro h2,
main > section.rtf-h2-section .rtf-h2-resource-head h2,
main > section.rtf-h2-voices .rtf-h2-voices-top h2,
main > section.rtf-h2-section .rtf-h2-question-head h2,
main > section.rtf-h2-start .rtf-h2-start-copy h2{ margin:0; color:var(--h2-heading); font-size:42px; line-height:1.12; font-weight:600; letter-spacing:-.035em; }
main > section.rtf-h2-section .rtf-h2-section p{ color:var(--h2-text); font-size:18px; line-height:1.7; font-weight:500; }
main > section.rtf-h2-section .rtf-h2-kicker{ display:inline-flex; align-items:center; gap:10px; margin-bottom:22px; color:var(--h2-brand-strong); font-size:14px; line-height:1.3; font-weight:600; letter-spacing:.08em; }
main > section.rtf-h2-section .rtf-h2-kicker::before{ content:""; width:28px; height:1px; background:var(--h2-brand); flex:0 0 28px; }
main > section.rtf-h2-section .rtf-h2-reveal,
main > section.rtf-h2-section .rtf-h2-reveal-left,
main > section.rtf-h2-section .rtf-h2-reveal-right{ opacity:0; transform:translateY(34px); transition:opacity .8s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
main > section.rtf-h2-section .rtf-h2-reveal-left{ transform:translateX(-55px); }
main > section.rtf-h2-section .rtf-h2-reveal-right{ transform:translateX(55px); }
main > section.rtf-h2-section .rtf-h2-reveal.is-visible,
main > section.rtf-h2-section .rtf-h2-reveal-left.is-visible,
main > section.rtf-h2-section .rtf-h2-reveal-right.is-visible{ opacity:1; transform:none; }

main > section.rtf-h2-feelings{ background:var(--h2-bg); min-height:720px; display:flex; align-items:center; }
main > section.rtf-h2-feelings .rtf-h2-feelings-grid{ display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); gap:clamp(48px,7vw,110px); align-items:center; }
main > section.rtf-h2-section .rtf-h2-section-intro{ max-width:570px; }
main > section.rtf-h2-section .rtf-h2-section-intro p{ margin-top:26px; max-width:530px; }
main > section.rtf-h2-section .rtf-h2-scroll-note{ display:inline-flex; align-items:center; gap:10px; margin-top:38px; color:var(--h2-muted); font-size:14px; font-weight:600; }
main > section.rtf-h2-section .rtf-h2-scroll-dot{ width:8px; height:8px; border:1px solid var(--h2-brand); border-radius:50%; position:relative; }
main > section.rtf-h2-section .rtf-h2-scroll-dot::after{ content:""; position:absolute; width:3px; height:3px; background:var(--h2-brand); border-radius:50%; inset:2px; animation:rtfH2Pulse 1.8s ease-in-out infinite; }
main > section.rtf-h2-section .rtf-h2-constellation{ min-height:530px; position:relative; border-inline:1px solid var(--h2-border); overflow:hidden; background:linear-gradient(135deg,rgba(235,214,197,.38),transparent 50%); }
main > section.rtf-h2-section .rtf-h2-orbit{ position:absolute; border:1px solid rgba(166,83,63,.22); border-radius:50%; pointer-events:none; }
main > section.rtf-h2-section .rtf-h2-orbit-one{ width:72%; aspect-ratio:1; left:14%; top:14%; animation:rtfH2Orbit 18s linear infinite; }
main > section.rtf-h2-section .rtf-h2-orbit-two{ width:46%; aspect-ratio:1; left:27%; top:27%; animation:rtfH2OrbitReverse 13s linear infinite; }
main > section.rtf-h2-section .rtf-h2-feeling-word{ position:absolute; left:var(--x); top:var(--y); max-width:190px; border:0; background:transparent; color:var(--h2-muted); text-align:left; font-size:16px; line-height:1.35; font-weight:600; cursor:pointer; transform:translate(-50%,-50%); transition:color .35s ease, transform .45s cubic-bezier(.2,.8,.2,1), opacity .35s ease; }
main > section.rtf-h2-section .rtf-h2-feeling-word:hover,
main > section.rtf-h2-section .rtf-h2-feeling-word.is-active{ color:var(--h2-brand-strong); transform:translate(-50%,-50%) scale(1.08); }
main > section.rtf-h2-section .rtf-h2-feeling-word:not(.is-active){ opacity:.68; }
main > section.rtf-h2-section .rtf-h2-feeling-word::after{ content:""; display:block; width:0; height:2px; margin-top:7px; background:var(--h2-brand); transition:width .4s ease; }
main > section.rtf-h2-section .rtf-h2-feeling-word.is-active::after{ width:32px; }
main > section.rtf-h2-section .rtf-h2-constellation-center{ position:absolute; left:50%; top:50%; width:64px; height:64px; transform:translate(-50%,-50%); display:grid; place-items:center; border:1px solid var(--h2-brand); border-radius:50%; background:var(--h2-bg); color:var(--h2-brand); }
main > section.rtf-h2-section .rtf-h2-constellation-center svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; }
main > section.rtf-h2-section .rtf-h2-feeling-response{ position:absolute; left:50%; bottom:26px; width:min(88%,340px); transform:translateX(-50%); margin:0; text-align:center; color:var(--h2-brand-strong)!important; font-size:15px!important; }

main > section.rtf-h2-call-it{ background:var(--h2-surface); }
main > section.rtf-h2-section .rtf-h2-call-grid{ display:grid; grid-template-columns:minmax(0,.95fr) minmax(340px,1.05fr); gap:clamp(48px,8vw,125px); align-items:center; }
main > section.rtf-h2-section .rtf-h2-image-frame{ margin:0; position:relative; overflow:hidden; background:var(--h2-border); box-shadow:0 22px 55px var(--h2-shadow); }
main > section.rtf-h2-section .rtf-h2-image-frame-tall{ min-height:640px; height:clamp(520px,46vw,700px); clip-path:polygon(7% 0,100% 0,93% 100%,0 100%); }
main > section.rtf-h2-section .rtf-h2-image-frame figcaption{ position:absolute; left:28px; bottom:25px; display:flex; flex-direction:column; color:#fff; font-size:14px; line-height:1.5; font-weight:600; text-shadow:0 2px 12px rgba(0,0,0,.35); }
main > section.rtf-h2-section .rtf-h2-call-content{ padding-block:18px; }
main > section.rtf-h2-section .rtf-h2-call-content h2{ font-size:52px; max-width:610px; }
main > section.rtf-h2-section .rtf-h2-statement-list{ margin-top:38px; border-top:1px solid var(--h2-border); }
main > section.rtf-h2-section .rtf-h2-statement{ width:100%; display:flex; align-items:center; gap:18px; padding:20px 0; border:0; border-bottom:1px solid var(--h2-border); background:transparent; color:var(--h2-muted); text-align:left; font-size:20px; line-height:1.45; font-weight:500; cursor:pointer; transition:padding .35s ease, color .35s ease; }
main > section.rtf-h2-section .rtf-h2-statement::before{ content:""; width:0; height:2px; background:var(--h2-brand); transition:width .35s ease; flex:0 0 0; }
main > section.rtf-h2-section .rtf-h2-statement:hover,
main > section.rtf-h2-section .rtf-h2-statement.is-active{ color:var(--h2-heading); padding-inline-start:14px; }
main > section.rtf-h2-section .rtf-h2-statement.is-active::before{ width:26px; flex-basis:26px; }
main > section.rtf-h2-section .rtf-h2-statement-answer{ display:flex; gap:16px; align-items:flex-start; margin-top:27px; padding:20px 0 0; border-top:1px solid var(--h2-brand); }
main > section.rtf-h2-section .rtf-h2-statement-answer p{ margin:0; max-width:590px; }
main > section.rtf-h2-section .rtf-h2-answer-icon{ flex:0 0 36px; width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--h2-brand); border-radius:50%; color:var(--h2-brand); }
main > section.rtf-h2-section .rtf-h2-answer-icon svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; }

main > section.rtf-h2-judgment{ background:var(--h2-bg); }
main > section.rtf-h2-judgment .rtf-h2-judgment-grid{ display:grid; grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr); gap:clamp(55px,8vw,125px); align-items:center; }
main > section.rtf-h2-judgment .rtf-h2-judgment-copy h2{ font-size:52px; max-width:720px; }
main > section.rtf-h2-section .rtf-h2-lead{ margin-top:24px; max-width:680px; }
main > section.rtf-h2-section .rtf-h2-principles{ margin-top:38px; border-top:1px solid var(--h2-border); }
main > section.rtf-h2-section .rtf-h2-principle{ display:grid; grid-template-columns:48px 1fr; gap:18px; padding:21px 0; border-bottom:1px solid var(--h2-border); opacity:.52; transition:opacity .35s ease, transform .35s ease; }
main > section.rtf-h2-section .rtf-h2-principle.is-active{ opacity:1; transform:translateX(8px); }
main > section.rtf-h2-section .rtf-h2-principle-no{ color:var(--h2-brand); font-size:14px; font-weight:600; }
main > section.rtf-h2-section .rtf-h2-principle h3{ margin:0; color:var(--h2-heading); font-size:19px; line-height:1.35; font-weight:600; }
main > section.rtf-h2-section .rtf-h2-principle p{ margin-top:5px; color:var(--h2-muted)!important; font-size:16px!important; line-height:1.55!important; }
main > section.rtf-h2-section .rtf-h2-image-frame-portrait{ height:650px; clip-path:polygon(0 6%,94% 0,100% 94%,7% 100%); }
main > section.rtf-h2-section .rtf-h2-image-stamp{ position:absolute; top:25px; right:25px; width:58px; height:58px; display:grid; place-items:center; border:1px solid rgba(255,249,243,.8); border-radius:50%; color:#fff; backdrop-filter:blur(5px); }
main > section.rtf-h2-section .rtf-h2-image-stamp svg{ width:20px; fill:none; stroke:currentColor; stroke-width:1.6; }
main > section.rtf-h2-section .rtf-h2-image-frame-portrait figcaption{ right:25px; left:auto; bottom:23px; font-size:12px; letter-spacing:.08em; }

/* =========================================================
   ROOM TO FEEL — HOME 2 · SECTION 03 ONLY · LIGHT / BASE
   "What judgment-free actually means"
   APPEND to the END of assets/css/styles.css
   Everything is scoped to main > section.rtf-jf-section
   ========================================================= */

main > section.rtf-jf-section{ --jf-on:#FFF9F3; --jf-ph:#241916; --jf-ind:48px; position:relative; padding:clamp(80px,8vw,128px) 0 0; background:var(--h2-bg); }
main > section.rtf-jf-section .rtf-jf-wrap{ width:calc(100% - 40px); max-width:1440px; margin-inline:auto; }

/* ---------- tone wash behind the section (changes with the active phrase) ---------- */
main > section.rtf-jf-section .rtf-jf-wash{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
main > section.rtf-jf-section .rtf-jf-wash i{ position:absolute; inset:0; opacity:0; transition:opacity 1.2s ease; }
main > section.rtf-jf-section .rtf-jf-wash i:nth-child(1){ background:linear-gradient(180deg,transparent 30%,rgba(214,161,143,.16)); }
main > section.rtf-jf-section .rtf-jf-wash i:nth-child(2){ background:linear-gradient(180deg,transparent 30%,rgba(205,181,164,.30)); }
main > section.rtf-jf-section .rtf-jf-wash i:nth-child(3){ background:linear-gradient(180deg,transparent 30%,rgba(166,83,63,.09)); }
main > section.rtf-jf-section .rtf-jf-wash i:nth-child(4){ background:linear-gradient(180deg,transparent 30%,rgba(235,214,197,.60)); }
main > section.rtf-jf-section[data-jf-tone="0"] .rtf-jf-wash i:nth-child(1),
main > section.rtf-jf-section[data-jf-tone="1"] .rtf-jf-wash i:nth-child(2),
main > section.rtf-jf-section[data-jf-tone="2"] .rtf-jf-wash i:nth-child(3),
main > section.rtf-jf-section[data-jf-tone="3"] .rtf-jf-wash i:nth-child(4){ opacity:1; }

/* ---------- statement ---------- */
main > section.rtf-jf-section .rtf-jf-kicker{ margin:0 0 26px; color:var(--h2-brand-strong); font-size:14px; line-height:1.3; font-weight:600; letter-spacing:.08em; }
main > section.rtf-jf-section .rtf-jf-statement{ max-width:1180px; margin:0; color:var(--h2-heading); font-size:30px; line-height:1.16; font-weight:600; letter-spacing:-.035em; }
main > section.rtf-jf-section .rtf-jf-lead{ max-width:760px; margin:30px 0 0; color:var(--h2-text); font-size:18px; line-height:1.65; font-weight:500; }
main > section.rtf-jf-section .rtf-jf-em{ color:var(--h2-brand); }

/* words light up while scrolling (added by script.js) */
main > section.rtf-jf-section.is-fx .rtf-jf-w{ opacity:.22; transition:opacity .55s ease; }
main > section.rtf-jf-section .rtf-jf-w.is-on{ opacity:1; }

/* photo pills grow in between the words */
main > section.rtf-jf-section .rtf-jf-pill{ display:inline-block; vertical-align:-.17em; width:var(--w,3.4em); height:1.1em; margin-inline:.06em; overflow:hidden; border-radius:999px; background:var(--h2-border); transition:width 1.1s cubic-bezier(.2,.8,.2,1), opacity .6s ease; }
main > section.rtf-jf-section.is-fx .rtf-jf-pill{ width:0; opacity:0; margin-inline:0; }
main > section.rtf-jf-section.is-fx .rtf-jf-pill.is-on{ width:var(--w,3.4em); opacity:1; margin-inline:.06em; }
main > section.rtf-jf-section .rtf-jf-pill img{ width:100%; height:100%; object-fit:cover; object-position:var(--pos,50% 50%); transform:scale(1.2); transition:transform 1.8s cubic-bezier(.2,.8,.2,1); }
main > section.rtf-jf-section .rtf-jf-pill.is-on img{ transform:none; }

/* ---------- stage: phrases + photo ---------- */
main > section.rtf-jf-section .rtf-jf-stage{ display:grid; grid-template-columns:minmax(0,1fr); gap:22px; margin-top:48px; }
main > section.rtf-jf-section .rtf-jf-list{ margin:0; padding:0; list-style:none; display:grid; gap:4px; }

main > section.rtf-jf-section .rtf-jf-hit{ width:100%; display:flex; align-items:baseline; gap:16px; padding:12px 0; border:0; background:none; color:inherit; text-align:start; cursor:pointer; }
main > section.rtf-jf-section .rtf-jf-hit:focus-visible{ outline:2px solid var(--h2-brand); outline-offset:4px; border-radius:8px; }
main > section.rtf-jf-section .rtf-jf-no{ flex:0 0 32px; color:var(--h2-brand-strong); font-size:14px; font-weight:600; letter-spacing:.08em; transition:color .4s ease; }
main > section.rtf-jf-section .rtf-jf-title{ display:block; min-width:0; color:transparent; -webkit-text-stroke:1.2px var(--h2-muted); font-size:30px; line-height:1.06; font-weight:600; letter-spacing:-.03em; transition:color .5s ease, -webkit-text-stroke-color .5s ease, transform .6s cubic-bezier(.2,.8,.2,1); }
main > section.rtf-jf-section .rtf-jf-tw{ display:inline-block; white-space:nowrap; }
main > section.rtf-jf-section .rtf-jf-ch{ display:inline-block; }
main > section.rtf-jf-section .rtf-jf-hit:hover .rtf-jf-title{ color:var(--h2-brand); -webkit-text-stroke-color:var(--h2-brand); transform:translateX(calc(10px * var(--jf-dir,1))); }
main > section.rtf-jf-section .rtf-jf-phrase.is-active .rtf-jf-title{ color:var(--h2-heading); -webkit-text-stroke-color:var(--h2-heading); transform:translateX(calc(14px * var(--jf-dir,1))); }
main > section.rtf-jf-section .rtf-jf-phrase.is-active .rtf-jf-no{ color:var(--h2-brand); }
main > section.rtf-jf-section .rtf-jf-phrase.is-active .rtf-jf-ch{ animation:rtfJfRise .75s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(var(--k,0) * 28ms); }
@supports not (-webkit-text-stroke:1px #000){ main > section.rtf-jf-section .rtf-jf-title{ color:var(--h2-muted); } }

main > section.rtf-jf-section .rtf-jf-body{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .75s cubic-bezier(.2,.8,.2,1); }
main > section.rtf-jf-section .rtf-jf-body > div{ min-height:0; overflow:hidden; padding-inline-start:calc(var(--jf-ind) + 14px); }
main > section.rtf-jf-section .rtf-jf-phrase.is-active .rtf-jf-body{ grid-template-rows:1fr; }
main > section.rtf-jf-section .rtf-jf-body p{ margin:0; opacity:0; transform:translateY(16px); transition:opacity .35s ease, transform .35s ease; }
main > section.rtf-jf-section .rtf-jf-phrase.is-active .rtf-jf-body p{ opacity:1; transform:none; transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
main > section.rtf-jf-section .rtf-jf-phrase.is-active .rtf-jf-line{ transition-delay:.25s; }
main > section.rtf-jf-section .rtf-jf-phrase.is-active .rtf-jf-more{ transition-delay:.4s; }
main > section.rtf-jf-section .rtf-jf-line{ padding-top:4px; color:var(--h2-heading); font-size:19px; line-height:1.4; font-weight:600; }
main > section.rtf-jf-section .rtf-jf-more{ max-width:560px; padding:10px 0 22px; color:var(--h2-text); font-size:16px; line-height:1.65; font-weight:500; }

/* photo: sticky, wipes between the four images */
main > section.rtf-jf-section .rtf-jf-photo{ order:-1; position:sticky; top:86px; z-index:3; height:clamp(220px,40svh,340px); margin:0; overflow:hidden; border-radius:20px; background:var(--jf-ph); box-shadow:0 22px 55px var(--h2-shadow); }
main > section.rtf-jf-section .rtf-jf-ph{ position:absolute; inset:0; z-index:1; visibility:hidden; clip-path:inset(0 0 100% 0); transition:clip-path 1s cubic-bezier(.7,0,.2,1), visibility 0s 1s; }
main > section.rtf-jf-section .rtf-jf-ph.is-active{ z-index:2; visibility:visible; clip-path:inset(0); transition-delay:0s; }
main > section.rtf-jf-section .rtf-jf-ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--pos,50% 50%); transform:scale(1.2); transition:transform 2.4s cubic-bezier(.2,.8,.2,1); }
main > section.rtf-jf-section .rtf-jf-ph.is-active img{ transform:scale(1); }
main > section.rtf-jf-section .rtf-jf-ph::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(36,25,22,.88) 0%,rgba(36,25,22,.4) 36%,rgba(36,25,22,0) 62%); }
main > section.rtf-jf-section .rtf-jf-ph-no{ position:absolute; z-index:1; top:16px; inset-inline-start:16px; padding:6px 12px; border-radius:999px; background:rgba(36,25,22,.62); color:var(--jf-on); font-size:13px; line-height:1.2; letter-spacing:.1em; }
main > section.rtf-jf-section .rtf-jf-q{ position:absolute; z-index:1; inset-inline:18px; bottom:18px; margin:0; color:var(--jf-on); font-size:17px; line-height:1.35; font-weight:600; opacity:0; transform:translateY(14px); transition:opacity .3s ease, transform .3s ease; }
main > section.rtf-jf-section .rtf-jf-ph.is-active .rtf-jf-q{ opacity:1; transform:none; transition:opacity .8s ease .55s, transform .8s cubic-bezier(.2,.8,.2,1) .55s; }

/* ---------- closing line + marquee ---------- */
main > section.rtf-jf-section .rtf-jf-close{ margin-top:clamp(64px,9vw,140px); text-align:center; }
main > section.rtf-jf-section .rtf-jf-closing{ max-width:980px; margin:0 auto; color:var(--h2-heading); font-size:28px; line-height:1.18; font-weight:600; letter-spacing:-.03em; }
main > section.rtf-jf-section .rtf-jf-closing-sub{ max-width:620px; margin:24px auto 0; color:var(--h2-text); font-size:18px; line-height:1.65; font-weight:500; padding-bottom: 50px;}
main > section.rtf-jf-section .rtf-jf-marquee{ margin-top:clamp(48px,7vw,96px); padding-bottom:clamp(36px,5vw,72px); overflow:hidden; white-space:nowrap; }
main > section.rtf-jf-section .rtf-jf-track{ display:flex; width:max-content; animation:rtfJfMarq 42s linear infinite; }
main > section.rtf-jf-section .rtf-jf-marquee:hover .rtf-jf-track{ animation-play-state:paused; }
main > section.rtf-jf-section .rtf-jf-grp{ display:flex; flex:none; }
main > section.rtf-jf-section .rtf-jf-grp span{ padding-inline-end:.45em; color:var(--h2-heading); font-size:clamp(56px,11vw,168px); line-height:1.12; font-weight:600; letter-spacing:-.04em; }
main > section.rtf-jf-section .rtf-jf-grp .o{ color:transparent; -webkit-text-stroke:1.5px var(--h2-brand); }

@keyframes rtfJfRise{ from{ opacity:0; transform:translateY(.5em); } to{ opacity:1; transform:none; } }
@keyframes rtfJfMarq{ to{ transform:translateX(-50%); } }

@media (prefers-reduced-motion:reduce){
    main > section.rtf-jf-section *, main > section.rtf-jf-section *::before, main > section.rtf-jf-section *::after{ animation:none !important; transition-duration:.01ms !important; transition-delay:0s !important; }
}

/* ---------- responsive ---------- */
@media (min-width:360px){ main > section.rtf-jf-section .rtf-jf-statement{ font-size:32px; } main > section.rtf-jf-section .rtf-jf-title{ font-size:32px; } }
@media (min-width:390px){ main > section.rtf-jf-section .rtf-jf-statement{ font-size:36px; } main > section.rtf-jf-section .rtf-jf-title{ font-size:34px; } main > section.rtf-jf-section .rtf-jf-closing{ font-size:32px; } main > section.rtf-jf-section .rtf-jf-photo{ height:clamp(240px,40svh,380px); } }

/* tablet */
@media (min-width:768px){
    main > section.rtf-jf-section .rtf-jf-wrap{ width:calc(100% - 64px); }
    main > section.rtf-jf-section .rtf-jf-statement{ font-size:48px; }
    main > section.rtf-jf-section .rtf-jf-lead{ font-size:19px; }
    main > section.rtf-jf-section .rtf-jf-title{ font-size:56px; }
    main > section.rtf-jf-section .rtf-jf-no{ font-size:15px; }
    main > section.rtf-jf-section .rtf-jf-line{ font-size:21px; }
    main > section.rtf-jf-section .rtf-jf-more{ font-size:17px; }
    main > section.rtf-jf-section .rtf-jf-photo{ height:clamp(300px,46svh,440px); }
    main > section.rtf-jf-section .rtf-jf-q{ font-size:20px; inset-inline:24px; bottom:22px; }
    main > section.rtf-jf-section .rtf-jf-closing{ font-size:40px; }
}

/* laptop: phrases on the left, big sticky photo on the right */
@media (min-width:1024px){
    main > section.rtf-jf-section .rtf-jf-wrap{ width:calc(100% - 112px); }
    main > section.rtf-jf-section .rtf-jf-statement{ font-size:54px; }
    main > section.rtf-jf-section .rtf-jf-lead{ font-size:20px; }
    main > section.rtf-jf-section .rtf-jf-stage{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:64px; margin-top:64px; align-items:stretch; }
    main > section.rtf-jf-section .rtf-jf-list{ align-content:space-between; }
    main > section.rtf-jf-section .rtf-jf-photo{ order:0; position:relative; top:auto; height:auto; min-height:clamp(520px,74svh,700px); border-radius:24px; }
    main > section.rtf-jf-section .rtf-jf-title{ font-size:48px; }
    main > section.rtf-jf-section .rtf-jf-hit{ padding:14px 0; }
    main > section.rtf-jf-section .rtf-jf-ph-no{ top:22px; inset-inline-start:22px; }
    main > section.rtf-jf-section .rtf-jf-q{ font-size:22px; inset-inline:28px; bottom:28px; }
    main > section.rtf-jf-section .rtf-jf-closing{ font-size:46px; }
}
/* laptop-L */
@media (min-width:1280px){
    main > section.rtf-jf-section .rtf-jf-statement{ font-size:60px; }
    main > section.rtf-jf-section .rtf-jf-title{ font-size:56px; }
    main > section.rtf-jf-section .rtf-jf-stage{ gap:84px; }
    main > section.rtf-jf-section .rtf-jf-closing{ font-size:52px; }
}
@media (min-width:1440px){
    main > section.rtf-jf-section .rtf-jf-statement{ font-size:64px; }
    main > section.rtf-jf-section .rtf-jf-title{ font-size:60px; }
    main > section.rtf-jf-section .rtf-jf-closing{ font-size:56px; }
}

main > section.rtf-h2-way{ background:var(--h2-brand-strong); color:var(--h2-white); }
main > section.rtf-h2-way .rtf-h2-kicker,
main > section.rtf-h2-way .rtf-h2-way-intro h2,
main > section.rtf-h2-way .rtf-h2-way-intro p,
main > section.rtf-h2-way .rtf-h2-way-marker{ color:var(--h2-white); }
main > section.rtf-h2-way .rtf-h2-kicker::before{ background:var(--h2-soft); }
main > section.rtf-h2-way .rtf-h2-way-grid{ display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); gap:clamp(60px,9vw,140px); }
main > section.rtf-h2-way .rtf-h2-way-intro{ position:sticky; top:100px; align-self:start; padding-bottom:80px; }
main > section.rtf-h2-way .rtf-h2-way-intro h2{ font-size:52px; max-width:560px; }
main > section.rtf-h2-way .rtf-h2-way-intro p{ margin-top:25px; max-width:500px; opacity:.86; }
main > section.rtf-h2-way .rtf-h2-way-marker{ display:flex; align-items:center; gap:11px; margin-top:38px; font-size:14px; font-weight:600; opacity:.82; }
main > section.rtf-h2-way .rtf-h2-way-marker span{ width:8px; height:8px; border:1px solid var(--h2-soft); border-radius:50%; animation:rtfH2Pulse 1.8s infinite; }
main > section.rtf-h2-section .rtf-h2-steps{ position:relative; padding:20px 0 10px 80px; }
main > section.rtf-h2-section .rtf-h2-step-track{ position:absolute; top:20px; bottom:20px; left: 24px; width:2px; background:rgba(245,233,220,.25); overflow:hidden; }
main > section.rtf-h2-section .rtf-h2-step-track span{ display:block; width:100%; height:0; background:var(--h2-soft); transition:height .35s ease; }
main > section.rtf-h2-section .rtf-h2-step{ position:relative; min-height:220px; padding:4px 0 70px; opacity:.42; transition:opacity .45s ease, transform .45s ease; }
main > section.rtf-h2-section .rtf-h2-step.is-active{ opacity:1; transform:none; }
main > section.rtf-h2-section .rtf-h2-step-content{ transition:transform .45s ease; }
main > section.rtf-h2-section .rtf-h2-step.is-active .rtf-h2-step-content{ transform:translateX(7px); }
main > section.rtf-h2-section .rtf-h2-step-number{ position:absolute; left:-80px; top:0; color:var(--h2-soft); font-size:14px; font-weight:600; }
main > section.rtf-h2-section .rtf-h2-step-node{ position:absolute; left:-64px; top:1px; width:18px; height:18px; border:1px solid rgba(245,233,220,.65); border-radius:50%; background:var(--h2-brand-strong); transition:transform .4s ease, background .4s ease, border-color .4s ease; }
main > section.rtf-h2-section .rtf-h2-step.is-active .rtf-h2-step-node{ transform:scale(1.35); background:var(--h2-soft); border-color:var(--h2-soft); box-shadow:0 0 0 8px rgba(214,161,143,.12); }
main > section.rtf-h2-section .rtf-h2-step-label{ display:block; color:var(--h2-soft); font-size:14px; font-weight:600; letter-spacing:.1em; }
main > section.rtf-h2-section .rtf-h2-step-content h3{ margin-top:9px; color:var(--h2-white); font-size:30px; line-height:1.25; font-weight:600; max-width:650px; }
main > section.rtf-h2-section .rtf-h2-step-content p{ margin-top:12px; color:rgba(245,233,220,.82)!important; max-width:620px; }

main > section.rtf-h2-resources{ background:var(--h2-surface); }
main > section.rtf-h2-section .rtf-h2-resource-head{ display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:end; }
main > section.rtf-h2-section .rtf-h2-resource-head h2{ font-size:52px; max-width:680px; }
main > section.rtf-h2-section .rtf-h2-resource-head > p{ max-width:480px; margin-bottom:4px; }
main > section.rtf-h2-resources
.rtf-h2-resource-layout {
    display: grid;
    grid-template-columns:
        minmax(0, .9fr)
        minmax(0, 1.1fr);
    gap: clamp(40px, 6vw, 90px);
    margin-top: 58px;
    align-items: stretch;
}
/* =========================================================
   HOME 2 — SECTION 05
   BETWEEN THE CONVERSATIONS
   NORMAL PROFESSIONAL IMAGE
   ========================================================= */

main > section.rtf-h2-resources
.rtf-h2-resource-image {
    margin: 0;
    width: 100%;
    height: 100%;
    min-height: 450px;
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    clip-path: none;
    align-self: stretch;
    background: var(--h2-border);
}

main > section.rtf-h2-resources
.rtf-h2-resource-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 450px;
    object-fit: cover;
    object-position: center;
}

main > section.rtf-h2-resources
.rtf-h2-resource-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            transparent 48%,
            rgba(48, 36, 33, .52) 100%
        );
    pointer-events: none;
}

main > section.rtf-h2-resources
.rtf-h2-resource-image figcaption {
    position: absolute;
    z-index: 2;
    left: 24px;
    right: 24px;
    bottom: 22px;
    margin: 0;
    color: #fff;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;
}
main > section.rtf-h2-section .rtf-h2-resource-image::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(48,36,33,.48)); }
main > section.rtf-h2-section .rtf-h2-resource-image figcaption{ position:absolute; z-index:1; left:25px; bottom:24px; color:#fff; font-size:15px; font-weight:600; }
main > section.rtf-h2-section .rtf-h2-resource-list{ border-top:1px solid var(--h2-border); }
main > section.rtf-h2-section .rtf-h2-resource-item{ width:100%; min-height:150px; display:grid; grid-template-columns:48px 1fr auto; gap:22px; align-items:center; border:0; border-bottom:1px solid var(--h2-border); background:transparent; text-align:left; color:var(--h2-text); cursor:pointer; transition:padding .4s ease, background .4s ease; }
main > section.rtf-h2-section .rtf-h2-resource-item:hover,
main > section.rtf-h2-section .rtf-h2-resource-item.is-active{ padding-inline:20px; background:rgba(245,233,220,.65); }
main > section.rtf-h2-section .rtf-h2-resource-icon{ width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--h2-brand); border-radius:50%; color:var(--h2-brand); }
main > section.rtf-h2-section .rtf-h2-resource-icon svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
main > section.rtf-h2-section .rtf-h2-resource-copy{ display:flex; flex-direction:column; gap:5px; }
main > section.rtf-h2-section .rtf-h2-resource-copy small{ color:var(--h2-brand-strong); font-size:12px; font-weight:600; letter-spacing:.1em; }
main > section.rtf-h2-section .rtf-h2-resource-copy strong{ color:var(--h2-heading); font-size:21px; line-height:1.3; font-weight:600; }
main > section.rtf-h2-section .rtf-h2-resource-copy em{ color:var(--h2-muted); font-size:15px; line-height:1.5; font-style:normal; }
main > section.rtf-h2-section .rtf-h2-arrow{ color:var(--h2-brand); font-size:27px; transition:transform .35s ease; }
main > section.rtf-h2-section .rtf-h2-resource-item:hover .rtf-h2-arrow{ transform:translate(4px,-4px); }
main > section.rtf-h2-section .rtf-h2-wave{ width:55px; height:30px; display:flex; align-items:center; justify-content:center; gap:3px; }
main > section.rtf-h2-section .rtf-h2-wave i{ width:2px; height:9px; background:var(--h2-brand); animation:rtfH2Wave 1s ease-in-out infinite; }
main > section.rtf-h2-section .rtf-h2-wave i:nth-child(2){animation-delay:.12s}main > section.rtf-h2-section .rtf-h2-wave i:nth-child(3){animation-delay:.24s}main > section.rtf-h2-section .rtf-h2-wave i:nth-child(4){animation-delay:.36s}main > section.rtf-h2-section .rtf-h2-wave i:nth-child(5){animation-delay:.48s}

/* =========================================================
   ROOM TO FEEL — HOME 2
   SECTION 06 ONLY
   YOU'RE NOT THE ONLY ONE
   ========================================================= */


/* ---------- SECTION ROOT ---------- */

main > section.rtf-h2-voices {

    --voices-card-width: clamp(
        310px,
        27vw,
        405px
    );

    --voices-card-gap: clamp(
        16px,
        1.6vw,
        24px
    );

    --voices-card-radius: 20px;

    position: relative;

    background:
        var(--h2-bg);

    padding-bottom:
        clamp(90px, 9vw, 125px);

    overflow: hidden;

    isolation: isolate;
}


/* ---------- LARGE BACKGROUND QUOTE ---------- */

main > section.rtf-h2-voices::before {

    content: "“";

    position: absolute;

    z-index: -1;

    top: 120px;

    left: 50%;

    transform:
        translateX(-50%);

    font-size:
        clamp(240px, 32vw, 500px);

    line-height: .7;

    font-weight: 600;

    color:
        rgba(166, 83, 63, .055);

    pointer-events: none;

    user-select: none;
}


/* ---------- HEADER ---------- */

main > section.rtf-h2-voices
.rtf-h2-voices-top {

    position: relative;

    z-index: 2;

    width: min(
        100%,
        930px
    );

    margin-inline: auto;

    text-align: center;
}


main > section.rtf-h2-voices
.rtf-h2-voices-top
.rtf-h2-kicker {

    justify-content: center;
}


main > section.rtf-h2-voices
.rtf-h2-voices-top h2 {

    margin-top: 20px;

    font-size:
        clamp(36px, 4vw, 52px);

    line-height: 1.08;

    letter-spacing: -.035em;

    color:
        var(--h2-heading);
}


main > section.rtf-h2-voices
.rtf-h2-voices-top p {

    max-width: 720px;

    margin:
        20px auto 0;

    color:
        var(--h2-muted);

    font-size: 16px;

    line-height: 1.65;
}


/* =========================================================
   MARQUEE VIEWPORT
   ========================================================= */

main > section.rtf-h2-voices
.rtf-h2-voices-marquee {

    position: relative;

    width: 100%;

    margin-top:
        clamp(48px, 5vw, 68px);

    overflow: hidden;

    direction: ltr;

    padding:
        18px 0 35px;

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 5%,
            #000 95%,
            transparent 100%
        );

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 5%,
            #000 95%,
            transparent 100%
        );
}


/* =========================================================
   MARQUEE TRACK
   ========================================================= */

main > section.rtf-h2-voices
.rtf-h2-voices-track {

    display: flex;

    width: max-content;

    align-items: flex-start;

    animation:
        rtfH2VoicesMove
        38s
        linear
        infinite;

    will-change:
        transform;

    transform:
        translate3d(0, 0, 0);
}


/* =========================================================
   EACH DUPLICATED SET
   ========================================================= */

main > section.rtf-h2-voices
.rtf-h2-voices-set {

    display: flex;

    align-items: flex-start;
     padding-right:
        var(--voices-card-gap); 

    gap:
        var(--voices-card-gap);

    flex: 0 0 auto;
}


/* =========================================================
   TESTIMONIAL CARD
   ========================================================= */

main > section.rtf-h2-voices
.rtf-h2-testimonial {

    position: relative;

    flex:
        0 0 var(--voices-card-width);

    width:
        var(--voices-card-width);

    min-height:
        370px;

    margin: 0;

    padding:
        30px 30px 25px;

    display: flex;

    flex-direction: column;

    border:
        1px solid var(--h2-border);

    border-radius:
        var(--voices-card-radius);

    background:
        var(--h2-surface);

    box-shadow:
        0 18px 45px
        rgba(74, 44, 38, .075);

    overflow: hidden;

    transition:
        transform .5s
        cubic-bezier(.2,.8,.2,1),

        border-color .35s ease,

        background .35s ease,

        box-shadow .35s ease;
}


/* Slight variation without making the row messy */

main > section.rtf-h2-voices
.rtf-h2-testimonial-tall {

    min-height:
        405px;

    transform:
        translateY(22px);
}


/* ---------- HOVER ---------- */

main > section.rtf-h2-voices
.rtf-h2-testimonial:hover {

    transform:
        translateY(-10px);

    border-color:
        var(--h2-brand);

    background:
        var(--h2-white);

    box-shadow:
        0 28px 60px
        rgba(74, 44, 38, .13);

    z-index: 4;
}


main > section.rtf-h2-voices
.rtf-h2-testimonial-tall:hover {

    transform:
        translateY(8px);
}


/* =========================================================
   LARGE QUOTE MARK
   ========================================================= */

main > section.rtf-h2-voices
.rtf-h2-testimonial-quote {

    position: absolute;

    top: 15px;

    right: 22px;

    color:
        var(--h2-brand);

    font-size:
        60px;

    line-height: .8;

    font-weight: 600;

    opacity: .9;

    pointer-events: none;
}


/* =========================================================
   PERSON
   ========================================================= */

main > section.rtf-h2-voices
.rtf-h2-testimonial-person {

    display: flex;

    align-items: center;

    gap: 14px;

    padding-right: 42px;
}


main > section.rtf-h2-voices
.rtf-h2-testimonial-avatar {

    flex:
        0 0 62px;

    width: 62px;

    height: 62px;

    overflow: hidden;

    border-radius: 50%;

    border:
        2px solid var(--h2-bg);

    background:
        var(--h2-border);

    box-shadow:
        0 4px 15px
        rgba(74, 44, 38, .10);

    transition:
        transform .4s
        cubic-bezier(.2,.8,.2,1);
}


main > section.rtf-h2-voices
.rtf-h2-testimonial-avatar img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

    transition:
        transform .5s
        cubic-bezier(.2,.8,.2,1);
}


main > section.rtf-h2-voices
.rtf-h2-testimonial:hover
.rtf-h2-testimonial-avatar {

    transform:
        scale(1.05);
}


main > section.rtf-h2-voices
.rtf-h2-testimonial:hover
.rtf-h2-testimonial-avatar img {

    transform:
        scale(1.08);
}


/* ---------- PERSON TEXT ---------- */

main > section.rtf-h2-voices
.rtf-h2-testimonial-person-info {

    min-width: 0;

    display: flex;

    flex-direction: column;

    gap: 4px;
}


main > section.rtf-h2-voices
.rtf-h2-testimonial-person-info strong {

    color:
        var(--h2-heading);

    font-size:
        18px;

    line-height: 1.25;

    font-weight: 600;
}


main > section.rtf-h2-voices
.rtf-h2-testimonial-person-info span {

    color:
        var(--h2-muted);

    font-size:
        13px;

    line-height: 1.35;

    font-weight: 500;
}


/* =========================================================
   RATING
   ========================================================= */

main > section.rtf-h2-voices
.rtf-h2-testimonial-rating {

    display: flex;

    align-items: center;

    gap: 3px;

    margin-top: 23px;
}


main > section.rtf-h2-voices
.rtf-h2-testimonial-rating svg {

    width: 16px;

    height: 16px;

    display: block;

    fill:
        var(--h2-brand);
}


main > section.rtf-h2-voices
.rtf-h2-testimonial-rating > span {

    color:
        var(--h2-brand);

    font-size:
        15px;

    line-height: 1;

    letter-spacing:
        2px;

    font-weight: 600;
}


/* =========================================================
   TESTIMONIAL TEXT
   ========================================================= */

main > section.rtf-h2-voices
.rtf-h2-testimonial-text {

    max-width: 330px;

    margin:
        22px 0 0;

    color:
        var(--h2-heading);

    font-size:
        19px;

    line-height:
        1.55;

    font-weight:
        500;
}


/* =========================================================
   FOOTER / METADATA
   ========================================================= */

main > section.rtf-h2-voices
.rtf-h2-testimonial-footer {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 8px;

    margin-top: auto;

    padding-top: 18px;

    border-top:
        1px solid var(--h2-border);

    color:
        var(--h2-muted);

    font-size:
        12px;

    line-height: 1.4;

    font-weight: 500;
}


main > section.rtf-h2-voices
.rtf-h2-testimonial-dot {

    width: 4px;

    height: 4px;

    flex: 0 0 4px;

    border-radius: 50%;

    background:
        var(--h2-brand);
}


/* =========================================================
   MARQUEE ANIMATION
   ========================================================= */

@keyframes rtfH2VoicesMove {

    from {
        transform:
            translate3d(0, 0, 0);
    }

    to {
        transform:
            translate3d(-50%, 0, 0);
    }
}


/* =========================================================
   LAPTOP-L
   1280–1439px
   ========================================================= */

@media
(min-width: 1280px)
and (max-width: 1439px) {

    main > section.rtf-h2-voices
    .rtf-h2-testimonial {

        --voices-card-width: 370px;

        min-height:
            355px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-tall {

        min-height:
            385px;
    }
}


/* =========================================================
   LAPTOP
   1024–1279px
   ========================================================= */

@media
(min-width: 1024px)
and (max-width: 1279px) {

    main > section.rtf-h2-voices
    .rtf-h2-voices-top h2 {

        font-size:
            44px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial {

        --voices-card-width: 350px;

        min-height:
            345px;

        padding:
            27px 27px 23px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-tall {

        min-height:
            375px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-text {

        font-size:
            18px;
    }
}


/* =========================================================
   TABLET
   768–1023px
   ========================================================= */

@media
(min-width: 768px)
and (max-width: 1023px) {

    main > section.rtf-h2-voices {

        padding-bottom:
            85px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-voices-top {

        width:
            min(100%, 760px);
    }

    main > section.rtf-h2-voices
    .rtf-h2-voices-top h2 {

        font-size:
            36px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial {

        --voices-card-width: 320px;

        min-height:
            335px;

        padding:
            25px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-tall {

        min-height:
            360px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-avatar {

        width: 56px;

        height: 56px;

        flex-basis: 56px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-text {

        font-size:
            17px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-voices-track {

        animation-duration:
            34s;
    }
}


/* =========================================================
   MOBILE-L / MOBILE-M
   360–767px
   ========================================================= */

@media
(max-width: 767px) {

    main > section.rtf-h2-voices {

        padding-bottom:
            70px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-voices-top {

        width:
            min(100%, 100%);

        text-align:
            center;
    }

    main > section.rtf-h2-voices
    .rtf-h2-voices-top h2 {

        font-size:
            30px;

        line-height:
            1.12;
    }

    main > section.rtf-h2-voices
    .rtf-h2-voices-top p {

        font-size:
            15px;

        line-height:
            1.6;
    }

    main > section.rtf-h2-voices
    .rtf-h2-voices-marquee {

        margin-top:
            36px;

        padding:
            15px 0 30px;

        mask-image:
            linear-gradient(
                90deg,
                transparent 0%,
                #000 3%,
                #000 97%,
                transparent 100%
            );

        -webkit-mask-image:
            linear-gradient(
                90deg,
                transparent 0%,
                #000 3%,
                #000 97%,
                transparent 100%
            );
    }

    main > section.rtf-h2-voices
    .rtf-h2-voices-track {

        animation-duration:
            30s;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial {

        --voices-card-width:
            min(82vw, 345px);

        min-height:
            330px;

        padding:
            24px 23px 21px;

        border-radius:
            17px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-tall {

        min-height:
            350px;

        transform:
            translateY(15px);
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial:hover {

        transform:
            translateY(-5px);
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-tall:hover {

        transform:
            translateY(8px);
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-avatar {

        width:
            52px;

        height:
            52px;

        flex-basis:
            52px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-person {

        gap:
            11px;

        padding-right:
            35px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-person-info strong {

        font-size:
            17px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-person-info span {

        font-size:
            12px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-rating {

        margin-top:
            18px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-rating svg {

        width:
            14px;

        height:
            14px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-rating > span {

        font-size:
            14px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-text {

        font-size:
            17px;

        line-height:
            1.55;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-quote {

        top:
            13px;

        right:
            17px;

        font-size:
            50px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-footer {

        font-size:
            11px;
    }
}


/* =========================================================
   MOBILE-S
   <=359px
   ========================================================= */

@media
(max-width: 359px) {

    main > section.rtf-h2-voices
    .rtf-h2-voices-top h2 {

        font-size:
            28px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-voices-top p {

        font-size:
            14px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial {

        --voices-card-width:
            285px;

        min-height:
            320px;

        padding:
            22px 20px 19px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-tall {

        min-height:
            340px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-text {

        font-size:
            16px;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial-avatar {

        width:
            48px;

        height:
            48px;

        flex-basis:
            48px;
    }
}


/* =========================================================
   REDUCED MOTION — SECTION 06
   ========================================================= */

@media
(prefers-reduced-motion: reduce) {

    main > section.rtf-h2-voices
    .rtf-h2-voices-track {

        animation:
            none !important;

        transform:
            none !important;
    }

    main > section.rtf-h2-voices
    .rtf-h2-testimonial,
    main > section.rtf-h2-voices
    .rtf-h2-testimonial-avatar,
    main > section.rtf-h2-voices
    .rtf-h2-testimonial-avatar img {

        transition:
            none !important;
    }
}

main > section.rtf-h2-questions{ background:var(--h2-surface); }
main > section.rtf-h2-section .rtf-h2-question-head{ max-width:940px; text-align:center; }
main > section.rtf-h2-section .rtf-h2-question-head .rtf-h2-kicker{ justify-content:center; }
main > section.rtf-h2-section .rtf-h2-question-head h2{ font-size:52px; }
main > section.rtf-h2-section .rtf-h2-question-head p{ margin:20px auto 0; max-width:620px; }
main > section.rtf-h2-section .rtf-h2-zigzag{ position:relative; min-height:850px; margin-top:45px; }
main > section.rtf-h2-section .rtf-h2-zigzag-image{ position:absolute; z-index:0; left:50%; top:8%; width:300px; height:610px; transform:translateX(-50%) rotate(2deg); clip-path:polygon(7% 0,100% 6%,94% 100%,0 94%); opacity:.72; overflow:hidden; box-shadow:0 25px 55px var(--h2-shadow); }
main > section.rtf-h2-section .rtf-h2-zigzag-image::after{ content:""; position:absolute; inset:0; background:rgba(125,56,46,.18); mix-blend-mode:multiply; }
main > section.rtf-h2-section .rtf-h2-zigzag-image span{ position:absolute; inset:12px; border:1px solid rgba(255,249,243,.75); z-index:1; }
main > section.rtf-h2-section .rtf-h2-zig-line{ position:absolute; z-index:1; left:50%; top:4%; bottom:4%; width:1px; transform:translateX(-50%); background:var(--h2-border); overflow:hidden; }
main > section.rtf-h2-section .rtf-h2-zig-line span{ display:block; width:100%; height:0; background:var(--h2-brand); transition:height .45s ease; }
main > section.rtf-h2-section .rtf-h2-question-node{ position:absolute; z-index:2; width:min(390px,42%); border:0; background:transparent; text-align:left; cursor:pointer; padding:18px 0; color:var(--h2-muted); transition:opacity .4s ease, transform .5s cubic-bezier(.2,.8,.2,1), color .35s ease; }
main > section.rtf-h2-section .rtf-h2-zig-left{ left:2%; }main > section.rtf-h2-section .rtf-h2-zig-right{ right:2%; text-align:right; }
main > section.rtf-h2-section .rtf-h2-question-node::before{ content:""; position:absolute; top:35px; width:62px; height:1px; background:var(--h2-border); }
main > section.rtf-h2-section .rtf-h2-zig-left::before{ right:-62px; }main > section.rtf-h2-section .rtf-h2-zig-right::before{ left:-62px; }
main > section.rtf-h2-section .rtf-h2-question-node[data-question="0"]{top:2%}main > section.rtf-h2-section .rtf-h2-question-node[data-question="1"]{top:27%}main > section.rtf-h2-section .rtf-h2-question-node[data-question="2"]{top:52%}main > section.rtf-h2-section .rtf-h2-question-node[data-question="3"]{top:77%}
main > section.rtf-h2-section .rtf-h2-question-node.is-active{ color:var(--h2-heading); }
main > section.rtf-h2-section .rtf-h2-question-no{ display:block; margin-bottom:9px; color:var(--h2-brand); font-size:13px; font-weight:600; letter-spacing:.08em; }
main > section.rtf-h2-section .rtf-h2-question-node strong{ display:block; font-size:25px; line-height:1.3; font-weight:600; }
main > section.rtf-h2-section .rtf-h2-question-node em{ display:block; margin-top:8px; color:var(--h2-muted); font-size:15px; line-height:1.5; font-style:normal; opacity:0; transform:translateY(8px); transition:opacity .35s ease, transform .35s ease; }
main > section.rtf-h2-section .rtf-h2-question-node.is-active em{ opacity:1; transform:none; }
main > section.rtf-h2-section .rtf-h2-question-node.is-active::before{ background:var(--h2-brand); }
main > section.rtf-h2-section .rtf-h2-question-answer{ display:flex; align-items:center; justify-content:center; gap:20px; max-width:850px; padding:20px 0 0; border-top:1px solid var(--h2-brand); }
main > section.rtf-h2-section .rtf-h2-question-answer span{ color:var(--h2-brand); font-size:14px; font-weight:600; }
main > section.rtf-h2-section .rtf-h2-question-answer p{ margin:0; color:var(--h2-heading); }

main > section.rtf-h2-start{ background:var(--h2-bg); padding-bottom:145px; }
main > section.rtf-h2-start .rtf-h2-start-grid{ display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(50px,8vw,125px); align-items:center; }
main > section.rtf-h2-start .rtf-h2-start-image{ height:650px; margin:0; position:relative; overflow:hidden; clip-path:polygon(0 5%,92% 0,100% 93%,7% 100%); }
main > section.rtf-h2-start .rtf-h2-start-image img{ object-position:center 48%; }
main > section.rtf-h2-start .rtf-h2-start-ring{ position:absolute; width:130px; height:130px; right:35px; bottom:35px; border:1px solid rgba(255,249,243,.85); border-radius:50%; animation:rtfH2Float 5s ease-in-out infinite; }
main > section.rtf-h2-start .rtf-h2-start-ring::after{ content:""; position:absolute; inset:14px; border:1px solid rgba(255,249,243,.55); border-radius:50%; }
main > section.rtf-h2-start .rtf-h2-start-copy h2{ font-size:64px; }
main > section.rtf-h2-start .rtf-h2-start-copy > p{ margin-top:22px; max-width:650px; }
main > section.rtf-h2-section .rtf-h2-pathways{ margin-top:35px; border-top:1px solid var(--h2-border); }
main > section.rtf-h2-section .rtf-h2-pathway{ width:100%; display:grid; grid-template-columns:38px 1fr auto 25px; gap:15px; align-items:center; padding:18px 0; border:0; border-bottom:1px solid var(--h2-border); background:transparent; text-align:left; color:var(--h2-muted); cursor:pointer; transition:padding .35s ease, color .35s ease, background .35s ease; }
main > section.rtf-h2-section .rtf-h2-pathway span{ color:var(--h2-brand); font-size:13px; font-weight:600; }
main > section.rtf-h2-section .rtf-h2-pathway strong{ color:var(--h2-heading); font-size:17px; font-weight:600; }
main > section.rtf-h2-section .rtf-h2-pathway em{ color:var(--h2-muted); font-size:15px; font-style:normal; }
main > section.rtf-h2-section .rtf-h2-pathway b{ color:var(--h2-brand); font-size:22px; font-weight:500; }
main > section.rtf-h2-section .rtf-h2-pathway:hover,
main > section.rtf-h2-section .rtf-h2-pathway.is-active{ padding-inline:15px; background:var(--h2-surface); }
main > section.rtf-h2-section .rtf-h2-main-cta{ width:max-content; min-height:52px; display:inline-flex; align-items:center; gap:14px; margin-top:31px; padding:0 24px; background:var(--h2-brand); color:#fff9f3; text-decoration:none; font-size:16px; font-weight:500; transition:background .3s ease, transform .3s ease; }
main > section.rtf-h2-section .rtf-h2-main-cta:hover{ background:var(--h2-brand-strong); transform:translateY(-3px); }
main > section.rtf-h2-section .rtf-h2-main-cta svg{ width:18px; fill:none; stroke:currentColor; stroke-width:1.7; transition:transform .3s ease; }
main > section.rtf-h2-section .rtf-h2-main-cta:hover svg{ transform:translateX(4px); }

@keyframes rtfH2Pulse { 0%,100%{transform:scale(.85);opacity:.5} 50%{transform:scale(1.15);opacity:1} }
@keyframes rtfH2Orbit { to{transform:rotate(360deg)} }
@keyframes rtfH2OrbitReverse { to{transform:rotate(-360deg)} }
@keyframes rtfH2Wave { 0%,100%{height:8px} 50%{height:25px} }
@keyframes rtfH2Marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes rtfH2Float { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-12px) rotate(4deg)} }

@media (min-width:1440px) {
    main > section.rtf-h2-section .rtf-h2-wrap{ width:min(1500px,calc(100% - 140px)); }
    main > section.rtf-h2-section .rtf-h2-section-intro h2{ font-size:48px; }
    main > section.rtf-h2-section .rtf-h2-call-content h2,main > section.rtf-h2-judgment .rtf-h2-judgment-copy h2,main > section.rtf-h2-way .rtf-h2-way-intro h2,main > section.rtf-h2-section .rtf-h2-resource-head h2,main > section.rtf-h2-voices .rtf-h2-voices-top h2,main > section.rtf-h2-section .rtf-h2-question-head h2{ font-size:56px; }
}
@media (min-width:1280px) and (max-width:1439px) {
    main > section.rtf-h2-section .rtf-h2-wrap{ width:calc(100% - 88px); }
}
@media (min-width:1024px) and (max-width:1279px) {
    main > section.rtf-h2-section .rtf-h2-wrap{ width:calc(100% - 64px); }
    main > section.rtf-h2-section{ padding-block:92px; }
    main > section.rtf-h2-section .rtf-h2-section-intro h2,main > section.rtf-h2-section .rtf-h2-call-content h2,main > section.rtf-h2-judgment .rtf-h2-judgment-copy h2,main > section.rtf-h2-way .rtf-h2-way-intro h2,main > section.rtf-h2-section .rtf-h2-resource-head h2,main > section.rtf-h2-voices .rtf-h2-voices-top h2,main > section.rtf-h2-section .rtf-h2-question-head h2{ font-size:44px; }
    main > section.rtf-h2-section .rtf-h2-call-grid,main > section.rtf-h2-judgment .rtf-h2-judgment-grid,main > section.rtf-h2-start .rtf-h2-start-grid{ gap:55px; }
    main > section.rtf-h2-section .rtf-h2-image-frame-tall,main > section.rtf-h2-section .rtf-h2-image-frame-portrait,main > section.rtf-h2-start .rtf-h2-start-image{ height:560px; min-height:560px; }
    main > section.rtf-h2-way .rtf-h2-way-grid{ gap:60px; }
    main > section.rtf-h2-section .rtf-h2-step-content h3{ font-size:27px; }
    main > section.rtf-h2-section .rtf-h2-zigzag{ min-height:790px; }
}
@media (min-width:768px) and (max-width:1023px) {
    main > section.rtf-h2-section .rtf-h2-wrap{ width:calc(100% - 48px); }
    main > section.rtf-h2-section{ padding-block:78px; }
    main > section.rtf-h2-section .rtf-h2-section-intro h2,main > section.rtf-h2-section .rtf-h2-call-content h2,main > section.rtf-h2-judgment .rtf-h2-judgment-copy h2,main > section.rtf-h2-way .rtf-h2-way-intro h2,main > section.rtf-h2-section .rtf-h2-resource-head h2,main > section.rtf-h2-voices .rtf-h2-voices-top h2,main > section.rtf-h2-section .rtf-h2-question-head h2{ font-size:36px; }
    main > section.rtf-h2-feelings{ min-height:650px; }
    main > section.rtf-h2-feelings .rtf-h2-feelings-grid,main > section.rtf-h2-section .rtf-h2-call-grid,main > section.rtf-h2-judgment .rtf-h2-judgment-grid,main > section.rtf-h2-start .rtf-h2-start-grid{ grid-template-columns:1fr 1fr; gap:34px; }
    main > section.rtf-h2-section .rtf-h2-constellation{ min-height:480px; }
    main > section.rtf-h2-section .rtf-h2-call-content h2,main > section.rtf-h2-judgment .rtf-h2-judgment-copy h2{ font-size:39px; }
    main > section.rtf-h2-section .rtf-h2-image-frame-tall,main > section.rtf-h2-section .rtf-h2-image-frame-portrait,main > section.rtf-h2-start .rtf-h2-start-image{ height:520px; min-height:520px; }
    main > section.rtf-h2-way .rtf-h2-way-grid{ grid-template-columns:.75fr 1.25fr; gap:38px; }
    main > section.rtf-h2-way .rtf-h2-way-intro h2{ font-size:39px; }
    main > section.rtf-h2-section .rtf-h2-step-content h3{ font-size:24px; }
    main > section.rtf-h2-section .rtf-h2-resource-head{ grid-template-columns:1fr 1fr; gap:35px; }
    main > section.rtf-h2-section .rtf-h2-resource-head h2{ font-size:39px; }
    main > section.rtf-h2-section .rtf-h2-resource-layout{ grid-template-columns:.85fr 1.15fr; gap:35px; }
    @media (min-width: 768px) and (max-width: 1023px) {

    main > section.rtf-h2-resources
    .rtf-h2-resource-layout {
        grid-template-columns:
            minmax(0, .88fr)
            minmax(0, 1.12fr);
        gap: 32px;
    }

    main > section.rtf-h2-resources
    .rtf-h2-resource-image {
        min-height: 390px;
        height: 100%;
        border-radius: 16px;
    }

    main > section.rtf-h2-resources
    .rtf-h2-resource-image img {
        min-height: 390px;
    }

}
    main > section.rtf-h2-section .rtf-h2-question-node strong{ font-size:21px; }
    main > section.rtf-h2-section .rtf-h2-zigzag{ min-height:760px; }
    main > section.rtf-h2-start .rtf-h2-start-copy h2{ font-size:48px; }
}
@media (max-width:767px) {
    main > section.rtf-h2-section .rtf-h2-wrap{ width:calc(100% - 32px); }
    main > section.rtf-h2-section{ padding-block:68px; }
    main > section.rtf-h2-section .rtf-h2-section-intro h2,main > section.rtf-h2-section .rtf-h2-call-content h2,main > section.rtf-h2-judgment .rtf-h2-judgment-copy h2,main > section.rtf-h2-way .rtf-h2-way-intro h2,main > section.rtf-h2-section .rtf-h2-resource-head h2,main > section.rtf-h2-voices .rtf-h2-voices-top h2,main > section.rtf-h2-section .rtf-h2-question-head h2{ font-size:30px; letter-spacing:-.025em; }
    main > section.rtf-h2-section .rtf-h2-section p{ font-size:17px; }
    main > section.rtf-h2-section .rtf-h2-kicker{ font-size:12px; margin-bottom:17px; letter-spacing:.055em; }
    main > section.rtf-h2-section .rtf-h2-kicker::before{ width:20px; flex-basis:20px; }
    main > section.rtf-h2-feelings{ min-height:auto; }
    main > section.rtf-h2-feelings .rtf-h2-feelings-grid,main > section.rtf-h2-section .rtf-h2-call-grid,main > section.rtf-h2-judgment .rtf-h2-judgment-grid,main > section.rtf-h2-section .rtf-h2-resource-layout,main > section.rtf-h2-start .rtf-h2-start-grid{ display:grid; grid-template-columns:1fr; gap:38px; }
    main > section.rtf-h2-section .rtf-h2-section-intro p{ margin-top:19px; }
    main > section.rtf-h2-section .rtf-h2-scroll-note{ margin-top:24px; }
    main > section.rtf-h2-section .rtf-h2-constellation{ min-height:460px; margin-top:4px; }
    main > section.rtf-h2-section .rtf-h2-feeling-word{ max-width:135px; font-size:14px; }
    main > section.rtf-h2-section .rtf-h2-feeling-word:nth-of-type(5){ max-width:155px; }
    main > section.rtf-h2-section .rtf-h2-constellation-center{ width:52px; height:52px; }
    main > section.rtf-h2-section .rtf-h2-feeling-response{ bottom:18px; font-size:14px!important; }
    main > section.rtf-h2-section .rtf-h2-image-frame-tall,main > section.rtf-h2-section .rtf-h2-image-frame-portrait,main > section.rtf-h2-start .rtf-h2-start-image{ height:440px; min-height:440px; }
    main > section.rtf-h2-section .rtf-h2-call-content h2,main > section.rtf-h2-judgment .rtf-h2-judgment-copy h2{ font-size:34px; }
    main > section.rtf-h2-section .rtf-h2-statement-list{ margin-top:25px; }
    main > section.rtf-h2-section .rtf-h2-statement{ font-size:17px; padding:17px 0; }
    main > section.rtf-h2-section .rtf-h2-statement-answer{ margin-top:20px; }
    main > section.rtf-h2-section .rtf-h2-principles{ margin-top:27px; }
    main > section.rtf-h2-section .rtf-h2-principle{ grid-template-columns:36px 1fr; gap:11px; padding:17px 0; }
    main > section.rtf-h2-section .rtf-h2-principle h3{ font-size:17px; }
    main > section.rtf-h2-section .rtf-h2-principle p{ font-size:15px!important; }
    main > section.rtf-h2-way .rtf-h2-way-grid{ grid-template-columns:1fr; gap:20px; }
    main > section.rtf-h2-way .rtf-h2-way-intro{ position:relative; top:auto; padding-bottom:8px; }
    main > section.rtf-h2-way .rtf-h2-way-intro h2{ font-size:34px; }
    main > section.rtf-h2-section .rtf-h2-steps{ padding-left:55px; padding-top:15px; }
    main > section.rtf-h2-section .rtf-h2-step-track{ left:14px; top:15px; bottom:15px; }
    main > section.rtf-h2-section .rtf-h2-step-number{ left:-55px; }
    main > section.rtf-h2-section .rtf-h2-step-node{ left:-47px; width:14px; height:14px; }
    main > section.rtf-h2-section .rtf-h2-step{ min-height:185px; padding-bottom:52px; }
    main > section.rtf-h2-section .rtf-h2-step-content h3{ font-size:22px; }
    main > section.rtf-h2-section .rtf-h2-step-content p{ font-size:16px!important; }
    main > section.rtf-h2-section .rtf-h2-resource-head{ display:block; }
    main > section.rtf-h2-section .rtf-h2-resource-head > p{ margin-top:18px; }
    main > section.rtf-h2-section .rtf-h2-resource-layout{ margin-top:35px; }
    main > section.rtf-h2-resources
    .rtf-h2-resource-layout {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-top: 34px;
    }

    main > section.rtf-h2-resources
    .rtf-h2-resource-image {
        width: 100%;
        height: clamp(280px, 72vw, 390px);
        min-height: 0;
        border-radius: 15px;
        align-self: auto;
    }

    main > section.rtf-h2-resources
    .rtf-h2-resource-image img {
        width: 100%;
        height: 100%;
        min-height: 0;
        object-fit: cover;
        object-position: center;
    }

    main > section.rtf-h2-resources
    .rtf-h2-resource-image figcaption {
        left: 18px;
        right: 18px;
        bottom: 17px;
        font-size: 14px;
    }

    main > section.rtf-h2-section .rtf-h2-resource-item{ min-height:130px; grid-template-columns:40px 1fr auto; gap:12px; }
    main > section.rtf-h2-section .rtf-h2-resource-item:hover,main > section.rtf-h2-section .rtf-h2-resource-item.is-active{ padding-inline:10px; }
    main > section.rtf-h2-section .rtf-h2-resource-icon{ width:38px; height:38px; }
    main > section.rtf-h2-section .rtf-h2-resource-copy strong{ font-size:17px; }
    main > section.rtf-h2-section .rtf-h2-resource-copy em{ font-size:14px; }
    main > section.rtf-h2-section .rtf-h2-wave{ width:38px; }
    main > section.rtf-h2-voices .rtf-h2-voices-top h2{ font-size:32px; }
    main > section.rtf-h2-section .rtf-h2-marquee{ margin-top:38px; }
    main > section.rtf-h2-section .rtf-h2-marquee-track{ gap:12px; animation-duration:28s; }
    main > section.rtf-h2-section .rtf-h2-quote{ width:280px; min-height:190px; padding:22px 22px; }
    main > section.rtf-h2-section .rtf-h2-quote p{ font-size:16px; }
    main > section.rtf-h2-section .rtf-h2-zigzag{ min-height:850px; margin-top:28px; }
    main > section.rtf-h2-section .rtf-h2-zigzag-image{ width:190px; height:610px; opacity:.48; }
    main > section.rtf-h2-section .rtf-h2-question-node{ width:44%; padding:13px 0; }
    main > section.rtf-h2-section .rtf-h2-question-node::before{ width:30px; }
    main > section.rtf-h2-section .rtf-h2-zig-left::before{ right:-30px; }main > section.rtf-h2-section .rtf-h2-zig-right::before{ left:-30px; }
    main > section.rtf-h2-section .rtf-h2-question-node strong{ font-size:18px; }
    main > section.rtf-h2-section .rtf-h2-question-node em{ font-size:14px; }
    main > section.rtf-h2-section .rtf-h2-zig-line{ top:2%; bottom:2%; }
    main > section.rtf-h2-section .rtf-h2-question-answer{ align-items:flex-start; padding-top:18px; }
    main > section.rtf-h2-section .rtf-h2-question-answer p{ font-size:16px!important; }
    main > section.rtf-h2-start{ padding-bottom:90px; }
    main > section.rtf-h2-start .rtf-h2-start-copy h2{ font-size:40px; }
    main > section.rtf-h2-start .rtf-h2-start-copy > p{ margin-top:17px; }
    main > section.rtf-h2-section .rtf-h2-pathway{ grid-template-columns:30px 1fr 20px; gap:8px; padding:16px 0; }
    main > section.rtf-h2-section .rtf-h2-pathway em{ grid-column:2; font-size:14px; }
    main > section.rtf-h2-section .rtf-h2-pathway b{ grid-column:3; grid-row:1 / span 2; }
    main > section.rtf-h2-section .rtf-h2-main-cta{ width:100%; justify-content:center; }
}
@media (min-width:390px) and (max-width:767px) {
    main > section.rtf-h2-section .rtf-h2-wrap{ width:calc(100% - 40px); }
    main > section.rtf-h2-section{ padding-block:76px; }
    main > section.rtf-h2-section .rtf-h2-feeling-word{ font-size:15px; }
}
@media (min-width:360px) and (max-width:389px) {
    main > section.rtf-h2-section .rtf-h2-wrap{ width:calc(100% - 32px); }
    main > section.rtf-h2-section .rtf-h2-constellation{ min-height:445px; }

    main > section.rtf-h2-resources
    .rtf-h2-resource-image {
        height: 300px;
        border-radius: 14px;
    }

}
@media (max-width:359px) {
    main > section.rtf-h2-section .rtf-h2-wrap{ width:calc(100% - 24px); }
    main > section.rtf-h2-section{ padding-block:60px; }
    main > section.rtf-h2-section .rtf-h2-section-intro h2,main > section.rtf-h2-section .rtf-h2-call-content h2,main > section.rtf-h2-judgment .rtf-h2-judgment-copy h2,main > section.rtf-h2-way .rtf-h2-way-intro h2,main > section.rtf-h2-section .rtf-h2-resource-head h2,main > section.rtf-h2-voices .rtf-h2-voices-top h2,main > section.rtf-h2-section .rtf-h2-question-head h2{ font-size:28px; }
    main > section.rtf-h2-section .rtf-h2-constellation{ min-height:420px; }
    main > section.rtf-h2-section .rtf-h2-feeling-word{ max-width:120px; font-size:13px; }
    main > section.rtf-h2-section .rtf-h2-image-frame-tall,main > section.rtf-h2-section .rtf-h2-image-frame-portrait,main > section.rtf-h2-start .rtf-h2-start-image{ height:390px; min-height:390px; }
    main > section.rtf-h2-section .rtf-h2-step-content h3{ font-size:20px; }
    main > section.rtf-h2-section .rtf-h2-zigzag{ min-height:790px; }
    main > section.rtf-h2-section .rtf-h2-zigzag-image{ width:155px; height:550px; }
    main > section.rtf-h2-section .rtf-h2-question-node strong{ font-size:16px; }
    main > section.rtf-h2-section .rtf-h2-question-node em{ font-size:13px; }
    main > section.rtf-h2-start .rtf-h2-start-copy h2{ font-size:36px; }
     main > section.rtf-h2-resources
    .rtf-h2-resource-image {
        height: 270px;
        min-height: 0;
        border-radius: 13px;
    }

    main > section.rtf-h2-resources
    .rtf-h2-resource-image img {
        min-height: 0;
        height: 100%;
    }

    main > section.rtf-h2-resources
    .rtf-h2-resource-image figcaption {
        left: 15px;
        right: 15px;
        bottom: 14px;
        font-size: 13px;
    }

}
@media (prefers-reduced-motion:reduce) {
    main > section.rtf-h2-section *, main > section.rtf-h2-section *::before, main > section.rtf-h2-section *::after { animation:none!important; transition-duration:.01ms!important; }
    main > section.rtf-h2-section .rtf-h2-marquee-track{ animation:none!important; transform:none!important; }
}


/* =========================================================
   ROOM TO FEEL — HOME 2 · SECTION 02 ONLY · "BENTO MOSAIC"
   ---------------------------------------------------------
   HOW TO USE: APPEND this whole file to the END of
   assets/css/styles.css. Do not replace styles.css.

   - Every selector starts with  main > section.rtf-bn-section
     so nothing else on the site is touched.
   - Uses the existing --h2-* tokens, Plus Jakarta Sans and the
     same wrap / padding rules as the other Home 2 sections.
   - The old Section 02 rules (.rtf-h2-call-*, .rtf-h2-statement*,
     .rtf-h2-answer-icon) become unused. You may delete them later,
     but keep .rtf-h2-image-frame* (other sections use it).
   ========================================================= */

main > section.rtf-bn-section{
    --bn-gap: 14px;
    --bn-radius: 4px;
    --bn-pad: clamp(18px, 1.9vw, 30px);
    --bn-tile: var(--h2-bg);
    --bn-on-brand: #FFF9F3;
    --bn-accent-text: var(--h2-brand-strong);
    --bn-focus: var(--h2-brand-strong);
    --bn-deep: #4A2C26;
    --bn-deep-text: #F5E9DC;
    --bn-deep-soft: #E3CDBE;
    --bn-cycle: 7s;
    background: var(--h2-surface);
}

/* ---------- shared tile ---------- */
main > section.rtf-bn-section .rtf-bn-tile{
    position: relative;
    min-width: 0;
    border: 1px solid var(--h2-border);
    border-radius: var(--bn-radius);
    background: var(--bn-tile);
    overflow: hidden;
}
main > section.rtf-bn-section :where(a, button):focus-visible{
    outline: 2px solid var(--bn-focus);
    outline-offset: 3px;
}

/* ---------- header band ---------- */
main > section.rtf-bn-section .rtf-bn-head{
    display: grid;
    grid-template-columns: auto minmax(0, 1.25fr) minmax(0, 1fr);
    gap: clamp(20px, 3vw, 56px);
    align-items: end;
    margin-bottom: clamp(28px, 3.4vw, 52px);
}
main > section.rtf-bn-section .rtf-bn-num{
    display: block;
    font-size: clamp(88px, 11vw, 190px);
    line-height: .78;
    font-weight: 600;
    letter-spacing: -.06em;
    color: var(--h2-soft);
    user-select: none;
}
main > section.rtf-bn-section .rtf-bn-head h2{
    margin: 0;
    color: var(--h2-heading);
    font-size: clamp(30px, 3.6vw, 56px);
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: -.035em;
    overflow-wrap: break-word;
}
main > section.rtf-bn-section .rtf-bn-head .rtf-h2-kicker{ margin-bottom: 18px; max-width: 100%; }
main > section.rtf-bn-section .rtf-bn-intro{
    margin: 0;
    max-width: 480px;
    padding-bottom: 4px;
    color: var(--h2-text);
    font-size: clamp(16px, 1.25vw, 18px);
    line-height: 1.7;
    font-weight: 500;
}

/* ---------- main bento grid ---------- */
main > section.rtf-bn-section .rtf-bn-grid{
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: var(--bn-gap);
    align-items: stretch;
}

/* photo tile */
main > section.rtf-bn-section .rtf-bn-photo{
    margin: 0;
    min-height: 560px;
    border: 0;
    background: var(--h2-border);
}
main > section.rtf-bn-section .rtf-bn-photo img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 35%;
    transform: scale(1.14);
    transition: transform 2.2s cubic-bezier(.2,.7,.2,1);
}
main > section.rtf-bn-section .rtf-bn-photo.is-in img{ transform: scale(1); }
main > section.rtf-bn-section .rtf-bn-photo.is-in:hover img{ transform: scale(1.045); transition-duration: 1.4s; }
main > section.rtf-bn-section .rtf-bn-photo::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 48%, rgba(36,25,22,.78));
    pointer-events: none;
}
main > section.rtf-bn-section .rtf-bn-photo-frame{
    position: absolute;
    inset: 14px;
    z-index: 2;
    border: 1px solid rgba(255,249,243,.45);
    border-radius: 2px;
    pointer-events: none;
}
main > section.rtf-bn-section .rtf-bn-photo figcaption{
    position: absolute;
    z-index: 3;
    inset-inline: clamp(24px, 2.4vw, 38px);
    bottom: clamp(24px, 2.4vw, 36px);
    display: flex;
    flex-direction: column;
    color: #FFF9F3;
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.5;
    font-weight: 600;
    text-shadow: 0 2px 12px rgba(0,0,0,.4);
}

/* right-hand board */
main > section.rtf-bn-section .rtf-bn-board{
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    grid-auto-rows: minmax(158px, auto);
    gap: var(--bn-gap);
    min-width: 0;
}
main > section.rtf-bn-section .rtf-bn-s1{ grid-column: 1 / 5; grid-row: 1 / 3; }
main > section.rtf-bn-section .rtf-bn-s2{ grid-column: 5 / 8; grid-row: 1; }
main > section.rtf-bn-section .rtf-bn-s3{ grid-column: 5 / 8; grid-row: 2; }
main > section.rtf-bn-section .rtf-bn-s4{ grid-column: 1 / 4; grid-row: 3; }
main > section.rtf-bn-section .rtf-bn-s5{ grid-column: 4 / 8; grid-row: 3; }
main > section.rtf-bn-section .rtf-bn-answer{ grid-column: 1 / -1; grid-row: 4; }

/* statement tiles (interactive) */
main > section.rtf-bn-section .rtf-bn-st{
    appearance: none;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    padding: var(--bn-pad);
    text-align: start;
    color: var(--h2-heading);
    cursor: pointer;
    transition: transform .4s cubic-bezier(.2,.7,.2,1), border-color .3s ease, color .4s ease;
}
main > section.rtf-bn-section .rtf-bn-st::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--h2-brand);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
main > section.rtf-bn-section .rtf-bn-st.is-active::before{ transform: scaleX(1); }
main > section.rtf-bn-section .rtf-bn-st:hover{ transform: translateY(-4px); border-color: var(--h2-brand); }
main > section.rtf-bn-section .rtf-bn-st.is-active{ color: var(--bn-on-brand); border-color: var(--h2-brand); }

main > section.rtf-bn-section .rtf-bn-st-top{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
main > section.rtf-bn-section .rtf-bn-idx{
    grid-area: idx;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--bn-accent-text);
    transition: color .4s ease;
}
main > section.rtf-bn-section .rtf-bn-ic{
    grid-area: icon;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    fill: none;
    stroke: var(--h2-brand);
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke .4s ease, transform .5s cubic-bezier(.2,.7,.2,1);
}
main > section.rtf-bn-section .rtf-bn-ic .fill{ fill: var(--h2-brand); stroke: none; transition: fill .4s ease; }
main > section.rtf-bn-section .rtf-bn-st:hover .rtf-bn-ic{ transform: scale(1.12) rotate(-6deg); }
main > section.rtf-bn-section .rtf-bn-st.is-active .rtf-bn-idx{ color: var(--bn-on-brand); }
main > section.rtf-bn-section .rtf-bn-st.is-active .rtf-bn-ic{ stroke: var(--bn-on-brand); }
main > section.rtf-bn-section .rtf-bn-st.is-active .rtf-bn-ic .fill{ fill: var(--bn-on-brand); }
main > section.rtf-bn-section .rtf-bn-st-text{
    grid-area: text;
    display: block;
    font-size: clamp(17px, 1.45vw, 22px);
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: -.01em;
    overflow-wrap: break-word;
}
main > section.rtf-bn-section .rtf-bn-s1 .rtf-bn-st-text{ font-size: clamp(22px, 2.35vw, 36px); line-height: 1.2; letter-spacing: -.025em; }
main > section.rtf-bn-section .rtf-bn-s1 .rtf-bn-ic{ width: 40px; height: 40px; flex-basis: 40px; }

/* autoplay progress line */
main > section.rtf-bn-section .rtf-bn-bar{ position: absolute; inset-inline: 0; bottom: 0; height: 3px; pointer-events: none; }
main > section.rtf-bn-section .rtf-bn-bar i{
    display: block;
    width: 100%;
    height: 100%;
    background: var(--bn-on-brand);
    transform: scaleX(0);
    transform-origin: left center;
}
main > section.rtf-bn-section .rtf-bn-grid.is-playing .rtf-bn-st.is-active .rtf-bn-bar i{
    animation: rtfBnBar var(--bn-cycle) linear forwards;
}
main > section.rtf-bn-section .rtf-bn-grid.is-paused .rtf-bn-st.is-active .rtf-bn-bar i{ animation-play-state: paused; }

/* answer tile */
main > section.rtf-bn-section .rtf-bn-answer{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 22px;
    min-height: 200px;
    padding: var(--bn-pad) clamp(22px, 2.4vw, 38px);
    background: var(--bn-deep);
    border-color: var(--bn-deep);
    color: var(--bn-deep-text);
}
main > section.rtf-bn-section .rtf-bn-answer-top{
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--bn-deep-soft);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
}
main > section.rtf-bn-section .rtf-bn-answer-text{
    position: relative;
    z-index: 1;
    margin: 0;
    max-width: min(660px, calc(100% - 150px));
    color: var(--bn-deep-text);
    font-size: clamp(18px, 1.7vw, 26px);
    line-height: 1.45;
    font-weight: 500;
    overflow-wrap: break-word;
}
main > section.rtf-bn-section .rtf-bn-rings{
    position: absolute;
    inset-inline-end: -56px;
    bottom: -72px;
    width: 250px;
    height: 250px;
    pointer-events: none;
    animation: rtfBnSpin 40s linear infinite;
}
main > section.rtf-bn-section .rtf-bn-rings circle{ fill: none; stroke: var(--bn-deep-soft); stroke-opacity: .3; stroke-width: 1; }

/* value strip + CTA */
main > section.rtf-bn-section .rtf-bn-strip{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--bn-gap);
    margin-top: var(--bn-gap);
}
main > section.rtf-bn-section .rtf-bn-val{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: var(--bn-pad);
    background: transparent;
    transition: transform .4s cubic-bezier(.2,.7,.2,1), border-color .3s ease, background .3s ease;
}
main > section.rtf-bn-section .rtf-bn-val:hover{ transform: translateY(-4px); border-color: var(--h2-brand); background: var(--bn-tile); }
main > section.rtf-bn-section .rtf-bn-val-ic{
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid var(--h2-brand);
    border-radius: 50%;
    color: var(--h2-brand);
}
main > section.rtf-bn-section .rtf-bn-val-ic svg{ width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
main > section.rtf-bn-section .rtf-bn-val h3{ margin: 0; color: var(--h2-heading); font-size: 17px; line-height: 1.3; font-weight: 600; overflow-wrap: break-word; }
main > section.rtf-bn-section .rtf-bn-val p{ margin: 6px 0 0; color: var(--h2-muted); font-size: 15px; line-height: 1.55; font-weight: 500; }

main > section.rtf-bn-section .rtf-bn-cta{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    padding: var(--bn-pad);
    background: var(--h2-brand);
    border-color: var(--h2-brand);
    color: var(--bn-on-brand);
    text-decoration: none;
    transition: transform .4s cubic-bezier(.2,.7,.2,1);
}
main > section.rtf-bn-section .rtf-bn-cta:hover{ transform: translateY(-4px); }
main > section.rtf-bn-section .rtf-bn-cta:focus-visible{ outline-color: var(--bn-focus); }
main > section.rtf-bn-section .rtf-bn-cta-title{ font-size: clamp(18px, 1.5vw, 22px); line-height: 1.3; font-weight: 600; letter-spacing: -.01em; }
main > section.rtf-bn-section .rtf-bn-cta-link{ display: inline-flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 600; }
main > section.rtf-bn-section .rtf-bn-arrow{ width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s ease; }
main > section.rtf-bn-section .rtf-bn-cta:hover .rtf-bn-arrow{ transform: translateX(5px); }

/* ---------- entrance animation (only when JS is running) ---------- */
main > section.rtf-bn-js .rtf-bn-a{ opacity: 0; }
main > section.rtf-bn-js .rtf-bn-a.is-in{
    opacity: 1;
    animation: rtfBnIn .85s cubic-bezier(.2,.7,.2,1) backwards;
    animation-delay: calc(var(--i, 0) * 90ms);
}

@keyframes rtfBnIn{
    from{ opacity: 0; transform: translate(calc(var(--fx, 0px) * var(--bn-flip, 1)), var(--fy, 34px)); }
    to{ opacity: 1; transform: none; }
}
@keyframes rtfBnBar{ from{ transform: scaleX(0); } to{ transform: scaleX(1); } }
@keyframes rtfBnSpin{ to{ transform: rotate(360deg); } }

/* =========================================================
   RESPONSIVE
   ========================================================= */

/* Desktop / Laptop-L / Desktop XL */
@media (min-width: 1440px){
    main > section.rtf-bn-section{ --bn-gap: 16px; }
    main > section.rtf-bn-section .rtf-bn-photo{ min-height: 620px; }
    main > section.rtf-bn-section .rtf-bn-board{ grid-auto-rows: minmax(172px, auto); }
}
@media (min-width: 1700px){
    main > section.rtf-bn-section{ --bn-pad: 34px; }
    main > section.rtf-bn-section .rtf-bn-st-text{ font-size: 24px; }
    main > section.rtf-bn-section .rtf-bn-s1 .rtf-bn-st-text{ font-size: 40px; }
    main > section.rtf-bn-section .rtf-bn-answer-text{ font-size: 28px; }
}

/* Laptop: value cells stack their icon above the text */
@media (min-width: 1024px) and (max-width: 1279px){
    main > section.rtf-bn-section .rtf-bn-head{ grid-template-columns: auto minmax(0, 1.6fr) minmax(0, 1fr); }
    main > section.rtf-bn-section .rtf-bn-val{ flex-direction: column; gap: 14px; }
    main > section.rtf-bn-section .rtf-bn-photo{ min-height: 520px; }
    main > section.rtf-h2-resources
    .rtf-h2-resource-image {
        min-height: 450px;
        height: 100%;
    }

    main > section.rtf-h2-resources
    .rtf-h2-resource-image img {
        min-height: 450px;
    }

}

/* Tablet */
@media (min-width: 768px) and (max-width: 1023px){
    main > section.rtf-bn-section .rtf-bn-head{ grid-template-columns: auto minmax(0, 1fr); align-items: end; }
    main > section.rtf-bn-section .rtf-bn-intro{ grid-column: 1 / -1; max-width: 620px; }
    main > section.rtf-bn-section .rtf-bn-grid{ grid-template-columns: minmax(0, 1fr); }
    main > section.rtf-bn-section .rtf-bn-photo{ min-height: 380px; }
    main > section.rtf-bn-section .rtf-bn-board{ grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(118px, auto); }
    main > section.rtf-bn-section .rtf-bn-s1{ grid-column: 1 / -1; grid-row: auto; min-height: 150px; }
    main > section.rtf-bn-section .rtf-bn-answer{ min-height: 170px; }
    main > section.rtf-bn-section .rtf-bn-s2,
    main > section.rtf-bn-section .rtf-bn-s3,
    main > section.rtf-bn-section .rtf-bn-s4,
    main > section.rtf-bn-section .rtf-bn-s5{ grid-column: auto; grid-row: auto; }
    main > section.rtf-bn-section .rtf-bn-answer{ grid-column: 1 / -1; grid-row: auto; }
    main > section.rtf-bn-section .rtf-bn-strip{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
    main > section.rtf-bn-section .rtf-bn-val{ flex-direction: column; gap: 14px; }
    main > section.rtf-bn-section .rtf-bn-cta{ grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; }
}

/* Mobile S / M / L */
@media (max-width: 767px){
    main > section.rtf-bn-section{ --bn-gap: 10px; --bn-pad: 18px; }
    main > section.rtf-bn-section .rtf-bn-head{ grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: start; margin-bottom: 26px; }
    main > section.rtf-bn-section .rtf-bn-num{ font-size: 84px; }
    main > section.rtf-bn-section .rtf-bn-head .rtf-h2-kicker{ margin-bottom: 14px; line-height: 1.5; align-items: flex-start; }
    main > section.rtf-bn-section .rtf-bn-head .rtf-h2-kicker::before{ margin-top: 10px; }
    main > section.rtf-bn-section .rtf-bn-grid{ grid-template-columns: minmax(0, 1fr); }
    main > section.rtf-bn-section .rtf-bn-photo{ min-height: 300px; }
    main > section.rtf-bn-section .rtf-bn-board{ grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; }
    main > section.rtf-bn-section .rtf-bn-s1,
    main > section.rtf-bn-section .rtf-bn-s2,
    main > section.rtf-bn-section .rtf-bn-s3,
    main > section.rtf-bn-section .rtf-bn-s4,
    main > section.rtf-bn-section .rtf-bn-s5,
    main > section.rtf-bn-section .rtf-bn-answer{ grid-column: 1 / -1; grid-row: auto; }

    /* statements become compact rows: index | text | icon */
    main > section.rtf-bn-section .rtf-bn-st{
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        grid-template-areas: "idx text icon";
        align-items: center;
        column-gap: 16px;
        min-height: 84px;
    }
    main > section.rtf-bn-section .rtf-bn-st-top{ display: contents; }
    main > section.rtf-bn-section .rtf-bn-s1 .rtf-bn-st-text,
    main > section.rtf-bn-section .rtf-bn-st-text{ font-size: 18px; line-height: 1.35; letter-spacing: -.01em; }
    main > section.rtf-bn-section .rtf-bn-s1 .rtf-bn-ic{ width: 28px; height: 28px; flex-basis: 28px; }

    main > section.rtf-bn-section .rtf-bn-answer{ min-height: 0; padding: 22px 20px; }
    main > section.rtf-bn-section .rtf-bn-answer-text{ max-width: 100%; font-size: 18px; }
    main > section.rtf-bn-section .rtf-bn-rings{ display: none; }

    main > section.rtf-bn-section .rtf-bn-strip{ grid-template-columns: minmax(0, 1fr); }
    main > section.rtf-bn-section .rtf-bn-cta{ gap: 22px; }
}
@media (max-width: 389px){
    main > section.rtf-bn-section .rtf-bn-num{ font-size: 72px; }
    main > section.rtf-bn-section .rtf-bn-st{ column-gap: 12px; }
    main > section.rtf-bn-section .rtf-bn-photo figcaption{ font-size: 14px; }
}
@media (max-width: 359px){
    main > section.rtf-bn-section{ --bn-pad: 16px; }
    main > section.rtf-bn-section .rtf-bn-st-text{ font-size: 16px; }
    main > section.rtf-bn-section .rtf-bn-val{ gap: 12px; }
    main > section.rtf-bn-section .rtf-bn-val-ic{ flex-basis: 38px; width: 38px; height: 38px; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
    main > section.rtf-bn-section .rtf-bn-a,
    main > section.rtf-bn-js .rtf-bn-a{ opacity: 1; animation: none; }
    main > section.rtf-bn-section .rtf-bn-photo img{ transform: none; transition: none; }
    main > section.rtf-bn-section .rtf-bn-rings{ animation: none; }
    main > section.rtf-bn-section .rtf-bn-bar{ display: none; }
}

/* =========================================================
   ROOM TO FEEL — HOME 2 · SECTION 01 ONLY · "LIVING SENTENCE"
   ---------------------------------------------------------
   HOW TO USE: APPEND this whole file to the END of
   assets/css/styles.css. Do not replace styles.css.

   - Every selector starts with  main > section.rtf-fl-section
     so nothing else on the site is touched.
   - Uses your existing --h2-* tokens, Plus Jakarta Sans, the
     .rtf-h2-wrap widths and your .rtf-h2-main-cta theme button.
   - The old Section 01 rules (.rtf-h2-feelings*, .rtf-h2-constellation*,
     .rtf-h2-orbit*, .rtf-h2-feeling-*) become unused. You may delete
     them later; nothing else depends on them.
   ========================================================= */

main > section.rtf-fl-section{
    --fl-on: #FFF9F3;
    --fl-accent-text: var(--h2-brand-strong);
    --fl-focus: var(--h2-brand-strong);
    background: var(--h2-bg);
}

main > section.rtf-fl-section :where(a, button):focus-visible{
    outline: 2px solid var(--fl-focus);
    outline-offset: 3px;
}

/* ---------- heading (centered, heading text only) ---------- */
main > section.rtf-fl-section .rtf-fl-head{
    max-width: 960px;
    margin: 0 auto clamp(30px, 3.6vw, 58px);
    text-align: center;
}
main > section.rtf-fl-section .rtf-fl-head .rtf-h2-kicker{ justify-content: center; max-width: 100%; margin-bottom: 20px; }
main > section.rtf-fl-section .rtf-fl-head h2{
    margin: 0;
    color: var(--h2-heading);
    font-size: clamp(30px, 3.7vw, 56px);
    line-height: 1.12;
    font-weight: 600;
    letter-spacing: -.035em;
    overflow-wrap: break-word;
}

/* ---------- label ---------- */
main > section.rtf-fl-section .rtf-fl-label{
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 clamp(8px, 1.2vw, 18px);
    color: var(--h2-muted);
    font-size: 13px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: .1em;
}
main > section.rtf-fl-section .rtf-fl-label::before,
main > section.rtf-fl-section .rtf-fl-label::after{ content: ""; flex: 1; height: 1px; background: var(--h2-border); }

/* ---------- the living sentence ---------- */
main > section.rtf-fl-section .rtf-fl-stage{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    overflow: visible;
}
main > section.rtf-fl-section .rtf-fl-sentence{
    display: inline-block;
    margin: 0;
    max-width: 100%;
    text-align: center;
    white-space: nowrap;
    color: var(--h2-heading);
    font-size: 64px;                  /* JS fits this to the width on tablet and up */
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -.045em;
    transition: color .9s ease;
}
main > section.rtf-fl-section .rtf-fl-sentence.is-calm{ color: var(--h2-brand); }
main > section.rtf-fl-section .rtf-fl-wd{ display: inline-block; white-space: nowrap; margin-inline-end: .2em; }
main > section.rtf-fl-section .rtf-fl-wd:last-child{ margin-inline-end: 0; }
main > section.rtf-fl-section .rtf-fl-l{ display: inline-block; }

/* one motion per feeling (finite, so every letter ends at rest) */
main > section.rtf-fl-section .rtf-fl-sentence.f-0 .rtf-fl-l{ animation: rtfFlTremble .09s ease-in-out 36 alternate; }
main > section.rtf-fl-section .rtf-fl-sentence.f-1 .rtf-fl-l{ animation: rtfFlWave 1.6s ease-in-out 2; animation-delay: calc(var(--i) * 90ms); }
main > section.rtf-fl-section .rtf-fl-sentence.f-2 .rtf-fl-l{ animation: rtfFlFlip .8s ease-in-out 4; animation-delay: calc(var(--i) * 40ms); }
main > section.rtf-fl-section .rtf-fl-sentence.f-3 .rtf-fl-l{ animation: rtfFlDrift 3.4s ease-in-out 1; }
main > section.rtf-fl-section .rtf-fl-sentence.f-4 .rtf-fl-l{ animation: rtfFlEmerge 3.2s cubic-bezier(.2,.7,.2,1) backwards; animation-delay: calc(var(--i) * 110ms); }
main > section.rtf-fl-section .rtf-fl-sentence.f-5 .rtf-fl-l{ text-shadow: 3px 2px 0 var(--h2-soft), -3px -1px 0 var(--h2-border); }
main > section.rtf-fl-section .rtf-fl-sentence.f-5 .rtf-fl-l:nth-child(odd){ animation: rtfFlCrowdA .17s linear 20 alternate; }
main > section.rtf-fl-section .rtf-fl-sentence.f-5 .rtf-fl-l:nth-child(even){ animation: rtfFlCrowdB .21s linear 16 alternate; }
main > section.rtf-fl-section .rtf-fl-sentence.is-calm .rtf-fl-l{ text-shadow: none; }

@keyframes rtfFlTremble{ from{ transform: translate(-1.4px, 1px); } to{ transform: translate(1.4px, -1px); } }
@keyframes rtfFlWave{ 50%{ transform: translateY(-.1em) rotate(-5deg); } }
@keyframes rtfFlFlip{ to{ transform: rotateX(360deg); } }
@keyframes rtfFlDrift{ 40%{ transform: translateX(calc((var(--i) - var(--c)) * .045em)); opacity: .45; } }
@keyframes rtfFlEmerge{ from{ opacity: 0; filter: blur(10px); transform: translateY(.18em); } }
@keyframes rtfFlCrowdA{ to{ transform: translate(3px, -4px) rotate(3deg); } }
@keyframes rtfFlCrowdB{ to{ transform: translate(-4px, 3px) rotate(-3deg); } }

/* ---------- feeling buttons on a line (theme button style) ---------- */
main > section.rtf-fl-section .rtf-fl-pills{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: clamp(20px, 2.2vw, 34px);
}
main > section.rtf-fl-section .rtf-fl-pills::before{
    content: "";
    position: absolute;
    inset-inline: 0;
    top: 50%;
    height: 1px;
    background: var(--h2-border);
}
main > section.rtf-fl-section .rtf-fl-prog{
    position: absolute;
    inset-inline-start: 0;
    top: 50%;
    height: 2px;
    margin-top: -.5px;
    width: 0;
    background: var(--h2-brand);
    transition: width .8s cubic-bezier(.2,.7,.2,1);
}
main > section.rtf-fl-section .rtf-fl-pill{
    position: relative;
    z-index: 1;
    appearance: none;
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid var(--h2-brand);
    border-radius: 0;
    background: var(--h2-bg);
    color: var(--h2-heading);
    font-size: 15px;
    line-height: 1;
    font-weight: 600;
    cursor: pointer;
    transition: background .3s ease, color .3s ease, transform .3s ease, border-color .3s ease;
}
main > section.rtf-fl-section .rtf-fl-pill:hover{
    background: var(--h2-brand);
    border-color: var(--h2-brand);
    color: var(--fl-on);
    transform: translateY(-3px);
}
main > section.rtf-fl-section .rtf-fl-pill.is-active{
    background: var(--h2-brand);
    border-color: var(--h2-brand);
    color: var(--fl-on);
}

/* ---------- reflection + theme CTA ---------- */
main > section.rtf-fl-section .rtf-fl-reply{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: clamp(26px, 3vw, 46px);
    text-align: center;
}
main > section.rtf-fl-section .rtf-fl-reply-text{
    margin: 0;
    max-width: 660px;
    color: var(--h2-heading);
    font-size: clamp(17px, 1.5vw, 22px);
    line-height: 1.55;
    font-weight: 500;
    overflow-wrap: break-word;
}
main > section.rtf-fl-section .rtf-fl-reply .rtf-h2-main-cta{ margin-top: 24px; }

main > section.rtf-fl-section .rtf-fl-end{
    margin: clamp(30px, 3.4vw, 54px) 0 0;
    padding-top: 20px;
    border-top: 1px solid var(--h2-border);
    color: var(--h2-heading);
    font-size: 15px;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: .02em;
    text-align: center;
}

/* ---------- entrance animation (only when JS is running) ---------- */
main > section.rtf-fl-js .rtf-fl-a{ opacity: 0; }
main > section.rtf-fl-js .rtf-fl-a.is-in{
    opacity: 1;
    animation: rtfFlIn .85s cubic-bezier(.2,.7,.2,1) backwards;
    animation-delay: calc(var(--i, 0) * 90ms);
}
@keyframes rtfFlIn{ from{ opacity: 0; transform: translateY(30px); } to{ opacity: 1; transform: none; } }

/* =========================================================
   RESPONSIVE
   ========================================================= */

/* Tablet and up: the sentence stays on one line (script.js fits its size) */
@media (min-width: 768px){
    main > section.rtf-fl-section .rtf-fl-sentence{ max-width: none; }
}

/* Tablet and below: buttons wrap and centre, the line is hidden */
@media (max-width: 1023px){
    main > section.rtf-fl-section .rtf-fl-pills{ flex-wrap: wrap; justify-content: center; gap: 10px; }
    main > section.rtf-fl-section .rtf-fl-pills::before,
    main > section.rtf-fl-section .rtf-fl-prog{ display: none; }
    main > section.rtf-fl-section .rtf-fl-pill{ padding: 0 18px; font-size: 14px; }
}

/* Mobile S / M / L */
@media (max-width: 767px){
    main > section.rtf-fl-section .rtf-fl-head .rtf-h2-kicker{ line-height: 1.5; text-align: center; }
    main > section.rtf-fl-section .rtf-fl-head .rtf-h2-kicker::before{ display: none; }
    main > section.rtf-fl-section .rtf-fl-label{ font-size: 12px; gap: 12px; }
    main > section.rtf-fl-section .rtf-fl-sentence{
        display: block;
        width: 100%;
        white-space: normal;
        font-size: clamp(34px, 11vw, 56px);
        line-height: 1.08;
        letter-spacing: -.04em;
    }
    main > section.rtf-fl-section .rtf-fl-pill{ min-height: 44px; padding: 0 16px; }
    main > section.rtf-fl-section .rtf-fl-reply .rtf-h2-main-cta{ width: 100%; justify-content: center; }
}
@media (max-width: 389px){
    main > section.rtf-fl-section .rtf-fl-pills{ gap: 8px; }
    main > section.rtf-fl-section .rtf-fl-pill{ padding: 0 13px; font-size: 13.5px; }
}
@media (max-width: 359px){
    main > section.rtf-fl-section .rtf-fl-sentence{ font-size: 32px; }
    main > section.rtf-fl-section .rtf-fl-pill{ padding: 0 11px; font-size: 13px; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
    main > section.rtf-fl-js .rtf-fl-a{ opacity: 1; animation: none; }
    main > section.rtf-fl-section .rtf-fl-l{ animation: none !important; }
}

/* =========================================================
   SECTION 07 — PINNED QUESTIONS  (everything scoped to .rtf-q7)
   ========================================================= */
.rtf-q7{
    --q7-bg:#F5E9DC; --q7-bg-rgb:245,233,220; --q7-surface:#EBD6C5;
    --q7-brand:#A6533F; --q7-brand-strong:#7D382E;
    --q7-heading:#302421; --q7-text:#4A2C26; --q7-muted:#8A6E62;
    --q7-line:rgba(166,83,63,.30); --q7-h:clamp(520px,calc(100svh - 130px),780px); --q7-phase:150svh;
    position:relative; isolation:isolate; background:var(--q7-bg); color:var(--q7-text);
    font-family:"Plus Jakarta Sans",system-ui,sans-serif; font-weight:500; overflow:clip;
}
.rtf-q7 *,.rtf-q7 *::before,.rtf-q7 *::after{ box-sizing:border-box; }

/* intro */
.rtf-q7-intro{ width:min(1100px,calc(100% - 48px)); margin:0 auto; padding:clamp(80px,9vw,140px) 0 clamp(48px,6vw,88px); text-align:center; }
.rtf-q7-kicker{ display:inline-flex; align-items:center; gap:10px; margin-bottom:24px; color:var(--q7-brand-strong); font-size:14px; font-weight:600; letter-spacing:.08em; }
.rtf-q7-kicker::before{ content:""; width:28px; height:1px; background:var(--q7-brand); }
.rtf-q7-intro h2{ margin:0; color:var(--q7-heading); font-size:clamp(30px,4.4vw,60px); line-height:1.08; font-weight:600; letter-spacing:-.04em; text-wrap:balance; }
.rtf-q7-intro p{ margin:26px auto 0; max-width:640px; color:var(--q7-text); font-size:clamp(17px,1.5vw,20px); line-height:1.65; }

/* track + stage (no-JS / reduced motion = simple stacked layout) */
.rtf-q7-track{ position:relative; }
.rtf-q7-stage{ position:relative; width:100%; overflow:hidden; border-block:1px solid var(--q7-line); background:var(--q7-surface); }
.rtf-q7-photos img{ display:none; }
.rtf-q7-scrim{ display:none; }
.rtf-q7-ch{ position:relative; min-height:420px; padding:clamp(56px,8vw,96px) clamp(24px,8vw,140px); display:flex; align-items:center; overflow:hidden; border-bottom:1px solid var(--q7-line); }
.rtf-q7-index{ display:none; }

/* live (scroll-driven) layout — class added by script.js */
.rtf-q7.is-live .rtf-q7-track{ height:calc(var(--q7-phase) * 5 + var(--q7-h)); }
.rtf-q7.is-live .rtf-q7-stage{ position:sticky; top:max(88px,calc((100svh - var(--q7-h)) / 2)); height:var(--q7-h); background:var(--q7-bg); }
.rtf-q7.is-live .rtf-q7-photos{ position:absolute; inset:0; z-index:0; }
.rtf-q7.is-live .rtf-q7-photos img{
    display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--pos);
    opacity:var(--b,0); filter:blur(calc((1 - var(--b,0)) * 26px));
    transform:scale(calc(1.14 - .14 * var(--b,0))); will-change:opacity,filter,transform;
}
.rtf-q7.is-live .rtf-q7-scrim{
    display:block; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(to right,rgba(var(--q7-bg-rgb),.5) 0%,rgba(var(--q7-bg-rgb),.22) 38%,rgba(var(--q7-bg-rgb),0) 70%);
}
.rtf-q7.is-live .rtf-q7-ch{
    position:absolute; inset:0; z-index:2; min-height:0; padding:0 clamp(24px,7vw,120px); border:0; pointer-events:none;
    opacity:var(--o,0); visibility:var(--v,hidden);
}
.rtf-q7.is-live .rtf-q7-ch.is-on{ pointer-events:auto; }

/* chapter content */
.rtf-q7-copy{ position:relative; z-index:2; width:min(100%,980px); padding-inline-end:clamp(40px,6vw,96px); }
.rtf-q7-q{
    margin:0; color:color-mix(in srgb,var(--q7-heading) calc(var(--q,1) * 100%),var(--q7-muted));
    font-size:min(var(--max),calc((100vw - 120px) / var(--fit))); line-height:1.02; font-weight:600;
    letter-spacing:calc(.34em - .38em * var(--q,1)); transform-origin:left center;
    transform:scale(calc(.2 + .8 * var(--q,1))); opacity:calc(.28 + .72 * var(--q,1)); will-change:transform,opacity;
}
.rtf-q7-line{ display:block; white-space:nowrap; }
.rtf-q7-copy{ text-shadow:0 0 26px rgba(var(--q7-bg-rgb),.85),0 0 10px rgba(var(--q7-bg-rgb),.7),0 0 2px rgba(var(--q7-bg-rgb),.6); }
.rtf-q7-fear{ display:inline-block; color:var(--q7-brand); filter:blur(calc((1 - var(--q,1)) * 14px)); }
.rtf-q7-a{ margin:clamp(20px,3vw,40px) 0 0; display:grid; gap:6px; color:var(--q7-brand); font-size:clamp(18px,2vw,28px); line-height:1.3; font-weight:600; letter-spacing:-.01em; max-width:34ch; }
.rtf-q7-a span{ display:block; opacity:var(--l,1); transform:translateY(calc((1 - var(--l,1)) * 34px)); }
.rtf-q7-a span:nth-child(2){ opacity:var(--l2,1); transform:translateY(calc((1 - var(--l2,1)) * 34px)); color:var(--q7-text); font-size:.72em; font-weight:500; }

/* outline numeral */
.rtf-q7-num{
    position:absolute; z-index:1; inset-inline-end:clamp(24px,9vw,170px); top:50%; font-size:clamp(220px,38vw,560px); line-height:.8; font-weight:600; letter-spacing:-.06em;
    color:transparent; -webkit-text-stroke:2px var(--q7-line); pointer-events:none; user-select:none;
    transform:translate3d(0,calc(-50% + var(--u,0) * -150px),0); will-change:transform;
}

/* index 01 · 02 · 03 · 04 */
.rtf-q7.is-live .rtf-q7-index{ position:absolute; z-index:4; inset-inline-end:clamp(14px,2.4vw,40px); top:50%; transform:translateY(-50%); display:grid; gap:14px; }
.rtf-q7-index button{ display:flex; align-items:center; justify-content:flex-end; gap:10px; padding:6px 4px; border:0; background:transparent; color:var(--q7-muted); font:inherit; font-size:13px; font-weight:600; letter-spacing:.1em; cursor:pointer; transition:color .3s ease; }
.rtf-q7-index button{ text-shadow:0 0 10px rgba(var(--q7-bg-rgb),.95),0 0 3px rgba(var(--q7-bg-rgb),.9); }
.rtf-q7-index button i{ width:14px; height:2px; background:currentColor; transition:width .4s ease; }
.rtf-q7-index button.is-active,.rtf-q7-index button:hover,.rtf-q7-index button:focus-visible{ color:var(--q7-brand-strong); background:transparent; }
.rtf-q7-index button.is-active i{ width:34px; }
.rtf-q7-index button:focus-visible,.rtf-q7-link:focus-visible{ outline:2px solid var(--q7-brand); outline-offset:3px; }

/* outro */
.rtf-q7-outro{ flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:0; }
.rtf-q7-mark{ display:block; color:var(--q7-brand); font-size:clamp(190px,34vw,460px); line-height:.82; font-weight:600; transform:scale(var(--ms,1)); transform-origin:center 60%; }
.rtf-q7-welcome{ position:relative; margin:clamp(14px,2vw,26px) 0 0; max-width:22ch; color:var(--q7-heading); font-size:clamp(24px,3.2vw,46px); line-height:1.15; font-weight:600; letter-spacing:-.025em; opacity:var(--w,1); transform:translateY(calc((1 - var(--w,1)) * 30px)); }
.rtf-q7-link{ position:relative; display:inline-flex; align-items:center; gap:10px; margin-top:clamp(18px,2.4vw,30px); padding-bottom:4px; color:var(--q7-brand-strong); font-size:clamp(17px,1.5vw,20px); font-weight:600; text-decoration:none; border-bottom:2px solid var(--q7-brand); opacity:var(--w,1); transition:color .3s ease,gap .3s ease,border-color .3s ease; }
.rtf-q7-link i::before{ content:"→"; font-style:normal; }
.rtf-q7-link:hover,.rtf-q7-link:focus-visible{ color:var(--q7-heading); gap:16px; border-color:var(--q7-heading); text-decoration:none; background:transparent; }

/* tablet */
@media (max-width:1024px){
    .rtf-q7{ --q7-phase:140svh; }
    .rtf-q7-num{ inset-inline-end:16px; }
}
/* mobile */
@media (max-width:640px){
    .rtf-q7{ --q7-h:clamp(480px,calc(100svh - 110px),680px); --q7-phase:125svh; }
    .rtf-q7.is-live .rtf-q7-stage{ top:max(72px,calc((100svh - var(--q7-h)) / 2)); }
    .rtf-q7-copy{ padding-inline-end:34px; }
    .rtf-q7-q{ font-size:min(var(--max),9.5vw); letter-spacing:calc(.12em - .16em * var(--q,1)); }
    .rtf-q7-line{ white-space:normal; }
    .rtf-q7-num{ font-size:62vw; opacity:.8; }
    .rtf-q7.is-live .rtf-q7-index{ gap:8px; inset-inline-end:8px; }
    .rtf-q7-index button b{ font-size:11px; }
    .rtf-q7-index button i{ display:none; }
    .rtf-q7.is-live .rtf-q7-scrim{ background:linear-gradient(to bottom,rgba(var(--q7-bg-rgb),.42),rgba(var(--q7-bg-rgb),.2) 55%,rgba(var(--q7-bg-rgb),.05)); }
}

@media (min-width:1280px) and (max-width:1599px) and (max-height:800px){
    .rtf-q7{
        --q7-h:min(780px,calc(100svh - 72px));
    }

    .rtf-q7.is-live .rtf-q7-stage{
        top:72px;
    }

    .rtf-q7-mark{
        font-size:clamp(190px,28vw,400px);
    }
}
@media (prefers-reduced-motion:reduce){
    .rtf-q7 *{ transition:none!important; }
}

/* =========================================================
   ROOM TO FEEL — HOME 2
   SECTION 08 — FINAL CTA
   ---------------------------------------------------------
   UNIQUE SCOPE:
   main > section.rtf-h2-cta8

   This section does not style:
   navbar
   hero
   footer
   sections 01–07
   other pages
   ========================================================= */


/* =========================================================
   SECTION BASE
   ========================================================= */

main > section.rtf-h2-cta8 {
    position: relative;
    isolation: isolate;

    background: var(--h2-bg);

    padding-block:
        clamp(72px, 8vw, 120px);

    overflow: hidden;
}


/* =========================================================
   OUTER WRAPPER
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-wrap {
    width: min(
        1440px,
        calc(100% - 112px)
    );

    margin-inline: auto;
}


/* =========================================================
   MAIN RECTANGULAR CONTAINER
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-container {

    position: relative;

    min-height: 720px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding:
        clamp(70px, 8vw, 110px)
        clamp(28px, 7vw, 100px);

    overflow: hidden;

    border-radius: 32px;

    background:
        linear-gradient(
            135deg,
            #A6533F 0%,
            #9A4938 38%,
            #7D382E 72%,
            #4A2C26 100%
        );

    box-shadow:
        0 30px 80px
        rgba(74, 44, 38, .18);

    transform:
        translateZ(0);
}


/* =========================================================
   BACKGROUND SYSTEM
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-background {

    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;

    z-index: 0;
}


/* =========================================================
   SUBTLE WEBSITE GRID
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-grid {

    position: absolute;

    inset: -20%;

    opacity: .13;

    background-image:

        linear-gradient(
            rgba(255,249,243,.35) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,249,243,.35) 1px,
            transparent 1px
        );

    background-size:
        72px 72px;

    transform:
        perspective(700px)
        rotateX(58deg)
        translateY(16%);

    transform-origin:
        center center;

    animation:
        rtfH2Cta8GridMove
        18s linear
        infinite;
}


/* =========================================================
   AMBIENT ORBS
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-orb {

    position: absolute;

    display: block;

    border-radius: 50%;

    pointer-events: none;

    filter: blur(2px);

    opacity: .35;
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-orb-one {

    width: 320px;
    height: 320px;

    top: -150px;
    right: -80px;

    background:
        radial-gradient(
            circle,
            rgba(235,214,197,.42),
            transparent 68%
        );

    animation:
        rtfH2Cta8OrbOne
        9s ease-in-out
        infinite;
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-orb-two {

    width: 260px;
    height: 260px;

    bottom: -120px;
    left: -70px;

    background:
        radial-gradient(
            circle,
            rgba(214,161,143,.30),
            transparent 70%
        );

    animation:
        rtfH2Cta8OrbTwo
        11s ease-in-out
        infinite;
}


/* =========================================================
   TWO VERY SUBTLE DECORATIVE LINES
   Not a left-side line system.
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-line {

    position: absolute;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,249,243,.30),
            transparent
        );

    opacity: .55;
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-line-one {

    width: 52%;

    top: 18%;

    right: -8%;

    animation:
        rtfH2Cta8LineMove
        8s ease-in-out
        infinite;
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-line-two {

    width: 38%;

    bottom: 17%;

    left: -4%;

    animation:
        rtfH2Cta8LineMoveReverse
        10s ease-in-out
        infinite;
}


/* =========================================================
   SOFT CENTER GLOW
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-glow {

    position: absolute;

    width: 620px;
    height: 420px;

    top: 50%;
    left: 50%;

    transform:
        translate(-50%, -50%);

    background:
        radial-gradient(
            ellipse,
            rgba(255,249,243,.14),
            rgba(255,249,243,.04) 38%,
            transparent 72%
        );

    filter: blur(8px);

    animation:
        rtfH2Cta8Glow
        7s ease-in-out
        infinite;
}


/* =========================================================
   CONTENT
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-content {

    position: relative;

    z-index: 2;

    width: min(
        900px,
        100%
    );

    margin-inline: auto;

    text-align: center;

    color: #FFF9F3;
}


/* =========================================================
   KICKER
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-kicker {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    margin-bottom: 24px;

    color: #FFF9F3;

    font-size: 14px;

    line-height: 1.3;

    font-weight: 600;

    letter-spacing: .09em;

    text-transform: uppercase;
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-kicker::before {

    content: "";

    width: 28px;
    height: 1px;

    flex: 0 0 28px;

    background:
        rgba(255,249,243,.72);
}


/* =========================================================
   HEADING
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-content h2 {

    margin: 0;

    color: #FFF9F3;

    font-size:
        clamp(42px, 5.2vw, 72px);

    line-height: 1.06;

    font-weight: 600;

    letter-spacing: -.045em;

    text-wrap: balance;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-description {

    width: min(
        680px,
        100%
    );

    margin:
        25px auto 0;

    color:
        rgba(255,249,243,.88);

    font-size: 18px;

    line-height: 1.72;

    font-weight: 500;

    text-wrap: balance;
}


/* =========================================================
   MAIN CTA
   SAME BUTTON THEME AS EXISTING SITE
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-button {

    margin-top: 34px;

    background:
        #F5E9DC;

    color:
        #7D382E;

    border:
        1px solid
        rgba(245,233,220,.95);

    box-shadow:
        0 12px 28px
        rgba(48,36,33,.16);

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-button:hover {

    background:
        #FFF9F3;

    color:
        #7D382E;

    transform:
        translateY(-4px);

    box-shadow:
        0 18px 38px
        rgba(48,36,33,.22);
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-button svg {

    transition:
        transform .3s ease;
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-button:hover svg {

    transform:
        translateX(4px);
}


/* =========================================================
   PATHWAYS
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-pathways {

    width: 100%;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    margin-top: 58px;

    border-top:
        1px solid
        rgba(255,249,243,.25);

    border-bottom:
        1px solid
        rgba(255,249,243,.25);
}


/* =========================================================
   PATHWAY ITEM
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-pathway {

    position: relative;

    min-width: 0;

    display: grid;

    grid-template-columns:
        30px
        minmax(0, 1fr)
        24px;

    gap: 14px;

    align-items: center;

    padding:
        23px 20px;

    border: 0;

    border-inline-start:
        1px solid
        rgba(255,249,243,.22);

    background:
        transparent;

    color:
        #FFF9F3;

    text-align: start;

    cursor: pointer;

    transition:
        background .35s ease,
        transform .35s ease,
        padding .35s ease;
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-pathway:first-child {

    border-inline-start: 0;
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-pathway:hover,
main > section.rtf-h2-cta8
.rtf-h2-cta8-pathway.is-active {

    background:
        rgba(255,249,243,.09);

    transform:
        translateY(-2px);
}


/* =========================================================
   PATHWAY NUMBER
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-number {

    color:
        #F5E9DC;

    font-size: 13px;

    font-weight: 600;

    align-self: start;

    padding-top: 2px;
}


/* =========================================================
   PATHWAY COPY
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-pathway-copy {

    min-width: 0;

    display: flex;

    flex-direction: column;

    gap: 5px;
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-pathway strong {

    display: block;

    color:
        #FFF9F3;

    font-size: 16px;

    line-height: 1.35;

    font-weight: 600;
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-pathway em {

    display: block;

    color:
        rgba(255,249,243,.72);

    font-size: 14px;

    line-height: 1.45;

    font-style: normal;

    font-weight: 500;
}


/* =========================================================
   PATHWAY ARROW
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-pathway b {

    color:
        #FFF9F3;

    font-size: 21px;

    font-weight: 500;

    transition:
        transform .3s ease;
}


main > section.rtf-h2-cta8
.rtf-h2-cta8-pathway:hover b,
main > section.rtf-h2-cta8
.rtf-h2-cta8-pathway.is-active b {

    transform:
        translate(4px, -4px);
}


/* =========================================================
   FOCUS
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-button:focus-visible,
main > section.rtf-h2-cta8
.rtf-h2-cta8-pathway:focus-visible {

    outline:
        2px solid
        #FFF9F3;

    outline-offset: 4px;
}


/* =========================================================
   SECTION 8 ENTRANCE
   ========================================================= */

main > section.rtf-h2-cta8
.rtf-h2-cta8-container {

    opacity: 0;

    transform:
        translateY(30px)
        scale(.985);

    transition:
        opacity .85s ease,
        transform 1s cubic-bezier(.2,.7,.2,1);
}


main > section.rtf-h2-cta8.is-visible
.rtf-h2-cta8-container {

    opacity: 1;

    transform:
        translateY(0)
        scale(1);
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes rtfH2Cta8GridMove {

    0% {
        transform:
            perspective(700px)
            rotateX(58deg)
            translate3d(0,16%,0);
    }

    50% {
        transform:
            perspective(700px)
            rotateX(58deg)
            translate3d(-36px,12%,0);
    }

    100% {
        transform:
            perspective(700px)
            rotateX(58deg)
            translate3d(0,16%,0);
    }
}


@keyframes rtfH2Cta8OrbOne {

    0%,100% {
        transform:
            translate3d(0,0,0)
            scale(1);
    }

    50% {
        transform:
            translate3d(-35px,28px,0)
            scale(1.08);
    }
}


@keyframes rtfH2Cta8OrbTwo {

    0%,100% {
        transform:
            translate3d(0,0,0)
            scale(1);
    }

    50% {
        transform:
            translate3d(32px,-25px,0)
            scale(1.06);
    }
}


@keyframes rtfH2Cta8LineMove {

    0%,100% {
        transform:
            translateX(0);
        opacity: .35;
    }

    50% {
        transform:
            translateX(-35px);
        opacity: .65;
    }
}


@keyframes rtfH2Cta8LineMoveReverse {

    0%,100% {
        transform:
            translateX(0);
        opacity: .28;
    }

    50% {
        transform:
            translateX(35px);
        opacity: .55;
    }
}


@keyframes rtfH2Cta8Glow {

    0%,100% {
        opacity: .65;
        transform:
            translate(-50%,-50%)
            scale(.96);
    }

    50% {
        opacity: 1;
        transform:
            translate(-50%,-50%)
            scale(1.06);
    }
}


/* =========================================================
   LAPTOP-L
   1280–1439
   ========================================================= */

@media (min-width:1280px) and (max-width:1439px) {

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-wrap {

        width:
            calc(100% - 88px);
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-container {

        min-height: 680px;
    }
}


/* =========================================================
   LAPTOP
   1024–1279
   ========================================================= */

@media (min-width:1024px) and (max-width:1279px) {

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-wrap {

        width:
            calc(100% - 64px);
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-container {

        min-height: 650px;

        padding:
            72px 56px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-content h2 {

        font-size: 54px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-description {

        font-size: 17px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathway {

        padding-inline: 15px;

        grid-template-columns:
            26px
            minmax(0,1fr)
            20px;

        gap: 10px;
    }
}


/* =========================================================
   TABLET
   768–1023
   ========================================================= */

@media (min-width:768px) and (max-width:1023px) {

    main > section.rtf-h2-cta8 {

        padding-block: 72px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-wrap {

        width:
            calc(100% - 48px);
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-container {

        min-height: 680px;

        padding:
            72px 42px;

        border-radius: 28px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-content h2 {

        font-size: 44px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-description {

        font-size: 17px;

        max-width: 600px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathways {

        grid-template-columns:
            1fr;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathway {

        border-inline-start: 0;

        border-bottom:
            1px solid
            rgba(255,249,243,.22);

        padding:
            18px 10px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathway:last-child {

        border-bottom: 0;
    }
}


/* =========================================================
   MOBILE-L
   390–767
   ========================================================= */

@media (min-width:390px) and (max-width:767px) {

    main > section.rtf-h2-cta8 {

        padding-block: 52px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-wrap {

        width:
            calc(100% - 28px);
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-container {

        min-height: auto;

        padding:
            62px 22px 30px;

        border-radius: 24px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-grid {

        background-size:
            52px 52px;

        opacity: .10;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-content h2 {

        font-size: 36px;

        line-height: 1.1;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-description {

        margin-top: 20px;

        font-size: 17px;

        line-height: 1.65;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-button {

        margin-top: 28px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathways {

        grid-template-columns:
            1fr;

        margin-top: 42px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathway {

        border-inline-start: 0;

        border-bottom:
            1px solid
            rgba(255,249,243,.22);

        padding:
            18px 4px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathway:last-child {

        border-bottom: 0;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathway strong {

        font-size: 16px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathway em {

        font-size: 14px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-line-one {

        width: 70%;

        top: 13%;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-line-two {

        width: 62%;

        bottom: 12%;
    }
}


/* =========================================================
   MOBILE-M
   360–389
   ========================================================= */

@media (min-width:360px) and (max-width:389px) {

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-wrap {

        width:
            calc(100% - 22px);
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-container {

        padding:
            56px 18px 26px;

        border-radius: 21px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-content h2 {

        font-size: 32px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-description {

        font-size: 16px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-kicker {

        font-size: 13px;

        letter-spacing: .07em;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathway {

        grid-template-columns:
            25px
            minmax(0,1fr)
            20px;

        gap: 8px;
    }
}


/* =========================================================
   MOBILE-S
   320–359
   ========================================================= */

@media (max-width:359px) {

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-wrap {

        width:
            calc(100% - 18px);
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-container {

        padding:
            50px 15px 22px;

        border-radius: 18px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-content h2 {

        font-size: 29px;

        letter-spacing: -.035em;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-description {

        font-size: 16px;

        line-height: 1.6;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-button {

        width: 100%;

        justify-content: center;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathway {

        grid-template-columns:
            23px
            minmax(0,1fr)
            18px;

        gap: 7px;

        padding-inline: 0;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-number {

        font-size: 12px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathway strong {

        font-size: 15px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-pathway em {

        font-size: 13px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-orb-one {

        width: 220px;
        height: 220px;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-orb-two {

        width: 190px;
        height: 190px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-container,
    main > section.rtf-h2-cta8
    .rtf-h2-cta8-grid,
    main > section.rtf-h2-cta8
    .rtf-h2-cta8-orb,
    main > section.rtf-h2-cta8
    .rtf-h2-cta8-line,
    main > section.rtf-h2-cta8
    .rtf-h2-cta8-glow {

        animation: none !important;

        transition: none !important;
    }

    main > section.rtf-h2-cta8
    .rtf-h2-cta8-container {

        opacity: 1;

        transform: none;
    }
}

/* =========================================================
   ROOM TO FEEL — SERVICES PAGE
   SECTION-ONLY STYLES
   ========================================================= */


/* =========================================================
   DESIGN TOKENS
   ========================================================= */

main.rtf-services-page > section{
    --services-bg: #F5E9DC;
    --services-surface: #EBD6C5;
    --services-brand: #A6533F;
    --services-brand-dark: #7D382E;
    --services-heading: #302421;
    --services-text: #4A2C26;
    --services-muted: #795F55;
    --services-soft: #D6A18F;
    --services-border: #CDB5A4;
    --services-white: #FFF9F3;

    position: relative;
    box-sizing: border-box;
    overflow: hidden;

    font-family:
        "Plus Jakarta Sans",
        sans-serif;

    color: var(--services-heading);
    background: var(--services-bg);
}

main.rtf-services-page > section *,
main.rtf-services-page > section *::before,
main.rtf-services-page > section *::after{
    box-sizing: border-box;
}


/* =========================================================
   GLOBAL PAGE SECTION TYPOGRAPHY
   ========================================================= */

main.rtf-services-page > section h1,
main.rtf-services-page > section h2,
main.rtf-services-page > section h3,
main.rtf-services-page > section h4,
main.rtf-services-page > section p{
    margin-top: 0;
}

main.rtf-services-page > section p{
    color: var(--services-text);
}


/* =========================================================
   REVEAL ANIMATION
   ========================================================= */

main.rtf-services-page .rtf-services-reveal{
    opacity: 0;
    transform: translateY(34px);
    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.2,.75,.25,1);
}

main.rtf-services-page .rtf-services-reveal.is-visible{
    opacity: 1;
    transform: translateY(0);
}


/* =========================================================
   SECTION 01 — HERO
   ========================================================= */

main.rtf-services-page .rtf-services-hero{
    min-height: 70vh;
    height: 70vh;

    display: flex;
    align-items: center;
    justify-content: center;

    isolation: isolate;

    background:
        var(--services-brand-dark);
}

main.rtf-services-page .rtf-services-hero-image-wrap{
    position: absolute;
    inset: 0;
    z-index: -3;

    overflow: hidden;
}

main.rtf-services-page .rtf-services-hero-image{
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 48%;

    transform: scale(1.04);

    animation:
        servicesHeroImageIn 1.4s ease forwards;
}

@keyframes servicesHeroImageIn{
    from{
        opacity: 0;
        transform: scale(1.1);
    }

    to{
        opacity: 1;
        transform: scale(1.04);
    }
}

main.rtf-services-page .rtf-services-hero-overlay{
    position: absolute;
    inset: 0;
    z-index: -2;

    background:
        linear-gradient(
            135deg,
            rgba(74,44,38,.86),
            rgba(125,56,46,.66) 52%,
            rgba(48,36,33,.72)
        );
}

main.rtf-services-page .rtf-services-hero-content{
    width: min(900px, calc(100% - 48px));

    text-align: center;

    color: var(--services-white);

    z-index: 2;
}

main.rtf-services-page .rtf-services-eyebrow{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 22px;

    font-size: 15px;
    font-weight: 500;
    letter-spacing: .16em;

    color: #F5E9DC;
}

main.rtf-services-page .rtf-services-hero-content h1{
    margin-bottom: 24px;

    font-size: 64px;
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -.045em;

    color: #FFF9F3;
}

main.rtf-services-page .rtf-services-hero-content p{
    max-width: 720px;
    margin: 0 auto;

    font-size: 20px;
    line-height: 1.65;
    font-weight: 500;

    color: #F5E9DC;
}


/* HERO SHAPES */

main.rtf-services-page .rtf-services-hero-shape{
    position: absolute;
    z-index: -1;

    border: 1px solid rgba(245,233,220,.16);
    border-radius: 50%;

    pointer-events: none;

    animation:
        servicesFloat 8s ease-in-out infinite;
}

main.rtf-services-page .rtf-services-hero-shape-one{
    width: 420px;
    height: 420px;

    left: -170px;
    bottom: -220px;
}

main.rtf-services-page .rtf-services-hero-shape-two{
    width: 280px;
    height: 280px;

    right: -100px;
    top: -120px;

    animation-delay: -3s;
}

@keyframes servicesFloat{
    0%,
    100%{
        transform: translate3d(0,0,0);
    }

    50%{
        transform: translate3d(0,-16px,0);
    }
}


/* =========================================================
   SECTION 02 — INTRO / THREE STEPS
   ========================================================= */

main.rtf-services-page .rtf-services-intro{
    padding:
        120px
        max(48px, 6vw)
        125px;

    background: var(--services-bg);
}

main.rtf-services-page .rtf-services-intro-heading{
    width: min(850px, 100%);
    margin: 0 auto 76px;

    text-align: center;
}

main.rtf-services-page .rtf-services-section-label{
    display: block;

    margin-bottom: 20px;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;

    letter-spacing: .13em;

    color: var(--services-brand);
}

main.rtf-services-page .rtf-services-intro-heading h2{
    margin-bottom: 24px;

    font-size: 42px;
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: -.035em;

    color: var(--services-heading);
}

main.rtf-services-page .rtf-services-intro-heading p{
    max-width: 700px;
    margin: 0 auto;

    font-size: 18px;
    line-height: 1.7;
    font-weight: 500;

    color: var(--services-muted);
}


/* PROCESS GRID */

main.rtf-services-page .rtf-services-process{
    width: min(1180px, 100%);
    margin: 0 auto;

    display: grid;
    grid-template-columns:
        repeat(3, minmax(0,1fr));

    position: relative;
}


/* CONNECTING LINE */

main.rtf-services-page .rtf-services-process::before{
    content: "";

    position: absolute;

    top: 53px;
    left: 16.5%;
    right: 16.5%;

    height: 1px;

    background:
        var(--services-border);
}


main.rtf-services-page .rtf-services-process-item{
    position: relative;

    padding:
        0 42px 10px;

    text-align: center;
}


main.rtf-services-page .rtf-services-process-icon{
    position: relative;
    z-index: 2;

    width: 106px;
    height: 106px;

    margin: 0 auto 26px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        var(--services-brand);

    border-radius: 50%;

    background:
        var(--services-bg);

    color: var(--services-brand);

    transition:
        transform .45s ease,
        background .45s ease,
        color .45s ease;
}

main.rtf-services-page .rtf-services-process-item:hover
.rtf-services-process-icon{
    transform:
        translateY(-7px)
        rotate(-3deg);

    background: var(--services-brand);
    color: var(--services-white);
}

main.rtf-services-page .rtf-services-process-icon svg{
    width: 38px;
    height: 38px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}


main.rtf-services-page .rtf-services-process-number{
    margin-bottom: 10px;

    font-size: 14px;
    font-weight: 500;

    color: var(--services-brand);
}


main.rtf-services-page .rtf-services-process-item h3{
    margin-bottom: 13px;

    font-size: 23px;
    line-height: 1.3;
    font-weight: 500;

    color: var(--services-heading);
}


main.rtf-services-page .rtf-services-process-item p{
    max-width: 300px;
    margin: 0 auto;

    font-size: 16px;
    line-height: 1.65;
    font-weight: 500;

    color: var(--services-muted);
}


/* =========================================================
   SECTION 03 — MAIN SERVICES
   ========================================================= */

main.rtf-services-page .rtf-services-main{
    padding:
        120px
        max(40px, 5vw)
        140px;

    background: var(--services-surface);
}


main.rtf-services-page .rtf-services-main-heading{
    width: min(850px, 100%);
    margin: 0 auto 48px;

    text-align: center;
}


main.rtf-services-page .rtf-services-main-heading h2{
    margin-bottom: 22px;

    font-size: 42px;
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: -.035em;

    color: var(--services-heading);
}


main.rtf-services-page .rtf-services-main-heading p{
    max-width: 700px;
    margin: 0 auto;

    font-size: 18px;
    line-height: 1.65;
    font-weight: 500;

    color: var(--services-muted);
}


/* =========================================================
   SERVICES — THERAPY TAB SWITCHER
   FULL ROUNDED ACTIVE CONTAINER
   Scoped ONLY to Services page
   ========================================================= */

main.rtf-services-page .rtf-services-main .rtf-services-tabs {
    width: fit-content;
    max-width: 100%;

    margin: 48px auto 56px;
    padding: 6px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 4px;

    background: rgba(125, 56, 46, 0.10);

    border: 1px solid var(--services-border);
    border-radius: 18px;

    box-sizing: border-box;
}


/* =========================================================
   INDIVIDUAL / COUPLES BUTTON
   ========================================================= */

main.rtf-services-page .rtf-services-main .rtf-services-tab {
    position: relative;

    min-width: 190px;
    min-height: 52px;

    padding: 13px 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 13px;

    background: transparent;

    color: var(--services-muted);

    font-family:
        "Plus Jakarta Sans",
        sans-serif;

    font-size: 16px;
    line-height: 1.3;
    font-weight: 500;

    text-align: center;
    white-space: nowrap;

    cursor: pointer;

    box-sizing: border-box;

    transition:
        background-color .35s ease,
        color .35s ease,
        transform .35s ease,
        box-shadow .35s ease;
}


/* =========================================================
   REMOVE OLD UNDERLINE / INDICATOR EFFECT
   ========================================================= */

main.rtf-services-page .rtf-services-main .rtf-services-tab::before,
main.rtf-services-page .rtf-services-main .rtf-services-tab::after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   NORMAL HOVER
   ========================================================= */

main.rtf-services-page .rtf-services-main .rtf-services-tab:hover {
    background: rgba(166, 83, 63, 0.08);
    color: var(--services-heading);

    transform: translateY(-1px);
}


/* =========================================================
   ACTIVE TAB
   WHOLE ROUNDED RECTANGLE IS FILLED
   ========================================================= */

main.rtf-services-page .rtf-services-main .rtf-services-tab.is-active {
    background: var(--services-brand);

    color: var(--services-white);

    border-radius: 13px;

    box-shadow:
        0 8px 22px rgba(74, 44, 38, 0.16);

    transform: translateY(-1px);
}


/* =========================================================
   ACTIVE HOVER
   ========================================================= */

main.rtf-services-page .rtf-services-main .rtf-services-tab.is-active:hover {
    background: var(--services-brand-dark);

    color: var(--services-white);

    transform: translateY(-1px);
}


/* =========================================================
   KEYBOARD FOCUS
   ========================================================= */

main.rtf-services-page .rtf-services-main .rtf-services-tab:focus-visible {
    outline: 2px solid var(--services-brand);

    outline-offset: 3px;
}


/* =========================================================
   TABLET
   768px — 1023px
   ========================================================= */

@media (min-width: 768px) and (max-width: 1023px) {

    main.rtf-services-page .rtf-services-main .rtf-services-tabs {
        width: fit-content;

        margin-top: 42px;
        margin-bottom: 48px;

        padding: 6px;
    }

    main.rtf-services-page .rtf-services-main .rtf-services-tab {
        min-width: 175px;
        min-height: 50px;

        padding: 12px 22px;

        font-size: 16px;
    }
}


/* =========================================================
   MOBILE-L / MOBILE-M
   360px — 767px
   ========================================================= */

@media (max-width: 767px) {

    main.rtf-services-page .rtf-services-main .rtf-services-tabs {
        width: 100%;
        max-width: 430px;

        margin: 34px auto 40px;

        padding: 5px;

        gap: 4px;

        border-radius: 16px;
    }

    main.rtf-services-page .rtf-services-main .rtf-services-tab {
        flex: 1 1 50%;

        min-width: 0;
        min-height: 50px;

        padding: 12px 10px;

        border-radius: 11px;

        font-size: 15px;

        white-space: normal;
    }

    main.rtf-services-page .rtf-services-main .rtf-services-tab.is-active {
        border-radius: 11px;
    }
}


/* =========================================================
   MOBILE-S
   <=359px
   ========================================================= */

@media (max-width: 359px) {

    main.rtf-services-page .rtf-services-main .rtf-services-tabs {
        width: 100%;

        margin-top: 30px;
        margin-bottom: 36px;

        padding: 4px;

        gap: 3px;

        border-radius: 14px;
    }

    main.rtf-services-page .rtf-services-main .rtf-services-tab {
        min-height: 48px;

        padding: 10px 7px;

        border-radius: 10px;

        font-size: 14px;
    }

    main.rtf-services-page .rtf-services-main .rtf-services-tab.is-active {
        border-radius: 10px;
    }
}
/* =========================================================
   MAIN SERVICE STAGE
   ========================================================= */

main.rtf-services-page .rtf-services-service-stage{
    width: min(1380px, 100%);

    min-height: 650px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(250px, .86fr)
        minmax(350px, 1.1fr)
        minmax(250px, .86fr);

    align-items: stretch;

    gap: 0;

    position: relative;

    visibility: hidden;

    opacity: 0;

    pointer-events: none;

    position: absolute;

    left: 50%;

    transform:
        translateX(-50%)
        translateY(24px)
        scale(.985);

    transition:
        opacity .45s ease,
        transform .55s cubic-bezier(.2,.75,.25,1),
        visibility 0s linear .55s;
}


main.rtf-services-page .rtf-services-service-stage.is-active{
    position: relative;

    left: auto;

    transform:
        translateX(0)
        translateY(0)
        scale(1);

    visibility: visible;

    opacity: 1;

    pointer-events: auto;

    transition:
        opacity .45s ease,
        transform .55s cubic-bezier(.2,.75,.25,1),
        visibility 0s;
}


/* =========================================================
   SIDE CONTENT
   ========================================================= */

main.rtf-services-page .rtf-services-side{
    min-height: 650px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    padding:
        38px 38px;

    background: var(--services-bg);

    border:
        1px solid
        var(--services-border);
}


main.rtf-services-page .rtf-services-side-left{
    border-right: 0;

    border-radius:
        28px 0 0 28px;
}


main.rtf-services-page .rtf-services-side-right{
    border-left: 0;

    border-radius:
        0 28px 28px 0;
}


main.rtf-services-page .rtf-services-service-number{
    display: block;

    margin-bottom: 12px;

    font-size: 14px;
    font-weight: 500;

    color: var(--services-brand);
}


main.rtf-services-page .rtf-services-service-label{
    display: block;

    margin-bottom: 17px;

    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;

    letter-spacing: .12em;

    color: var(--services-brand);
}


main.rtf-services-page .rtf-services-side h3{
    margin-bottom: 20px;

    font-size: 36px;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: -.035em;

    color: var(--services-heading);
}


main.rtf-services-page .rtf-services-side h4{
    margin-bottom: 19px;

    font-size: 27px;
    line-height: 1.25;
    font-weight: 500;
    letter-spacing: -.02em;

    color: var(--services-heading);
}


main.rtf-services-page .rtf-services-side p{
    font-size: 16px;
    line-height: 1.7;
    font-weight: 500;

    color: var(--services-muted);
}


main.rtf-services-page .rtf-services-side-top{
    max-width: 390px;
}


main.rtf-services-page .rtf-services-side-bottom{
    max-width: 390px;
}


main.rtf-services-page .rtf-services-mini-label{
    display: block;

    margin-bottom: 14px;

    font-size: 13px;
    font-weight: 500;
    letter-spacing: .1em;

    color: var(--services-brand);
}


/* CHECK LIST */

main.rtf-services-page .rtf-services-check-list{
    list-style: none;

    margin: 0;
    padding: 0;
}


main.rtf-services-page .rtf-services-check-list li{
    position: relative;

    padding:
        10px 0 10px 24px;

    border-top:
        1px solid
        var(--services-border);

    font-size: 15px;
    line-height: 1.45;
    font-weight: 500;

    color: var(--services-text);
}


main.rtf-services-page .rtf-services-check-list li:last-child{
    border-bottom:
        1px solid
        var(--services-border);
}


main.rtf-services-page .rtf-services-check-list li::before{
    content: "";

    position: absolute;

    width: 7px;
    height: 7px;

    left: 0;
    top: 50%;

    transform: translateY(-50%);

    border-radius: 50%;

    background: var(--services-brand);
}


/* =========================================================
   CENTER IMAGE
   ========================================================= */

main.rtf-services-page .rtf-services-image-column{
    height: 650px;

    margin: 0;

    position: relative;

    z-index: 3;

    overflow: visible;
}


main.rtf-services-page .rtf-services-image-frame{
    width: 100%;
    height: 100%;

    position: relative;

    overflow: hidden;

    border-radius: 28px;

    background: var(--services-brand-dark);

    box-shadow:
        0 18px 50px
        rgba(74,44,38,.16);
}


main.rtf-services-page .rtf-services-main-image{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    transform: scale(1.02);

    transition:
        transform .9s cubic-bezier(.2,.75,.25,1);
}


main.rtf-services-page .rtf-services-service-stage.is-active
.rtf-services-image-frame:hover
.rtf-services-main-image{
    transform: scale(1.06);
}


main.rtf-services-page .rtf-services-image-overlay{
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(48,36,33,.65),
            transparent 48%
        );

    pointer-events: none;
}


main.rtf-services-page .rtf-services-image-frame figcaption,
main.rtf-services-page .rtf-services-image-frame > figcaption{
    position: absolute;

    left: 30px;
    right: 30px;
    bottom: 30px;

    z-index: 2;

    margin: 0;

    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;

    color: #FFF9F3;
}


/* =========================================================
   RIGHT SIDE CTA
   ========================================================= */

main.rtf-services-page .rtf-services-pace-text{
    margin-bottom: 22px;
}


main.rtf-services-page .rtf-services-cta{
    min-height: 50px;

    padding:
        0 19px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    border-radius: 8px;

    background: var(--services-brand);

    color: #FFF9F3;

    text-decoration: none;

    font-size: 15px;
    font-weight: 500;

    transition:
        background .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}


main.rtf-services-page .rtf-services-cta:hover{
    background: var(--services-brand-dark);

    transform: translateY(-2px);

    box-shadow:
        0 9px 22px
        rgba(74,44,38,.16);
}


main.rtf-services-page .rtf-services-cta span{
    font-size: 20px;
    line-height: 1;
}


/* =========================================================
   SERVICE SWITCH ANIMATION
   ========================================================= */

main.rtf-services-page
.rtf-services-service-stage[data-service-panel="individual"].is-active
.rtf-services-side-left{
    animation:
        servicesLeftIn .7s cubic-bezier(.2,.75,.25,1) both;
}

main.rtf-services-page
.rtf-services-service-stage[data-service-panel="individual"].is-active
.rtf-services-image-column{
    animation:
        servicesCenterIn .75s cubic-bezier(.2,.75,.25,1) .05s both;
}

main.rtf-services-page
.rtf-services-service-stage[data-service-panel="individual"].is-active
.rtf-services-side-right{
    animation:
        servicesRightIn .7s cubic-bezier(.2,.75,.25,1) both;
}


main.rtf-services-page
.rtf-services-service-stage[data-service-panel="couples"].is-active
.rtf-services-side-left{
    animation:
        servicesLeftIn .7s cubic-bezier(.2,.75,.25,1) both;
}

main.rtf-services-page
.rtf-services-service-stage[data-service-panel="couples"].is-active
.rtf-services-image-column{
    animation:
        servicesCenterIn .75s cubic-bezier(.2,.75,.25,1) .05s both;
}

main.rtf-services-page
.rtf-services-service-stage[data-service-panel="couples"].is-active
.rtf-services-side-right{
    animation:
        servicesRightIn .7s cubic-bezier(.2,.75,.25,1) both;
}


@keyframes servicesLeftIn{
    from{
        opacity: 0;
        transform: translateX(-42px);
    }

    to{
        opacity: 1;
        transform: translateX(0);
    }
}


@keyframes servicesRightIn{
    from{
        opacity: 0;
        transform: translateX(42px);
    }

    to{
        opacity: 1;
        transform: translateX(0);
    }
}


@keyframes servicesCenterIn{
    from{
        opacity: 0;
        transform:
            translateY(24px)
            scale(.94);
    }

    to{
        opacity: 1;
        transform:
            translateY(0)
            scale(1);
    }
}


/* =========================================================
   LAPTOP-L — 1280–1439
   ========================================================= */

@media (min-width:1280px) and (max-width:1439px){

    main.rtf-services-page .rtf-services-service-stage{
        min-height: 610px;
    }

    main.rtf-services-page .rtf-services-side{
        min-height: 610px;

        padding:
            34px 30px;
    }

    main.rtf-services-page .rtf-services-image-column{
        height: 610px;
    }

    main.rtf-services-page .rtf-services-side h3{
        font-size: 33px;
    }

    main.rtf-services-page .rtf-services-side h4{
        font-size: 25px;
    }
}


/* =========================================================
   LAPTOP — 1024–1279
   ========================================================= */

@media (min-width:1024px) and (max-width:1279px){

    main.rtf-services-page .rtf-services-hero-content h1{
        font-size: 56px;
    }

    main.rtf-services-page .rtf-services-intro-heading h2,
    main.rtf-services-page .rtf-services-main-heading h2{
        font-size: 38px;
    }

    main.rtf-services-page .rtf-services-service-stage{
        min-height: 560px;

        grid-template-columns:
            minmax(210px,.8fr)
            minmax(300px,1.05fr)
            minmax(210px,.8fr);
    }

    main.rtf-services-page .rtf-services-side{
        min-height: 560px;

        padding:
            30px 24px;
    }

    main.rtf-services-page .rtf-services-image-column{
        height: 560px;
    }

    main.rtf-services-page .rtf-services-side h3{
        font-size: 30px;
    }

    main.rtf-services-page .rtf-services-side h4{
        font-size: 23px;
    }

    main.rtf-services-page .rtf-services-side p{
        font-size: 15px;
    }
}


/* =========================================================
   TABLET — 768–1023
   ========================================================= */

@media (min-width:768px) and (max-width:1023px){

    main.rtf-services-page .rtf-services-hero{
        min-height: 70vh;
        height: 70vh;
    }

    main.rtf-services-page .rtf-services-hero-content{
        width: min(760px, calc(100% - 56px));
    }

    main.rtf-services-page .rtf-services-hero-content h1{
        font-size: 52px;
    }

    main.rtf-services-page .rtf-services-hero-content p{
        font-size: 19px;
    }

    main.rtf-services-page .rtf-services-intro,
    main.rtf-services-page .rtf-services-main{
        padding-left: 40px;
        padding-right: 40px;
    }

    main.rtf-services-page .rtf-services-intro-heading h2,
    main.rtf-services-page .rtf-services-main-heading h2{
        font-size: 36px;
    }

    main.rtf-services-page .rtf-services-process-item{
        padding:
            0 18px;
    }

    main.rtf-services-page .rtf-services-process-item h3{
        font-size: 21px;
    }

    main.rtf-services-page .rtf-services-process-item p{
        font-size: 16px;
    }

    /*
       Tablet switches to a controlled stacked
       service composition to prevent cramped text.
    */

    main.rtf-services-page .rtf-services-service-stage{
        display: grid;

        grid-template-columns:
            1fr 1fr;

        min-height: auto;

        position: relative;

        transform: none;
    }

    main.rtf-services-page .rtf-services-side{
        min-height: 480px;
    }

    main.rtf-services-page .rtf-services-image-column{
        grid-column: 1 / -1;
        grid-row: 1;

        height: 500px;
    }

    main.rtf-services-page .rtf-services-side-left{
        grid-column: 1;
        grid-row: 2;

        border-right:
            1px solid
            var(--services-border);

        border-radius:
            0 0 0 28px;
    }

    main.rtf-services-page .rtf-services-side-right{
        grid-column: 2;
        grid-row: 2;

        border-left:
            1px solid
            var(--services-border);

        border-radius:
            0 0 28px 0;
    }
}


/* =========================================================
   MOBILE-L — 390–767
   ========================================================= */

@media (min-width:390px) and (max-width:767px){

    main.rtf-services-page .rtf-services-hero{
        min-height: 70vh;
        height: 70vh;
    }

    main.rtf-services-page .rtf-services-hero-content{
        width: calc(100% - 38px);
    }

    main.rtf-services-page .rtf-services-eyebrow{
        font-size: 14px;
    }

    main.rtf-services-page .rtf-services-hero-content h1{
        margin-bottom: 20px;

        font-size: 40px;
        line-height: 1.12;
    }

    main.rtf-services-page .rtf-services-hero-content p{
        font-size: 17px;
        line-height: 1.6;
    }

    main.rtf-services-page .rtf-services-intro,
    main.rtf-services-page .rtf-services-main{
        padding:
            82px 20px 90px;
    }

    main.rtf-services-page .rtf-services-intro-heading{
        margin-bottom: 54px;
    }

    main.rtf-services-page .rtf-services-intro-heading h2,
    main.rtf-services-page .rtf-services-main-heading h2{
        font-size: 30px;
        line-height: 1.2;
    }

    main.rtf-services-page .rtf-services-intro-heading p,
    main.rtf-services-page .rtf-services-main-heading p{
        font-size: 17px;
        line-height: 1.65;
    }

    main.rtf-services-page .rtf-services-process{
        display: grid;

        grid-template-columns: 1fr;

        gap: 48px;
    }

    main.rtf-services-page .rtf-services-process::before{
        top: 53px;
        bottom: 53px;
        left: 50%;

        width: 1px;
        height: auto;
    }

    main.rtf-services-page .rtf-services-process-item{
        padding:
            0 15px;
    }

    main.rtf-services-page .rtf-services-process-icon{
        width: 94px;
        height: 94px;
    }

    main.rtf-services-page .rtf-services-tabs{
        width: 100%;

        margin-bottom: 42px;
    }

    main.rtf-services-page .rtf-services-tab{
        flex: 1;

        min-height: 52px;

        padding:
            0 10px;

        font-size: 15px;
    }

    main.rtf-services-page .rtf-services-service-stage{
        display: flex;
        flex-direction: column;

        min-height: 0;

        position: relative;

        transform: none;
    }

    main.rtf-services-page .rtf-services-image-column{
        order: 1;

        height: 430px;
    }

    main.rtf-services-page .rtf-services-side-left{
        order: 2;

        min-height: auto;

        border:
            1px solid
            var(--services-border);

        border-top: 0;

        border-radius:
            0 0 0 0;
    }

    main.rtf-services-page .rtf-services-side-right{
        order: 3;

        min-height: auto;

        border:
            1px solid
            var(--services-border);

        border-top: 0;

        border-radius:
            0 0 28px 28px;
    }

    main.rtf-services-page .rtf-services-side{
        padding:
            30px 25px;
    }

    main.rtf-services-page .rtf-services-side h3{
        font-size: 30px;
    }

    main.rtf-services-page .rtf-services-side h4{
        font-size: 24px;
    }

    main.rtf-services-page .rtf-services-side-bottom{
        margin-top: 42px;
    }

    main.rtf-services-page .rtf-services-image-frame{
        border-radius: 28px;
    }
}


/* =========================================================
   MOBILE-M — 360–389
   ========================================================= */

@media (min-width:360px) and (max-width:389px){

    main.rtf-services-page .rtf-services-hero-content h1{
        font-size: 38px;
    }

    main.rtf-services-page .rtf-services-hero-content p{
        font-size: 16px;
    }

    main.rtf-services-page .rtf-services-intro,
    main.rtf-services-page .rtf-services-main{
        padding-left: 17px;
        padding-right: 17px;
    }

    main.rtf-services-page .rtf-services-tab{
        font-size: 14px;
        padding:
            0 7px;
    }

    main.rtf-services-page .rtf-services-image-column{
        height: 390px;
    }
}


/* =========================================================
   MOBILE-S — <=359
   ========================================================= */

@media (max-width:359px){

    main.rtf-services-page .rtf-services-hero-content{
        width: calc(100% - 28px);
    }

    main.rtf-services-page .rtf-services-hero-content h1{
        font-size: 36px;
    }

    main.rtf-services-page .rtf-services-hero-content p{
        font-size: 16px;
    }

    main.rtf-services-page .rtf-services-intro,
    main.rtf-services-page .rtf-services-main{
        padding-left: 14px;
        padding-right: 14px;
    }

    main.rtf-services-page .rtf-services-tab{
        font-size: 13px;
        padding:
            0 5px;
    }

    main.rtf-services-page .rtf-services-image-column{
        height: 360px;
    }

    main.rtf-services-page .rtf-services-side{
        padding:
            27px 20px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce){

    main.rtf-services-page *,
    main.rtf-services-page *::before,
    main.rtf-services-page *::after{
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

    main.rtf-services-page .rtf-services-reveal{
        opacity: 1;
        transform: none;
    }
}

/* =========================================================
   ROOM TO FEEL — SERVICES
   SECTION 04 — OTHER SERVICES
   REPLACEMENT CSS — SCOPED ONLY TO .rtf-services-other
   ========================================================= */

main.rtf-services-page .rtf-services-other,
.rtf-services-other {
    --other-bg: #F5E9DC;
    --other-surface: #EBD6C5;
    --other-card: #FFF9F3;
    --other-heading: #302421;
    --other-text: #4A2C26;
    --other-muted: #795F55;
    --other-brand: #A6533F;
    --other-brand-dark: #7D382E;
    --other-border: #CDB5A4;
    --other-soft: #D6A18F;

    position: relative;
    width: 100%;
    padding: 120px clamp(20px, 5vw, 80px) 135px;
    background: var(--other-bg);
    color: var(--other-text);
    overflow: hidden;
    isolation: isolate;
    box-sizing: border-box;
    font-family: "Plus Jakarta Sans", sans-serif;
}

main.rtf-services-page .rtf-services-other *,
.rtf-services-other * {
    box-sizing: border-box;
}

.rtf-services-other__inner {
    width: min(1240px, 100%);
    margin: 0 auto;
}

.rtf-services-other__intro {
    width: min(860px, 100%);
    margin: 0 auto 70px;
    text-align: center;
}

.rtf-services-other__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: var(--other-brand);
    font-size: 14px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: .12em;
}

.rtf-services-other__eyebrow::before {
    content: "";
    width: 32px;
    height: 1px;
    background: var(--other-brand);
}

.rtf-services-other__intro h2 {
    margin: 0 auto 22px;
    max-width: 850px;
    color: var(--other-heading);
    font-size: clamp(30px, 3.1vw, 42px);
    line-height: 1.16;
    font-weight: 600;
    letter-spacing: -.035em;
}

.rtf-services-other__intro p {
    width: min(720px, 100%);
    margin: 0 auto;
    color: var(--other-muted);
    font-size: 18px;
    line-height: 1.7;
    font-weight: 500;
}

.rtf-services-other__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    align-items: start;
}

.rtf-services-other__card {
    min-width: 0;
    min-height: 400px;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    overflow: hidden;
    position: relative;
    border: 1px solid var(--other-border);
    border-radius: 28px;
    background: var(--other-card);
    color: var(--other-text);
    box-shadow: 0 18px 45px rgba(74,44,38,.08);
    transform: translateZ(0);
    transition:
        transform .55s cubic-bezier(.2,.75,.25,1),
        border-color .35s ease,
        box-shadow .55s cubic-bezier(.2,.75,.25,1);
}

.rtf-services-other__card:nth-child(even) {
    transform: translateY(34px);
}

.rtf-services-other__card:hover {
    transform: translateY(-8px);
    border-color: var(--other-brand);
    box-shadow: 0 28px 65px rgba(74,44,38,.14);
}

.rtf-services-other__card:nth-child(even):hover {
    transform: translateY(26px);
}

.rtf-services-other__media {
    position: relative;
    min-width: 0;
    min-height: 400px;
    overflow: hidden;
    background: var(--other-surface);
}

.rtf-services-other__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 400px;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    transition: transform 1s cubic-bezier(.2,.75,.25,1);
}

.rtf-services-other__card:hover .rtf-services-other__media img {
    transform: scale(1.065);
}

.rtf-services-other__media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(48,36,33,.04), rgba(48,36,33,.20));
}

.rtf-services-other__number {
    position: absolute;
    z-index: 2;
    top: 18px;
    left: 18px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,249,243,.65);
    border-radius: 50%;
    background: rgba(48,36,33,.34);
    color: #FFF9F3;
    font-size: 13px;
    font-weight: 500;
    backdrop-filter: blur(8px);
}

.rtf-services-other__content {
    min-width: 0;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 34px 32px 28px;
    background: var(--other-card);
}

.rtf-services-other__label {
    display: block;
    margin-bottom: 15px;
    color: var(--other-brand);
    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: .11em;
}

.rtf-services-other__content h3 {
    margin: 0 0 18px;
    color: var(--other-heading);
    font-size: 28px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -.025em;
}

.rtf-services-other__content p {
    margin: 0;
    color: var(--other-muted);
    font-size: 16px;
    line-height: 1.72;
    font-weight: 500;
}

.rtf-services-other__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid var(--other-border);
    color: var(--other-muted);
    font-size: 12px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: .09em;
}

.rtf-services-other__arrow {
    flex: 0 0 auto;
    color: var(--other-brand);
    font-size: 23px;
    line-height: 1;
    transition: transform .35s ease;
}

.rtf-services-other__card:hover .rtf-services-other__arrow {
    transform: translate(4px,-4px);
}

/* Animation is activated only after JS adds the class.
   Without JS, the cards remain visible. */

.rtf-services-other.rtf-services-other--animate .rtf-services-other__card {
    opacity: 0;
}

.rtf-services-other.rtf-services-other--animate .rtf-services-other__card:nth-child(odd) {
    transform: translateX(-55px) translateY(20px);
}

.rtf-services-other.rtf-services-other--animate .rtf-services-other__card:nth-child(even) {
    transform: translateX(55px) translateY(54px);
}

.rtf-services-other.rtf-services-other--animate .rtf-services-other__card.is-visible {
    opacity: 1;
    transform: translateX(0) translateY(0);
    transition:
        opacity .7s cubic-bezier(.2,.75,.25,1),
        transform .8s cubic-bezier(.2,.75,.25,1),
        border-color .35s ease,
        box-shadow .55s cubic-bezier(.2,.75,.25,1);
}

.rtf-services-other.rtf-services-other--animate .rtf-services-other__card:nth-child(even).is-visible {
    transform: translateX(0) translateY(34px);
}

.rtf-services-other.rtf-services-other--animate .rtf-services-other__card.is-visible:hover {
    transform: translateY(-8px);
}

.rtf-services-other.rtf-services-other--animate .rtf-services-other__card:nth-child(even).is-visible:hover {
    transform: translateY(26px);
}

@keyframes rtfOtherServicesFloat {
    0%, 100% { margin-top: 0; }
    50% { margin-top: -5px; }
}

.rtf-services-other.rtf-services-other--animate .rtf-services-other__card.is-visible {
    animation: rtfOtherServicesFloat 7s ease-in-out infinite;
}

.rtf-services-other.rtf-services-other--animate .rtf-services-other__card:nth-child(2).is-visible { animation-delay: -2s; }
.rtf-services-other.rtf-services-other--animate .rtf-services-other__card:nth-child(3).is-visible { animation-delay: -4s; }
.rtf-services-other.rtf-services-other--animate .rtf-services-other__card:nth-child(4).is-visible { animation-delay: -1s; }

@media (min-width: 1024px) and (max-width: 1279px) {
    .rtf-services-other { padding: 100px 40px 115px; }
    .rtf-services-other__grid { gap: 26px; }
    .rtf-services-other__card,
    .rtf-services-other__media,
    .rtf-services-other__content,
    .rtf-services-other__media img { min-height: 370px; }
    .rtf-services-other__content { padding: 30px 26px 26px; }
    .rtf-services-other__content h3 { font-size: 26px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .rtf-services-other { padding: 90px 32px 105px; }
    .rtf-services-other__intro { margin-bottom: 56px; }
    .rtf-services-other__intro h2 { font-size: 36px; }
    .rtf-services-other__intro p { font-size: 17px; }
    .rtf-services-other__grid { grid-template-columns: 1fr; gap: 28px; }
    .rtf-services-other__card,
    .rtf-services-other__media,
    .rtf-services-other__content,
    .rtf-services-other__media img { min-height: 390px; }
    .rtf-services-other__content { padding: 34px; }
}

@media (min-width: 390px) and (max-width: 767px) {
    .rtf-services-other { padding: 78px 20px 88px; }
    .rtf-services-other__intro { margin-bottom: 46px; }
    .rtf-services-other__intro h2 { font-size: 30px; line-height: 1.2; }
    .rtf-services-other__intro p { font-size: 17px; line-height: 1.65; }
    .rtf-services-other__desktop-break { display: none; }
    .rtf-services-other__grid { grid-template-columns: 1fr; gap: 24px; }
    .rtf-services-other__card,
    .rtf-services-other__card--reverse { display: flex; flex-direction: column; min-height: 0; }
    .rtf-services-other__media { width: 100%; height: 285px; min-height: 285px; }
    .rtf-services-other__media img { width: 100%; height: 100%; min-height: 285px; }
    .rtf-services-other__content { min-height: 0; padding: 28px 25px 25px; }
    .rtf-services-other__content h3 { font-size: 25px; }
    .rtf-services-other__content p { font-size: 16px; }
    .rtf-services-other__bottom { margin-top: 25px; }
    .rtf-services-other.rtf-services-other--animate .rtf-services-other__card:nth-child(even),
    .rtf-services-other.rtf-services-other--animate .rtf-services-other__card:nth-child(even).is-visible { transform: translateX(0) translateY(0); }
}

@media (min-width: 360px) and (max-width: 389px) {
    .rtf-services-other { padding: 72px 17px 80px; }
    .rtf-services-other__intro h2 { font-size: 28px; }
    .rtf-services-other__intro p { font-size: 16px; }
    .rtf-services-other__media,
    .rtf-services-other__media img { height: 260px; min-height: 260px; }
    .rtf-services-other__content { padding: 26px 22px 23px; }
    .rtf-services-other__content h3 { font-size: 24px; }
}

@media (max-width: 359px) {
    .rtf-services-other { padding: 68px 14px 76px; }
    .rtf-services-other__intro h2 { font-size: 26px; }
    .rtf-services-other__intro p { font-size: 16px; }
    .rtf-services-other__media,
    .rtf-services-other__media img { height: 235px; min-height: 235px; }
    .rtf-services-other__content { padding: 24px 19px 21px; }
    .rtf-services-other__content h3 { font-size: 22px; }
    .rtf-services-other__content p { font-size: 15.5px; }
    .rtf-services-other__bottom { font-size: 11px; }
}

@media (max-width: 1023px) {
    main.rtf-services-page .rtf-services-main .rtf-services-service-stage {
        position: relative;
        inset: auto;
        transform: none;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transition: none;
    }

    main.rtf-services-page .rtf-services-main .rtf-services-service-stage + .rtf-services-service-stage {
        margin-top: 32px;
    }

    main.rtf-services-page .rtf-services-other__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    main.rtf-services-page .rtf-services-other__card,
    main.rtf-services-page .rtf-services-other__card:nth-child(even),
    main.rtf-services-page .rtf-services-other__card:hover,
    main.rtf-services-page .rtf-services-other__card:nth-child(even):hover {
        transform: none;
        animation: none;
        transition: none;
    }

    main.rtf-services-page .rtf-services-other.rtf-services-other--animate .rtf-services-other__card,
    main.rtf-services-page .rtf-services-other.rtf-services-other--animate .rtf-services-other__card:nth-child(even),
    main.rtf-services-page .rtf-services-other.rtf-services-other--animate .rtf-services-other__card.is-visible,
    main.rtf-services-page .rtf-services-other.rtf-services-other--animate .rtf-services-other__card:nth-child(even).is-visible {
        transform: none;
        animation: none;
    }
}

@media (max-width: 767px) {
    main.rtf-services-page .rtf-services-process {
        grid-template-columns: minmax(0, 1fr);
        gap: 48px;
    }

    main.rtf-services-page .rtf-services-process::before {
        top: 53px;
        bottom: 53px;
        left: 50%;
        right: auto;
        width: 1px;
        height: auto;
    }

    main.rtf-services-page .rtf-services-process-item {
        padding-inline: 15px;
    }

    main.rtf-services-page .rtf-services-main .rtf-services-service-stage {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    main.rtf-services-page .rtf-services-image-column {
        order: 1;
        width: 100%;
        height: clamp(235px, 80vw, 430px);
    }

    main.rtf-services-page .rtf-services-side-left {
        order: 2;
        min-height: 0;
        border: 1px solid var(--services-border);
        border-top: 0;
        border-radius: 0;
    }

    main.rtf-services-page .rtf-services-side-right {
        order: 3;
        min-height: 0;
        border: 1px solid var(--services-border);
        border-top: 0;
        border-radius: 0 0 28px 28px;
    }

    main.rtf-services-page .rtf-services-side {
        width: 100%;
        padding: 30px 25px;
    }

    main.rtf-services-page .rtf-services-side h3 {
        font-size: 30px;
    }

    main.rtf-services-page .rtf-services-side h4 {
        font-size: 24px;
    }

    main.rtf-services-page .rtf-services-side-bottom {
        margin-top: 32px;
    }

    main.rtf-services-page .rtf-services-image-frame {
        border-radius: 28px;
    }

    main.rtf-services-page .rtf-services-other__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    main.rtf-services-page .rtf-services-other__card,
    main.rtf-services-page .rtf-services-other__card--reverse {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    main.rtf-services-page .rtf-services-other__media {
        width: 100%;
        height: clamp(235px, 72vw, 285px);
        min-height: 0;
    }

    main.rtf-services-page .rtf-services-other__media img {
        width: 100%;
        height: 100%;
        min-height: 0;
    }

    main.rtf-services-page .rtf-services-other__content {
        min-height: 0;
        padding: 28px 25px 25px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rtf-services-other *,
    .rtf-services-other *::before,
    .rtf-services-other *::after {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}
/* =========================================================
   ROOM TO FEEL — SERVICES
   SECTION 05 — UNFOLDING CONVERSATION — CORRECTED
   Fully scoped. Does not affect other pages/sections.
   ========================================================= */

main.rtf-services-page .rtf-s5-conversation {
    --s5-bg: #F5E9DC;
    --s5-surface: #EBD6C5;
    --s5-heading: #302421;
    --s5-text: #4A2C26;
    --s5-muted: #795F55;
    --s5-brand: #A6533F;
    --s5-brand-dark: #7D382E;
    --s5-border: #CDB5A4;

    position: relative;
    isolation: isolate;
    overflow: hidden;

    background: var(--s5-bg);
    color: var(--s5-text);

    padding:
        clamp(90px, 9vw, 145px)
        0
        clamp(105px, 11vw, 165px);
}


/* =========================================================
   PARTICLES
   ========================================================= */

main.rtf-services-page .rtf-s5-particles {
    position: absolute;
    inset: 0;
    z-index: 0;

    pointer-events: none;
    overflow: hidden;
}

main.rtf-services-page .rtf-s5-particles span {
    position: absolute;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: var(--s5-brand);

    opacity: .28;

    box-shadow:
        0 0 12px rgba(166, 83, 63, .38);

    animation:
        rtfS5ParticleFloat
        7s
        ease-in-out
        infinite;
}

main.rtf-services-page .rtf-s5-particles span:nth-child(1) {
    left: 7%;
    top: 16%;
    animation-delay: -1s;
}

main.rtf-services-page .rtf-s5-particles span:nth-child(2) {
    left: 18%;
    top: 71%;
    transform: scale(.7);
    animation-delay: -3s;
}

main.rtf-services-page .rtf-s5-particles span:nth-child(3) {
    left: 35%;
    top: 28%;
    transform: scale(.55);
    animation-delay: -5s;
}

main.rtf-services-page .rtf-s5-particles span:nth-child(4) {
    left: 53%;
    top: 82%;
    animation-delay: -2s;
}

main.rtf-services-page .rtf-s5-particles span:nth-child(5) {
    left: 70%;
    top: 18%;
    transform: scale(.65);
    animation-delay: -4s;
}

main.rtf-services-page .rtf-s5-particles span:nth-child(6) {
    left: 83%;
    top: 58%;
    transform: scale(.8);
    animation-delay: -6s;
}

main.rtf-services-page .rtf-s5-particles span:nth-child(7) {
    left: 94%;
    top: 30%;
    transform: scale(.5);
    animation-delay: -2.5s;
}

main.rtf-services-page .rtf-s5-particles span:nth-child(8) {
    left: 46%;
    top: 93%;
    transform: scale(.65);
    animation-delay: -5.5s;
}


/* =========================================================
   WIDE CONTENT AREA
   ========================================================= */

main.rtf-services-page .rtf-s5-shell {
    position: relative;
    z-index: 2;

    width: min(1480px, calc(100% - 56px));

    margin-inline: auto;
}


/* =========================================================
   HEADING
   ========================================================= */

main.rtf-services-page .rtf-s5-heading {
    width: min(900px, 100%);

    margin:
        0 auto
        clamp(60px, 7vw, 88px);

    text-align: center;
}

main.rtf-services-page .rtf-s5-heading h2 {
    margin-top: 22px;

    color: var(--s5-heading);

    font-size:
        clamp(40px, 4.8vw, 66px);

    line-height: 1.08;
    font-weight: 600;

    letter-spacing: -.045em;

    text-wrap: balance;
}

main.rtf-services-page .rtf-s5-heading p {
    max-width: 720px;

    margin:
        24px auto
        0;

    color: var(--s5-muted);

    font-size: 18px;
    line-height: 1.75;
    font-weight: 500;
}


/* =========================================================
   CONVERSATION THREAD

   IMPORTANT:
   The line belongs to the thread itself.
   Every exchange uses the exact same 3-column geometry.

   LEFT SIDE | CENTER LINE | RIGHT SIDE
   ========================================================= */

main.rtf-services-page .rtf-s5-thread {
    position: relative;

    width: 100%;

    margin-inline: auto;
}


/* THE ACTUAL CENTER LINE */

main.rtf-services-page .rtf-s5-thread::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;

    left: 50%;

    width: 1px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            to bottom,
            transparent 0%,
            var(--s5-brand) 7%,
            var(--s5-border) 50%,
            var(--s5-brand) 93%,
            transparent 100%
        );

    opacity: .8;

    pointer-events: none;

    z-index: 1;
}


/* =========================================================
   EACH EXCHANGE
   ========================================================= */

main.rtf-services-page .rtf-s5-exchange {
    position: relative;

    width: 100%;

    min-height: 250px;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        86px
        minmax(0, 1fr);

    align-items: center;

    column-gap: 30px;

    padding:
        32px
        0;
}


/* =========================================================
   ZIG-ZAG POSITIONING

   Exchange 1:
   YOU        ↑
                   THERAPIST ↓

   Exchange 2:
   THERAPIST ↑
                   YOU ↓

   This creates the slight zig-zag without
   moving the center line.
   ========================================================= */

main.rtf-services-page
.rtf-s5-exchange:nth-child(odd)
.rtf-s5-you {
    grid-column: 1;

    justify-self: end;

    transform:
        translateY(-28px);

    text-align: right;
}

main.rtf-services-page
.rtf-s5-exchange:nth-child(odd)
.rtf-s5-therapist {
    grid-column: 3;

    justify-self: start;

    transform:
        translateY(28px);

    text-align: left;
}


main.rtf-services-page
.rtf-s5-exchange:nth-child(even)
.rtf-s5-you {
    grid-column: 3;

    justify-self: start;

    transform:
        translateY(28px);

    text-align: left;
}

main.rtf-services-page
.rtf-s5-exchange:nth-child(even)
.rtf-s5-therapist {
    grid-column: 1;

    justify-self: end;

    transform:
        translateY(-28px);

    text-align: right;
}


/* =========================================================
   SPEAKER BLOCK
   ========================================================= */

main.rtf-services-page .rtf-s5-speaker {
    position: relative;

    width: min(100%, 590px);

    padding:
        24px
        30px;

    border-bottom:
        1px solid var(--s5-border);

    transition:
        border-color .35s ease,
        color .35s ease,
        background .35s ease;
}


/* Small decorative line */

main.rtf-services-page .rtf-s5-speaker::after {
    content: "";

    position: absolute;

    bottom: -1px;

    width: 42px;
    height: 2px;

    background: var(--s5-brand);

    transform: scaleX(0);

    transition:
        transform .4s cubic-bezier(.16, 1, .3, 1);
}


/* YOU */

main.rtf-services-page .rtf-s5-you::after {
    right: 30px;

    transform-origin: right;
}


/* THERAPIST */

main.rtf-services-page .rtf-s5-therapist::after {
    left: 30px;

    transform-origin: left;
}


/* =========================================================
   LABEL
   ========================================================= */

main.rtf-services-page .rtf-s5-label {
    display: block;

    margin-bottom: 13px;

    color: var(--s5-brand);

    font-size: 14px;
    line-height: 1.2;

    font-weight: 600;

    letter-spacing: .12em;
}


/* =========================================================
   TEXT
   ========================================================= */

main.rtf-services-page .rtf-s5-speaker p {
    color: var(--s5-heading);

    font-size:
        clamp(21px, 2vw, 30px);

    line-height: 1.4;

    font-weight: 500;

    text-wrap: balance;
}

main.rtf-services-page .rtf-s5-therapist p {
    color: var(--s5-text);
}


/* =========================================================
   CENTER CONNECTOR

   Absolute positioning guarantees that every dot
   sits exactly ON the center line.
   ========================================================= */

main.rtf-services-page .rtf-s5-connector {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 54px;
    height: 54px;

    transform:
        translate(-50%, -50%);

    display: grid;
    place-items: center;

    border:
        1px solid var(--s5-border);

    border-radius: 50%;

    background: var(--s5-bg);

    z-index: 3;

    transition:
        border-color .4s ease,
        box-shadow .4s ease;
}

main.rtf-services-page .rtf-s5-connector span {
    width: 10px;
    height: 10px;

    border-radius: 50%;

    background: var(--s5-border);

    transition:
        background .45s ease,
        transform .45s ease,
        box-shadow .45s ease;
}


/* =========================================================
   HOVER
   ========================================================= */

main.rtf-services-page
.rtf-s5-exchange:hover
.rtf-s5-speaker {
    border-color: var(--s5-brand);
}

main.rtf-services-page
.rtf-s5-exchange:hover
.rtf-s5-speaker::after {
    transform: scaleX(1);
}

main.rtf-services-page
.rtf-s5-exchange:hover
.rtf-s5-connector {
    border-color: var(--s5-brand);
}

main.rtf-services-page
.rtf-s5-exchange:hover
.rtf-s5-connector span {
    background: var(--s5-brand);

    transform: scale(1.35);

    box-shadow:
        0 0 0 8px rgba(166, 83, 63, .10),
        0 0 24px rgba(166, 83, 63, .42);
}


/* =========================================================
   ACTIVE / REVEALED CONNECTOR
   ========================================================= */

main.rtf-services-page
.rtf-s5-exchange.is-visible
.rtf-s5-connector span {
    background: var(--s5-brand);

    transform: scale(1.2);

    box-shadow:
        0 0 0 7px rgba(166, 83, 63, .08),
        0 0 20px rgba(166, 83, 63, .30);
}


/* =========================================================
   ENDING
   ========================================================= */

main.rtf-services-page .rtf-s5-ending {
    width: min(720px, 100%);

    margin:
        64px auto
        0;

    text-align: center;

    color: var(--s5-brand-dark);

    font-size: 20px;
    line-height: 1.7;
    font-weight: 500;
}


/* =========================================================
   SCROLL SLIDE ANIMATION

   IMPORTANT:
   Animate THE WHOLE EXCHANGE.
   This is more reliable than animating the child speakers
   separately.
   ========================================================= */

main.rtf-services-page
.rtf-s5-exchange.rtf-s5-reveal {
    opacity: 0;

    transform:
        translateX(-110px)
        translateY(18px);

    transition:
        opacity .75s ease,
        transform .95s cubic-bezier(.16, 1, .3, 1);

    will-change:
        opacity,
        transform;
}


/* Alternate direction */

main.rtf-services-page
.rtf-s5-exchange:nth-child(even).rtf-s5-reveal {
    transform:
        translateX(110px)
        translateY(18px);
}


/* REVEALED */

main.rtf-services-page
.rtf-s5-exchange.rtf-s5-reveal.is-visible {
    opacity: 1;

    transform:
        translateX(0)
        translateY(0);
}


/* Speaker zig-zag transforms are restored AFTER
   the exchange itself becomes visible. */

main.rtf-services-page
.rtf-s5-exchange.is-visible:nth-child(odd)
.rtf-s5-you {
    transform:
        translateY(-28px);
}

main.rtf-services-page
.rtf-s5-exchange.is-visible:nth-child(odd)
.rtf-s5-therapist {
    transform:
        translateY(28px);
}

main.rtf-services-page
.rtf-s5-exchange.is-visible:nth-child(even)
.rtf-s5-you {
    transform:
        translateY(28px);
}

main.rtf-services-page
.rtf-s5-exchange.is-visible:nth-child(even)
.rtf-s5-therapist {
    transform:
        translateY(-28px);
}


/* =========================================================
   HEADING / ENDING REVEAL
   ========================================================= */

main.rtf-services-page
.rtf-s5-heading.rtf-s5-reveal,
main.rtf-services-page
.rtf-s5-ending.rtf-s5-reveal {
    opacity: 0;

    transform:
        translateY(35px);

    transition:
        opacity .75s ease,
        transform .85s cubic-bezier(.16, 1, .3, 1);
}

main.rtf-services-page
.rtf-s5-heading.rtf-s5-reveal.is-visible,
main.rtf-services-page
.rtf-s5-ending.rtf-s5-reveal.is-visible {
    opacity: 1;

    transform:
        translateY(0);
}


/* =========================================================
   PARTICLE ANIMATION
   ========================================================= */

@keyframes rtfS5ParticleFloat {

    0%,
    100% {
        opacity: .18;

        transform:
            translate3d(0, 0, 0);
    }

    50% {
        opacity: .7;

        transform:
            translate3d(14px, -20px, 0);
    }
}


/* =========================================================
   LAPTOP-L
   1280 — 1439
   ========================================================= */

@media (min-width: 1280px) and (max-width: 1439px) {

    main.rtf-services-page
    .rtf-s5-shell {
        width:
            min(1320px, calc(100% - 72px));
    }

    main.rtf-services-page
    .rtf-s5-exchange {
        grid-template-columns:
            minmax(0, 1fr)
            78px
            minmax(0, 1fr);
    }

}


/* =========================================================
   LAPTOP
   1024 — 1279
   ========================================================= */

@media (min-width: 1024px) and (max-width: 1279px) {

    main.rtf-services-page
    .rtf-s5-shell {
        width:
            calc(100% - 52px);
    }

    main.rtf-services-page
    .rtf-s5-exchange {
        grid-template-columns:
            minmax(0, 1fr)
            68px
            minmax(0, 1fr);

        column-gap: 20px;
    }

    main.rtf-services-page
    .rtf-s5-speaker {
        padding-inline: 20px;
    }

    main.rtf-services-page
    .rtf-s5-speaker p {
        font-size: 22px;
    }

    main.rtf-services-page
    .rtf-s5-connector {
        width: 48px;
        height: 48px;
    }
}


/* =========================================================
   TABLET
   768 — 1023
   ========================================================= */

@media (min-width: 768px) and (max-width: 1023px) {

    main.rtf-services-page
    .rtf-s5-conversation {
        padding-block:
            82px
            105px;
    }

    main.rtf-services-page
    .rtf-s5-shell {
        width:
            calc(100% - 42px);
    }

    main.rtf-services-page
    .rtf-s5-heading h2 {
        font-size: 44px;
    }

    main.rtf-services-page
    .rtf-s5-heading p {
        font-size: 17px;
    }

    main.rtf-services-page
    .rtf-s5-exchange {
        grid-template-columns:
            minmax(0, 1fr)
            58px
            minmax(0, 1fr);

        min-height: 220px;

        column-gap: 12px;
    }

    main.rtf-services-page
    .rtf-s5-speaker {
        padding-inline: 14px;
    }

    main.rtf-services-page
    .rtf-s5-speaker p {
        font-size: 20px;
    }

    main.rtf-services-page
    .rtf-s5-connector {
        width: 44px;
        height: 44px;
    }

    main.rtf-services-page
    .rtf-s5-exchange:nth-child(odd)
    .rtf-s5-you {
        transform:
            translateY(-20px);
    }

    main.rtf-services-page
    .rtf-s5-exchange:nth-child(odd)
    .rtf-s5-therapist {
        transform:
            translateY(20px);
    }

    main.rtf-services-page
    .rtf-s5-exchange:nth-child(even)
    .rtf-s5-you {
        transform:
            translateY(20px);
    }

    main.rtf-services-page
    .rtf-s5-exchange:nth-child(even)
    .rtf-s5-therapist {
        transform:
            translateY(-20px);
    }
}


/* =========================================================
   MOBILE-L
   390 — 767
   ========================================================= */

@media (min-width: 390px) and (max-width: 767px) {

    main.rtf-services-page
    .rtf-s5-conversation {
        padding-block:
            70px
            92px;
    }

    main.rtf-services-page
    .rtf-s5-shell {
        width:
            calc(100% - 30px);
    }

    main.rtf-services-page
    .rtf-s5-heading {
        margin-bottom: 48px;
    }

    main.rtf-services-page
    .rtf-s5-heading h2 {
        font-size: 36px;
    }

    main.rtf-services-page
    .rtf-s5-heading p {
        font-size: 17px;
        line-height: 1.65;
    }

    /* Mobile line */

    main.rtf-services-page
    .rtf-s5-thread::before {
        left: 25px;

        transform: none;
    }

    /* One column */

    main.rtf-services-page
    .rtf-s5-exchange {
        display: block;

        min-height: 0;

        padding:
            24px
            0
            46px
            58px;
    }

    /* Dot sits directly on mobile line */

    main.rtf-services-page
    .rtf-s5-connector {
        left: 25px;
        top: 50%;

        width: 46px;
        height: 46px;

        transform:
            translate(-50%, -50%);
    }

    main.rtf-services-page
    .rtf-s5-speaker,

    main.rtf-services-page
    .rtf-s5-exchange:nth-child(odd)
    .rtf-s5-you,

    main.rtf-services-page
    .rtf-s5-exchange:nth-child(odd)
    .rtf-s5-therapist,

    main.rtf-services-page
    .rtf-s5-exchange:nth-child(even)
    .rtf-s5-you,

    main.rtf-services-page
    .rtf-s5-exchange:nth-child(even)
    .rtf-s5-therapist {
        display: block;

        width: 100%;

        transform: none;

        text-align: left;
    }

    main.rtf-services-page
    .rtf-s5-you {
        margin-bottom: 24px;
    }

    main.rtf-services-page
    .rtf-s5-speaker {
        padding:
            18px
            16px;
    }

    main.rtf-services-page
    .rtf-s5-speaker p {
        font-size: 20px;
    }

    /* Mobile animation directions */

    main.rtf-services-page
    .rtf-s5-exchange.rtf-s5-reveal {
        transform:
            translateX(-60px)
            translateY(15px);
    }

    main.rtf-services-page
    .rtf-s5-exchange:nth-child(even).rtf-s5-reveal {
        transform:
            translateX(60px)
            translateY(15px);
    }

    main.rtf-services-page
    .rtf-s5-exchange.rtf-s5-reveal.is-visible,
    main.rtf-services-page
    .rtf-s5-exchange:nth-child(even).rtf-s5-reveal.is-visible {
        transform:
            translateX(0)
            translateY(0);
    }

    main.rtf-services-page
    .rtf-s5-ending {
        margin-top: 38px;

        font-size: 18px;
    }
}


/* =========================================================
   MOBILE-M
   360 — 389
   ========================================================= */

@media (min-width: 360px) and (max-width: 389px) {

    main.rtf-services-page
    .rtf-s5-shell {
        width:
            calc(100% - 24px);
    }

    main.rtf-services-page
    .rtf-s5-heading h2 {
        font-size: 33px;
    }

    main.rtf-services-page
    .rtf-s5-heading p {
        font-size: 16px;
    }

    main.rtf-services-page
    .rtf-s5-thread::before {
        left: 22px;
    }

    main.rtf-services-page
    .rtf-s5-connector {
        left: 22px;

        width: 42px;
        height: 42px;
    }

    main.rtf-services-page
    .rtf-s5-exchange {
        padding-left: 50px;
    }

    main.rtf-services-page
    .rtf-s5-speaker p {
        font-size: 19px;
    }
}


/* =========================================================
   MOBILE-S
   320 — 359
   ========================================================= */

@media (max-width: 359px) {

    main.rtf-services-page
    .rtf-s5-shell {
        width:
            calc(100% - 20px);
    }

    main.rtf-services-page
    .rtf-s5-heading h2 {
        font-size: 30px;
    }

    main.rtf-services-page
    .rtf-s5-heading p {
        font-size: 16px;
    }

    main.rtf-services-page
    .rtf-s5-thread::before {
        left: 19px;
    }

    main.rtf-services-page
    .rtf-s5-connector {
        left: 19px;

        width: 38px;
        height: 38px;
    }

    main.rtf-services-page
    .rtf-s5-exchange {
        padding-left: 44px;
    }

    main.rtf-services-page
    .rtf-s5-speaker {
        padding-inline: 12px;
    }

    main.rtf-services-page
    .rtf-s5-speaker p {
        font-size: 18px;
    }

    main.rtf-services-page
    .rtf-s5-label {
        font-size: 13px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    main.rtf-services-page
    .rtf-s5-particles span {
        animation: none;
    }

    main.rtf-services-page
    .rtf-s5-exchange.rtf-s5-reveal,
    main.rtf-services-page
    .rtf-s5-heading.rtf-s5-reveal,
    main.rtf-services-page
    .rtf-s5-ending.rtf-s5-reveal {
        opacity: 1;
        transform: none;

        transition: none;
    }
}

/* =========================================================
   ROOM TO FEEL — SERVICES
   SECTION 06 — WHAT COULD FEEL DIFFERENT?  (LIGHT / BASE)
   Fully scoped. Does not affect other pages/sections.
   Dark + RTL rules live in dark.css / rtl.css.
   ========================================================= */

main.rtf-services-page .rtf-s6-difference {
    --rtf-svc-bg: #F5E9DC;
    --rtf-svc-surface: #EBD6C5;
    --rtf-svc-primary: #A6533F;
    --rtf-svc-primary-dark: #7D382E;
    --rtf-svc-brown: #4A2C26;
    --rtf-svc-text: #4A2C26;
    --rtf-svc-muted: #795F55;
    --rtf-svc-border: #CDB5A4;

    position: relative;
    isolation: isolate;
    overflow: hidden;

    background: #F5E9DC;
    color: var(--rtf-svc-text);

    padding:
        clamp(90px, 9vw, 145px)
        0
        clamp(90px, 9vw, 145px);
}

main.rtf-services-page .rtf-s6-glow {
    position: absolute;
    inset: auto -12% -30% auto;
    z-index: 0;

    width: min(760px, 70vw);
    height: min(760px, 70vw);

    border-radius: 50%;
    pointer-events: none;

    background:
        radial-gradient(
            circle,
            rgba(166, 83, 63, .20) 0%,
            rgba(166, 83, 63, 0) 68%
        );

    animation: rtfS6GlowDrift 14s ease-in-out infinite;
}

main.rtf-services-page .rtf-s6-shell {
    position: relative;
    z-index: 2;

    width: min(1380px, calc(100% - 56px));
    margin-inline: auto;

    display: grid;
    grid-template-columns:
        minmax(0, .9fr)
        minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(44px, 6vw, 96px);
}


/* ---------- REVEAL ---------- */

main.rtf-services-page .rtf-s6-reveal {
    opacity: 0;
    transform: translateY(34px);

    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.2, .75, .25, 1),
        background-color .35s ease;
}

main.rtf-services-page .rtf-s6-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* ---------- IMAGE ---------- */

main.rtf-services-page .rtf-s6-image-wrap {
    position: relative;
}

main.rtf-services-page .rtf-s6-image-wrap::before {
    content: "";

    position: absolute;
    inset: 22px 22px -22px -22px;
    z-index: 0;

    border-radius: 34px;

    border: 1px solid var(--rtf-svc-primary);
    opacity: .38;
}

main.rtf-services-page .rtf-s6-image-frame {
    position: relative;
    z-index: 1;
    overflow: hidden;

    aspect-ratio: 4 / 5;

    border-radius: 34px;

    background:
        linear-gradient(
            145deg,
            #EBD6C5,
            #D6A18F
        );

    box-shadow:
        0 34px 80px rgba(74, 44, 38, .22);
}

main.rtf-services-page .rtf-s6-image-frame img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transform: scale(1.04);
    transition: transform 1.2s cubic-bezier(.2, .75, .25, 1);
}

main.rtf-services-page .rtf-s6-image-wrap:hover .rtf-s6-image-frame img {
    transform: scale(1.09);
}

main.rtf-services-page .rtf-s6-image-frame img.rtf-s6-image-error {
    visibility: hidden;
}

main.rtf-services-page .rtf-s6-image-overlay {
    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(48, 36, 33, 0) 45%,
            rgba(48, 36, 33, .72) 100%
        );
}

main.rtf-services-page .rtf-s6-image-caption {
    position: absolute;
    inset-inline: 28px;
    bottom: 28px;

    font-size: clamp(18px, 1.7vw, 24px);
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: -.02em;

    color: #FFF9F3;
}


/* ---------- CONTENT ---------- */

main.rtf-services-page .rtf-s6-content {
    min-width: 0;
}

main.rtf-services-page .rtf-s6-heading {
    margin-bottom: clamp(32px, 4vw, 52px);
}

main.rtf-services-page .rtf-s6-heading .rtf-services-section-label {
    color: var(--rtf-svc-primary);
}

main.rtf-services-page .rtf-s6-heading h2 {
    margin: 0 0 22px;

    font-size: clamp(32px, 3.7vw, 54px);
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: -.04em;

    color: #302421;
}

main.rtf-services-page .rtf-s6-heading p {
    margin: 0;
    max-width: 620px;

    font-size: clamp(16px, 1.3vw, 19px);
    line-height: 1.75;
    font-weight: 500;

    color: var(--rtf-svc-muted);
}


/* ---------- TRANSFORMATIONS ---------- */

main.rtf-services-page .rtf-s6-transformations {
    display: grid;
    gap: 0;

    border-top: 1px solid var(--rtf-svc-border);
}

main.rtf-services-page .rtf-s6-pair {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto
        minmax(0, 1.15fr);
    align-items: center;
    gap: clamp(12px, 2vw, 28px);

    padding:
        clamp(16px, 1.6vw, 22px)
        clamp(10px, 1.4vw, 18px);

    border-bottom: 1px solid var(--rtf-svc-border);
    border-radius: 14px;

    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.2, .75, .25, 1),
        background-color .35s ease;
}

main.rtf-services-page .rtf-s6-pair:hover {
    background: rgba(166, 83, 63, .08);
}

main.rtf-services-page .rtf-s6-from {
    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: .1em;

    color: var(--rtf-svc-muted);
}

main.rtf-services-page .rtf-s6-arrow {
    display: inline-block;

    font-size: 22px;
    line-height: 1;
    font-weight: 500;

    color: var(--rtf-svc-primary);

    transition: transform .35s cubic-bezier(.2, .75, .25, 1);
}

main.rtf-services-page .rtf-s6-pair:hover .rtf-s6-arrow {
    transform: translateX(6px);
}

main.rtf-services-page .rtf-s6-pair strong {
    font-size: clamp(16px, 1.5vw, 21px);
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: .02em;

    color: #302421;
}

main.rtf-services-page .rtf-s6-pair:nth-child(2) { transition-delay: .08s, .08s, 0s; }
main.rtf-services-page .rtf-s6-pair:nth-child(3) { transition-delay: .16s, .16s, 0s; }
main.rtf-services-page .rtf-s6-pair:nth-child(4) { transition-delay: .24s, .24s, 0s; }
main.rtf-services-page .rtf-s6-pair:nth-child(5) { transition-delay: .32s, .32s, 0s; }

main.rtf-services-page .rtf-s6-closing {
    margin: clamp(30px, 3.4vw, 46px) 0 0;

    font-size: clamp(18px, 1.7vw, 24px);
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: -.02em;

    color: var(--rtf-svc-primary);
}

@keyframes rtfS6GlowDrift {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50%      { transform: translate3d(-40px, -30px, 0) scale(1.08); }
}


/* =========================================================
   ROOM TO FEEL — SERVICES
   FINAL CTA  (LIGHT / BASE)
   Fully scoped. Does not affect other pages/sections.
   ========================================================= */

main.rtf-services-page .rtf-services-final-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    text-align: center;

    padding:
        clamp(100px, 10vw, 160px)
        24px;

    background:
        linear-gradient(
            135deg,
            #5E2F27 0%,
            #7D382E 45%,
            #A6533F 100%
        );

    color: #F5E9DC;
}


/* ---------- ANIMATED BACKGROUND ---------- */

main.rtf-services-page .rtf-services-cta-background {
    position: absolute;
    inset: 0;
    z-index: 0;

    overflow: hidden;
    pointer-events: none;
}

main.rtf-services-page .rtf-services-cta-grid {
    position: absolute;
    inset: 0;

    opacity: .5;

    background-image:
        linear-gradient(rgba(245, 233, 220, .07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(245, 233, 220, .07) 1px, transparent 1px);
    background-size: 64px 64px;

    -webkit-mask-image:
        radial-gradient(ellipse at center, #000 20%, transparent 75%);
    mask-image:
        radial-gradient(ellipse at center, #000 20%, transparent 75%);
}

main.rtf-services-page .rtf-services-cta-orb {
    position: absolute;

    border-radius: 50%;
    filter: blur(6px);
}

main.rtf-services-page .rtf-services-cta-orb-one {
    top: -18%;
    inset-inline-start: -8%;

    width: min(520px, 55vw);
    height: min(520px, 55vw);

    background:
        radial-gradient(circle, rgba(214, 161, 143, .45), rgba(214, 161, 143, 0) 70%);

    animation: rtfSvcCtaOrb 16s ease-in-out infinite;
}

main.rtf-services-page .rtf-services-cta-orb-two {
    bottom: -24%;
    inset-inline-end: -10%;

    width: min(620px, 65vw);
    height: min(620px, 65vw);

    background:
        radial-gradient(circle, rgba(245, 233, 220, .22), rgba(245, 233, 220, 0) 70%);

    animation: rtfSvcCtaOrb 20s ease-in-out -6s infinite reverse;
}

main.rtf-services-page .rtf-services-cta-line {
    position: absolute;
    left: -10%;

    width: 120%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(245, 233, 220, .38),
            transparent
        );

    animation: rtfSvcCtaLine 9s ease-in-out infinite;
}

main.rtf-services-page .rtf-services-cta-line-one { top: 30%; }
main.rtf-services-page .rtf-services-cta-line-two { top: 70%; animation-delay: -4.5s; }

main.rtf-services-page .rtf-services-cta-glow {
    position: absolute;
    top: 50%;
    left: 50%;

    width: min(780px, 90vw);
    height: min(780px, 90vw);

    border-radius: 50%;

    background:
        radial-gradient(circle, rgba(245, 233, 220, .16), rgba(245, 233, 220, 0) 65%);

    transform: translate(-50%, -50%);

    animation: rtfSvcCtaGlow 7s ease-in-out infinite;
}

main.rtf-services-page .rtf-services-cta-particle {
    position: absolute;

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: #F5E9DC;
    opacity: .38;

    box-shadow: 0 0 14px rgba(245, 233, 220, .55);

    animation: rtfSvcCtaParticle 8s ease-in-out infinite;
}

main.rtf-services-page .rtf-services-cta-particle.p1  { left: 6%;  top: 18%; animation-delay: -1s; }
main.rtf-services-page .rtf-services-cta-particle.p2  { left: 15%; top: 72%; animation-delay: -3s;   transform: scale(.7); }
main.rtf-services-page .rtf-services-cta-particle.p3  { left: 27%; top: 36%; animation-delay: -5s;   transform: scale(.55); }
main.rtf-services-page .rtf-services-cta-particle.p4  { left: 38%; top: 86%; animation-delay: -2s; }
main.rtf-services-page .rtf-services-cta-particle.p5  { left: 49%; top: 12%; animation-delay: -6s;   transform: scale(.6); }
main.rtf-services-page .rtf-services-cta-particle.p6  { left: 62%; top: 78%; animation-delay: -4s;   transform: scale(.8); }
main.rtf-services-page .rtf-services-cta-particle.p7  { left: 73%; top: 28%; animation-delay: -7s; }
main.rtf-services-page .rtf-services-cta-particle.p8  { left: 84%; top: 64%; animation-delay: -2.5s; transform: scale(.65); }
main.rtf-services-page .rtf-services-cta-particle.p9  { left: 92%; top: 20%; animation-delay: -5.5s; transform: scale(.5); }
main.rtf-services-page .rtf-services-cta-particle.p10 { left: 56%; top: 52%; animation-delay: -3.5s; transform: scale(.45); }


/* ---------- CONTENT ---------- */

main.rtf-services-page .rtf-services-cta-content {
    position: relative;
    z-index: 2;

    width: min(860px, 100%);
    margin-inline: auto;

    display: flex;
    flex-direction: column;
    align-items: center;

    opacity: 0;
    transform: translateY(34px);

    transition:
        opacity .9s ease,
        transform .9s cubic-bezier(.2, .75, .25, 1);
}

main.rtf-services-page .rtf-services-final-cta.is-visible .rtf-services-cta-content {
    opacity: 1;
    transform: translateY(0);
}

main.rtf-services-page .rtf-services-cta-kicker {
    display: block;

    margin-bottom: 22px;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: .13em;

    color: #F5E9DC;
}

main.rtf-services-page .rtf-services-cta-content h2 {
    margin: 0 0 26px;

    font-size: clamp(34px, 5vw, 68px);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -.045em;

    color: #F5E9DC;
}

main.rtf-services-page .rtf-services-cta-content p {
    max-width: 640px;
    margin: 0 0 40px;

    font-size: clamp(16px, 1.4vw, 20px);
    line-height: 1.75;
    font-weight: 500;

    color: rgba(245, 233, 220, .88);
}

main.rtf-services-page .rtf-services-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    padding: 18px 34px;

    border: 1.5px solid #F5E9DC;
    border-radius: 999px;

    font-family: inherit;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 600;
    text-decoration: none;

    background: #F5E9DC;
    color: #4A2C26;

    box-shadow: 0 18px 40px rgba(0, 0, 0, .22);

    transition:
        background-color .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

main.rtf-services-page .rtf-services-cta-button:hover {
    background: #C56A52;
    border-color: #C56A52;
    color: #F5E9DC;

    transform: translateY(-3px);
    box-shadow: 0 24px 50px rgba(0, 0, 0, .3);
}

main.rtf-services-page .rtf-services-cta-button:focus-visible {
    outline: 3px solid #F5E9DC;
    outline-offset: 4px;
}

main.rtf-services-page .rtf-services-cta-button svg {
    width: 20px;
    height: 20px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform .3s ease;
}

main.rtf-services-page .rtf-services-cta-button:hover svg {
    transform: translateX(5px);
}

main.rtf-services-page .rtf-services-cta-note {
    display: block;

    margin-top: 24px;

    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: .02em;

    color: rgba(245, 233, 220, .72);
}

/* JS adds .button-hovered while the button is hovered */
main.rtf-services-page .rtf-services-final-cta.button-hovered .rtf-services-cta-glow {
    opacity: 1;
    width: min(900px, 100vw);
    height: min(900px, 100vw);
}

@keyframes rtfSvcCtaOrb {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50%      { transform: translate3d(40px, 30px, 0) scale(1.1); }
}

@keyframes rtfSvcCtaLine {
    0%, 100% { transform: translateX(-6%); opacity: .35; }
    50%      { transform: translateX(6%);  opacity: 1; }
}

@keyframes rtfSvcCtaGlow {
    0%, 100% { opacity: .7; }
    50%      { opacity: 1; }
}

@keyframes rtfSvcCtaParticle {
    0%, 100% { translate: 0 0;      opacity: .22; }
    50%      { translate: 14px -26px; opacity: .6; }
}


/* =========================================================
   SECTION 06 + CTA — RESPONSIVE
   ========================================================= */

/* Laptop-L / Laptop */
@media (max-width: 1199px) {

    main.rtf-services-page .rtf-s6-shell {
        gap: 52px;
    }
}

/* Tablet */
@media (max-width: 1023px) {

    main.rtf-services-page .rtf-s6-shell {
        grid-template-columns: minmax(0, 1fr);
        width: min(760px, calc(100% - 48px));
    }

    main.rtf-services-page .rtf-s6-image-frame {
        aspect-ratio: 16 / 11;
    }

    main.rtf-services-page .rtf-s6-image-wrap::before {
        inset: 16px 16px -16px -16px;
    }
}

/* Mobile-L */
@media (max-width: 767px) {

    main.rtf-services-page .rtf-s6-shell {
        width: calc(100% - 36px);
    }

    main.rtf-services-page .rtf-s6-image-frame,
    main.rtf-services-page .rtf-s6-image-wrap::before {
        border-radius: 24px;
    }

    main.rtf-services-page .rtf-s6-pair {
        grid-template-columns:
            minmax(0, 1fr)
            auto
            minmax(0, 1fr);
        gap: 10px;
    }

    main.rtf-services-page .rtf-services-final-cta {
        padding-inline: 18px;
    }

    main.rtf-services-page .rtf-services-cta-grid {
        background-size: 48px 48px;
    }
}

/* Mobile-M */
@media (max-width: 479px) {

    main.rtf-services-page .rtf-s6-pair {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }

    main.rtf-services-page .rtf-s6-arrow {
        transform: rotate(90deg);
    }

    main.rtf-services-page .rtf-s6-pair:hover .rtf-s6-arrow {
        transform: rotate(90deg) translateX(6px);
    }

    main.rtf-services-page .rtf-services-cta-button {
        width: 100%;
        padding: 17px 24px;
    }
}

/* Mobile-S */
@media (max-width: 359px) {

    main.rtf-services-page .rtf-s6-shell {
        width: calc(100% - 20px);
    }

    main.rtf-services-page .rtf-s6-heading h2 {
        font-size: 28px;
    }

    main.rtf-services-page .rtf-services-cta-content h2 {
        font-size: 30px;
    }
}


/* =========================================================
   SECTION 06 + CTA — REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    main.rtf-services-page .rtf-s6-reveal,
    main.rtf-services-page .rtf-services-cta-content {
        opacity: 1;
        transform: none;
        transition: none;
    }

    main.rtf-services-page .rtf-s6-glow,
    main.rtf-services-page .rtf-services-cta-orb,
    main.rtf-services-page .rtf-services-cta-line,
    main.rtf-services-page .rtf-services-cta-glow,
    main.rtf-services-page .rtf-services-cta-particle {
        animation: none;
    }

    main.rtf-services-page .rtf-s6-image-frame img {
        transition: none;
    }
}
/* =========================================================
   ROOM TO FEEL — THERAPISTS PAGE
   Sections 01–03 only
   Plus Jakarta Sans | Terracotta / Brown system
   ========================================================= */

:root{
    --rtf-tp-parchment:#F5E9DC;
    --rtf-tp-clay:#EBD6C5;
    --rtf-tp-terracotta:#A6533F;
    --rtf-tp-roasted:#7D382E;
    --rtf-tp-cocoa:#4A2C26;
    --rtf-tp-espresso:#302421;
    --rtf-tp-dusty:#795F55;
    --rtf-tp-blush:#D6A18F;
    --rtf-tp-taupe:#CDB5A4;

    --rtf-tp-bg:var(--rtf-tp-parchment);
    --rtf-tp-surface:var(--rtf-tp-clay);
    --rtf-tp-card:#FFF8F1;
    --rtf-tp-text:var(--rtf-tp-espresso);
    --rtf-tp-muted:var(--rtf-tp-dusty);
    --rtf-tp-accent:var(--rtf-tp-terracotta);
    --rtf-tp-strong:var(--rtf-tp-roasted);
    --rtf-tp-line:rgba(74,44,38,.22);
    --rtf-tp-shadow:0 24px 70px rgba(48,36,33,.10);

    --rtf-tp-max:1380px;
    --rtf-tp-radius:30px;
}

html{
    scroll-behavior:smooth;
}

body.rtf-therapists-page{
    margin:0;
    background:var(--rtf-tp-bg);
    color:var(--rtf-tp-text);
    font-family:"Plus Jakarta Sans",sans-serif;
    font-weight:500;
    overflow-x:clip;
}

body.rtf-therapists-page *,
body.rtf-therapists-page *::before,
body.rtf-therapists-page *::after{
    box-sizing:border-box;
}

body.rtf-therapists-page img{
    display:block;
    max-width:100%;
}

body.rtf-therapists-page a{
    color:inherit;
}

body.rtf-therapists-page h1,
body.rtf-therapists-page h2,
body.rtf-therapists-page h3,
body.rtf-therapists-page p{
    margin-top:0;
}

body.rtf-therapists-page h1,
body.rtf-therapists-page h2,
body.rtf-therapists-page h3{
    font-weight:600;
}

.rtf-tp-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--rtf-tp-accent);
    font-size:14px;
    line-height:1.4;
    letter-spacing:.13em;
    font-weight:500;
}

.rtf-tp-eyebrow::before{
    content:"";
    width:26px;
    height:1px;
    background:currentColor;
}

.rtf-tp-reveal{
    opacity:0;
    transform:translateY(34px);
    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.22,1,.36,1);
}

.rtf-tp-reveal.is-visible{
    opacity:1;
    transform:none;
}

/* =========================================================
   SECTION 01 — HERO
   ========================================================= */

.rtf-tp-hero{
    position:relative;
    height:70vh;
    min-height:70vh;
    overflow:hidden;
    isolation:isolate;
    display:grid;
    place-items:center;
    background:var(--rtf-tp-bg);
}

.rtf-tp-hero-inner{
    position:relative;
    z-index:3;
    width:min(100% - 40px,var(--rtf-tp-max));
    text-align:center;
    display:flex;
    align-items:center;
    flex-direction:column;
}

.rtf-tp-hero-title{
    margin:20px 0 22px;
    max-width:1000px;
    font-size:clamp(44px,5.1vw,76px);
    line-height:1.02;
    letter-spacing:-.045em;
     color:var(--rtf-tp-text);
}

.rtf-tp-hero-title em,
.rtf-tp-pin-intro h2 em,
.rtf-tp-team-heading h2 em{
    color:var(--rtf-tp-accent);
    font-style:normal;
}

.rtf-tp-hero-copy{
    max-width:650px;
    margin:0 auto;
    color:var(--rtf-tp-muted);
    font-size:18px;
    line-height:1.75;
}

.rtf-tp-hero-scroll{
    margin-top:34px;
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:var(--rtf-tp-strong);
    text-decoration:none;
    font-size:16px;
    transition:color .25s ease,transform .25s ease;
}

.rtf-tp-hero-scroll:hover{
    color:var(--rtf-tp-accent);
    transform:translateY(3px);
}

.rtf-tp-hero-scroll i{
    width:38px;
    height:38px;
    border:1px solid var(--rtf-tp-line);
    border-radius:50%;
    display:grid;
    place-items:center;
    animation:rtfTpArrow 1.8s ease-in-out infinite;
}

.rtf-tp-hero-scroll svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

@keyframes rtfTpArrow{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(5px)}
}

.rtf-tp-hero-art{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
}

.rtf-tp-door-line{
    position:absolute;
    left:50%;
    top:50%;
    width:min(44vw,570px);
    height:min(58vw,680px);
    transform:translate(-50%,-43%);
    border:1px solid rgba(166,83,63,.13);
    border-bottom:0;
    border-radius:300px 300px 0 0;
}

.rtf-tp-door-line-a{
    animation:rtfTpDoorFloat 8s ease-in-out infinite;
}

.rtf-tp-door-line-b{
    width:min(37vw,480px);
    height:min(51vw,600px);
    border-color:rgba(125,56,46,.08);
    transform:translate(-50%,-43%) scale(.96);
    animation:rtfTpDoorFloat 10s ease-in-out infinite reverse;
}

.rtf-tp-hero-orb{
    position:absolute;
    border-radius:50%;
    background:var(--rtf-tp-blush);
    filter:blur(1px);
    opacity:.28;
}

.rtf-tp-hero-orb-a{
    width:11px;
    height:11px;
    left:17%;
    top:29%;
    animation:rtfTpOrb 7s ease-in-out infinite;
}

.rtf-tp-hero-orb-b{
    width:7px;
    height:7px;
    right:18%;
    bottom:27%;
    animation:rtfTpOrb 9s ease-in-out infinite reverse;
}

.rtf-tp-hero-thread{
    position:absolute;
    width:1px;
    height:22vh;
    left:50%;
    bottom:-5vh;
    background:linear-gradient(to bottom,transparent,var(--rtf-tp-accent));
    opacity:.25;
}

@keyframes rtfTpDoorFloat{
    0%,100%{margin-top:0}
    50%{margin-top:-10px}
}

@keyframes rtfTpOrb{
    0%,100%{transform:translate(0,0);opacity:.2}
    50%{transform:translate(24px,-18px);opacity:.55}
}

/* =========================================================
   SECTION 02 — PINNED STORY
   ========================================================= */

.rtf-tp-pinned{
    position:relative;
    height:560vh;
    background:var(--rtf-tp-surface);
}

.rtf-tp-pin-stage{
    position:sticky;
    top:0;
    height:100vh;
    min-height:620px;
    overflow:hidden;
    display:flex;
    align-items:center;
}

.rtf-tp-pin-layout{
    position:relative;
    z-index:3;
    width:min(100% - 64px,var(--rtf-tp-max));
    margin:auto;
    display:grid;
    grid-template-columns:minmax(240px,.75fr) minmax(400px,1.35fr) minmax(190px,.55fr);
    align-items:center;
    gap:44px;
}

.rtf-tp-pin-intro{
    align-self:center;
}

.rtf-tp-pin-intro h2{
    margin:20px 0 18px;
    font-size:clamp(38px,4vw,60px);
    line-height:1.04;
    letter-spacing:-.04em;
    color:var(--rtf-tp-text);
}

.rtf-tp-pin-intro p{
    max-width:430px;
    color:var(--rtf-tp-muted);
    font-size:17px;
    line-height:1.8;
}

.rtf-tp-pin-progress{
    margin-top:30px;
    display:flex;
    gap:8px;
}

.rtf-tp-pin-progress span{
    min-width:39px;
    height:34px;
    border:1px solid var(--rtf-tp-line);
    display:grid;
    place-items:center;
    color:var(--rtf-tp-muted);
    font-size:13px;
    transition:
        background .35s ease,
        color .35s ease,
        border-color .35s ease,
        transform .35s ease;
}

.rtf-tp-pin-progress span.is-active{
    color:#fff;
    background:var(--rtf-tp-accent);
    border-color:var(--rtf-tp-accent);
    transform:translateY(-4px);
}

.rtf-tp-pin-canvas{
    position:relative;
    height:min(78vh,720px);
    min-height:500px;
    display:grid;
    place-items:center;
}

.rtf-tp-story-card{
    position:absolute;
    width:min(100%,590px);
    height:min(78vh,690px);
    min-height:490px;
    padding:24px;
    background:var(--rtf-tp-card);
    border:1px solid var(--rtf-tp-line);
    border-radius:var(--rtf-tp-radius);
    box-shadow:var(--rtf-tp-shadow);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    transform:translate3d(90px,35px,0) rotate(5deg) scale(.84);
    opacity:0;
    pointer-events:none;
    transition:
        transform .72s cubic-bezier(.22,1,.36,1),
        opacity .55s ease,
        filter .55s ease;
}

.rtf-tp-story-card.is-active{
    opacity:1;
    transform:translate3d(0,0,0) rotate(0) scale(1);
    z-index:5;
    pointer-events:auto;
}

.rtf-tp-story-card.is-before{
    opacity:.38;
     transform:translate3d(-80px,32px,0) rotate(-4deg) scale(.82);
    z-index:2;
    filter:saturate(.7);
}

.rtf-tp-story-card.is-after{
    opacity:.35;
   transform:translate3d(80px,42px,0) rotate(4deg) scale(.82);
    z-index:1;
    filter:saturate(.7);
}

.rtf-tp-story-card-top,
.rtf-tp-story-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
}

.rtf-tp-story-card-top{
    color:var(--rtf-tp-muted);
    font-size:12px;
    letter-spacing:.12em;
}

.rtf-tp-story-visual{
    position:relative;
    flex:1 1 auto;
    min-height:230px;
    margin:20px 0;
    overflow:hidden;
    border-radius:22px;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 30% 30%,rgba(255,255,255,.7),transparent 27%),
        linear-gradient(145deg,var(--rtf-tp-blush),var(--rtf-tp-terracotta));
}

.rtf-tp-story-visual-two{
    background:
        radial-gradient(circle at 70% 30%,rgba(255,255,255,.6),transparent 22%),
        linear-gradient(145deg,var(--rtf-tp-clay),var(--rtf-tp-roasted));
}

.rtf-tp-story-visual-three{
    background:
        radial-gradient(circle at 40% 65%,rgba(255,255,255,.7),transparent 23%),
        linear-gradient(145deg,var(--rtf-tp-taupe),var(--rtf-tp-terracotta));
}

.rtf-tp-story-visual-four{
    background:
        radial-gradient(circle at 68% 40%,rgba(255,255,255,.55),transparent 25%),
        linear-gradient(145deg,var(--rtf-tp-blush),var(--rtf-tp-cocoa));
}

.rtf-tp-story-visual-five{
    background:
        radial-gradient(circle at 35% 35%,rgba(255,255,255,.7),transparent 25%),
        linear-gradient(145deg,var(--rtf-tp-clay),var(--rtf-tp-terracotta));
}

.rtf-tp-story-ring{
    width:min(25vw,230px);
    aspect-ratio:1;
    border:1px solid rgba(255,255,255,.58);
    border-radius:50%;
    position:absolute;
    animation:rtfTpRing 6s ease-in-out infinite;
}

.rtf-tp-story-ring::before,
.rtf-tp-story-ring::after{
    content:"";
    position:absolute;
    inset:16%;
    border:1px solid rgba(255,255,255,.4);
    border-radius:50%;
}

.rtf-tp-story-ring::after{
    inset:32%;
}

.rtf-tp-story-mark{
    position:relative;
    z-index:2;
    width:82px;
    height:82px;
    border-radius:50%;
    background:rgba(255,248,241,.88);
    color:var(--rtf-tp-roasted);
    display:grid;
    place-items:center;
    font-size:22px;
    font-weight:600;
    box-shadow:0 14px 30px rgba(48,36,33,.12);
}

@keyframes rtfTpRing{
    0%,100%{transform:scale(.94) rotate(0deg)}
    50%{transform:scale(1.05) rotate(12deg)}
}

.rtf-tp-story-copy h3{
    margin:0 0 12px;
    font-size:clamp(23px,2.1vw,31px);
    line-height:1.2;
    letter-spacing:-.025em;
    color:var(--rtf-tp-strong);
}

.rtf-tp-story-copy p{
    margin:0;
    color:var(--rtf-tp-muted);
    font-size:16px;
    line-height:1.7;
}

.rtf-tp-story-footer{
    margin-top:22px;
    padding-top:17px;
    border-top:1px solid var(--rtf-tp-line);
    color:var(--rtf-tp-muted);
    font-size:13px;
}

.rtf-tp-pin-side{
    align-self:end;
    padding-bottom:5vh;
}

.rtf-tp-pin-side-number{
    display:block;
    margin-bottom:14px;
    color:var(--rtf-tp-accent);
    font-size:46px;
    font-weight:600;
    line-height:1;
}

.rtf-tp-pin-side strong{
    display:block;
    color:var(--rtf-tp-strong);
    font-size:15px;
    line-height:1.55;
    letter-spacing:.07em;
}

.rtf-tp-pin-side p{
    margin:14px 0 0;
    color:var(--rtf-tp-muted);
    font-size:15px;
    line-height:1.7;
}

.rtf-tp-pin-background{
    position:absolute;
    inset:0;
    pointer-events:none;
}

.rtf-tp-pin-grid{
    position:absolute;
    inset:0;
    opacity:.28;
    background-image:
        linear-gradient(rgba(125,56,46,.08) 1px,transparent 1px),
        linear-gradient(90deg,rgba(125,56,46,.08) 1px,transparent 1px);
    background-size:80px 80px;
    mask-image:linear-gradient(to bottom,transparent,black 22%,black 78%,transparent);
}

.rtf-tp-pin-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(70px);
    opacity:.23;
}

.rtf-tp-pin-glow-a{
    width:35vw;
    height:35vw;
    left:-10vw;
    top:15vh;
    background:var(--rtf-tp-blush);
}

.rtf-tp-pin-glow-b{
    width:28vw;
    height:28vw;
    right:-7vw;
    bottom:0;
    background:var(--rtf-tp-terracotta);
}

.rtf-tp-pin-line{
    position:absolute;
    height:1px;
    background:var(--rtf-tp-accent);
    opacity:.2;
}

.rtf-tp-pin-line-a{
    width:32vw;
    left:-5vw;
    top:24%;
    transform:rotate(-8deg);
}

.rtf-tp-pin-line-b{
    width:28vw;
    right:-4vw;
    bottom:22%;
    transform:rotate(10deg);
}

/* =========================================================
   SECTION 03 — TEAM
   ========================================================= */

.rtf-tp-team{
    width:min(100% - 64px,var(--rtf-tp-max));
    margin:0 auto;
    padding:150px 0 120px;
}

.rtf-tp-team-heading{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);
    align-items:end;
    gap:80px;
    margin-bottom:100px;
}

.rtf-tp-team-heading h2{
    margin:18px 0 0;
    font-size:clamp(42px,5vw,72px);
    line-height:1.02;
    letter-spacing:-.045em;
}

.rtf-tp-team-heading > p{
    max-width:470px;
    margin:0 0 6px;
    color:var(--rtf-tp-muted);
    font-size:18px;
    line-height:1.8;
}

.rtf-tp-therapist{
    --rtf-tp-img-col:clamp(340px,36vw,460px);
    display:grid;
    grid-template-columns:minmax(0,var(--rtf-tp-img-col)) minmax(0,1fr);
    gap:clamp(40px,6vw,96px);
    align-items:center;
    min-height:0;
    padding:90px 0;
    border-top:1px solid var(--rtf-tp-line);
}

.rtf-tp-therapist:first-of-type{
    border-top:0;
    padding-top:20px;
}

.rtf-tp-therapist:nth-of-type(even){
    grid-template-columns:minmax(0,1fr) minmax(0,var(--rtf-tp-img-col));
}

.rtf-tp-therapist-image-card{
    position:relative;
    width:100%;
    aspect-ratio:4/5;
    min-height:0;
    border-radius:var(--rtf-tp-radius);
    overflow:hidden;
    background:var(--rtf-tp-clay);
    box-shadow:var(--rtf-tp-shadow);
    isolation:isolate;
}

.rtf-tp-therapist-image-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(48,36,33,.48),transparent 34%);
    z-index:2;
    pointer-events:none;
}

.rtf-tp-therapist-image-card img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    object-fit:cover;
    object-position:center top;
    transition:transform 1.1s cubic-bezier(.22,1,.36,1);
}

.rtf-tp-therapist:hover .rtf-tp-therapist-image-card img{
    transform:scale(1.045);
}

.rtf-tp-image-index{
    position:absolute;
    z-index:4;
    left:24px;
    top:24px;
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(245,233,220,.9);
    color:var(--rtf-tp-roasted);
    font-size:15px;
    font-weight:600;
}

.rtf-tp-image-caption{
    position:absolute;
    z-index:4;
    left:28px;
    right:28px;
    bottom:25px;
    color:#fff;
    font-size:15px;
    line-height:1.5;
}

.rtf-tp-therapist-content{
    min-width:0;
}

.rtf-tp-identity-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:24px;
}

.rtf-tp-small-label{
    color:var(--rtf-tp-accent);
    font-size:13px;
    letter-spacing:.12em;
}

.rtf-tp-status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--rtf-tp-muted);
    font-size:11px;
    letter-spacing:.07em;
    text-align:right;
}

.rtf-tp-status i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--rtf-tp-accent);
    box-shadow:0 0 0 5px rgba(166,83,63,.12);
}

.rtf-tp-therapist-content h3{
    margin:0;
    padding-bottom:10px;                 /* NEW: equal space under every name */
    color:var(--rtf-tp-strong);
    font-size:clamp(26px,3vw,42px);      /* was clamp(34px,4vw,56px) */
    line-height:1.05;
    letter-spacing:-.04em;
}

.rtf-tp-role{
    margin:10px 0 28px;
    color:var(--rtf-tp-accent);
    font-size:16px;
}

.rtf-tp-bio{
    max-width:620px;
    margin:0;
    color:var(--rtf-tp-muted);
    font-size:18px;
    line-height:1.85;
}

.rtf-tp-info-grid{
    display:grid;
    grid-template-columns:.65fr 1.35fr;
    gap:24px;
    margin-top:36px;
    padding:25px 0;
    border-top:1px solid var(--rtf-tp-line);
    border-bottom:1px solid var(--rtf-tp-line);
}

.rtf-tp-info-grid span,
.rtf-tp-approach > span,
.rtf-tp-focus-list > span,
.rtf-tp-timeline > span{
    display:block;
    margin-bottom:9px;
    color:var(--rtf-tp-accent);
    font-size:11px;
    letter-spacing:.12em;
}

.rtf-tp-info-grid strong{
    display:block;
    color:var(--rtf-tp-strong);
    font-size:14px;
    line-height:1.65;
}

.rtf-tp-approach{
    margin-top:27px;
}

.rtf-tp-approach p{
    margin:0;
    color:var(--rtf-tp-text);
    font-size:20px;
    line-height:1.55;
}

.rtf-tp-bottom-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    margin-top:35px;
}

.rtf-tp-socials{
    display:flex;
    gap:9px;
}

.rtf-tp-socials a{
    width:43px;
    height:43px;
    border:1px solid var(--rtf-tp-line);
    border-radius:50%;
    display:grid;
    place-items:center;
    text-decoration:none;
    color:var(--rtf-tp-strong);
    transition:
        color .25s ease,
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.rtf-tp-socials a:hover{
    color:#fff;
    background:var(--rtf-tp-accent);
    border-color:var(--rtf-tp-accent);
    transform:translateY(-4px);
}

.rtf-tp-socials svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.rtf-tp-profile-link{
    color:var(--rtf-tp-strong);
    text-decoration:none;
    font-size:14px;
    transition:color .25s ease,transform .25s ease;
}

.rtf-tp-profile-link:hover{
    color:var(--rtf-tp-accent);
    transform:translateX(4px);
}

.rtf-tp-profile-link span{
    margin-left:7px;
}

.rtf-tp-experience-stamp{
    display:flex;
    align-items:center;
    gap:12px;
}

.rtf-tp-experience-stamp strong{
    color:var(--rtf-tp-accent);
    font-size:34px;
    line-height:1;
}

.rtf-tp-experience-stamp span{
    max-width:80px;
    color:var(--rtf-tp-muted);
    font-size:10px;
    line-height:1.4;
    letter-spacing:.1em;
}

.rtf-tp-therapist blockquote{
    margin:34px 0 28px;
    padding-left:24px;
    border-left:2px solid var(--rtf-tp-accent);
    color:var(--rtf-tp-strong);
    font-size:clamp(24px,2.7vw,38px);
    line-height:1.25;
    letter-spacing:-.025em;
}

.rtf-tp-focus-list{
    margin-top:32px;
}

.rtf-tp-focus-list > div{
    display:grid;
    grid-template-columns:38px 1fr;
    gap:12px 15px;
}

.rtf-tp-focus-list b{
    color:var(--rtf-tp-accent);
    font-size:12px;
}

.rtf-tp-focus-list em{
    color:var(--rtf-tp-text);
    font-size:16px;
    font-style:normal;
}

.rtf-tp-timeline{
    position:relative;
    margin-top:30px;
}

.rtf-tp-timeline::before{
    content:"";
    position:absolute;
    left:18px;
    top:38px;
    bottom:25px;
    width:1px;
    background:var(--rtf-tp-line);
}

.rtf-tp-timeline-item{
    position:relative;
    display:grid;
    grid-template-columns:38px 1fr;
    gap:18px;
    padding:12px 0;
}

.rtf-tp-timeline-item b{
    position:relative;
    z-index:2;
    width:37px;
    height:37px;
    display:grid;
    place-items:center;
    border:1px solid var(--rtf-tp-line);
    border-radius:50%;
    background:var(--rtf-tp-bg);
    color:var(--rtf-tp-accent);
    font-size:12px;
}

.rtf-tp-timeline-item strong{
    display:block;
    color:var(--rtf-tp-strong);
    font-size:16px;
}

.rtf-tp-timeline-item p{
    margin:4px 0 0;
    color:var(--rtf-tp-muted);
    font-size:14px;
}

.rtf-tp-conversation{
    margin:34px 0 28px;
    display:grid;
    gap:15px;
}

.rtf-tp-conversation-line{
    width:86%;
    padding:17px 19px;
    border:1px solid var(--rtf-tp-line);
    border-radius:4px 22px 22px 22px;
    background:rgba(255,248,241,.45);
}

.rtf-tp-conversation-line.is-therapist{
    margin-left:auto;
    border-radius:22px 4px 22px 22px;
    background:var(--rtf-tp-accent);
    border-color:var(--rtf-tp-accent);
    color:#fff;
}

.rtf-tp-conversation-line span{
    display:block;
    margin-bottom:6px;
    font-size:10px;
    letter-spacing:.12em;
    opacity:.75;
}

.rtf-tp-conversation-line p{
    margin:0;
    font-size:15px;
    line-height:1.55;
}

.rtf-tp-quote{
    max-width:620px;
    margin:35px 0 25px;
    color:var(--rtf-tp-strong);
    font-size:clamp(25px,3vw,42px);
    line-height:1.2;
    letter-spacing:-.03em;
}

.rtf-tp-tag-cloud{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:30px;
}

.rtf-tp-tag-cloud span{
    padding:10px 14px;
    border:1px solid var(--rtf-tp-line);
    color:var(--rtf-tp-text);
    font-size:13px;
    transition:background .25s ease,color .25s ease,border-color .25s ease;
}

.rtf-tp-tag-cloud span:hover{
    background:var(--rtf-tp-accent);
    border-color:var(--rtf-tp-accent);
    color:#fff;
}

/* =========================================================
   RESPONSIVE — LAPTOP-L / DESKTOP
   ========================================================= */

@media (min-width:1280px){
    .rtf-tp-team{
        padding-top:170px;
    }

    .rtf-tp-therapist{
        min-height:0;
    }
}

/* =========================================================
   LAPTOP
   ========================================================= */

@media (min-width:1024px) and (max-width:1279px){
    .rtf-tp-pin-layout{
        grid-template-columns:minmax(210px,.65fr) minmax(390px,1.25fr) minmax(170px,.45fr);
        gap:25px;
    }

    .rtf-tp-pin-side{
        padding-bottom:4vh;
    }
        .rtf-tp-story-card.is-before{
        transform:translate3d(-52px,32px,0) rotate(-3deg) scale(.8);
    }

    .rtf-tp-story-card.is-after{
        transform:translate3d(52px,42px,0) rotate(3deg) scale(.8);
    }

    .rtf-tp-team{
        width:min(100% - 48px,1180px);
    }

    .rtf-tp-therapist{
        gap:50px;
        min-height:0;
    }
}

/* =========================================================
   TABLET
   ========================================================= */

@media (min-width:768px) and (max-width:1023px){
    .rtf-tp-hero-title{
        font-size:52px;
    }

    .rtf-tp-pinned{
        height:520vh;
    }

    .rtf-tp-pin-layout{
        width:min(100% - 42px,900px);
        grid-template-columns:.72fr 1.28fr;
        gap:28px;
    }

    .rtf-tp-pin-side{
        display:none;
    }

    .rtf-tp-story-card{
        width:100%;
        max-width:530px;
    }

    .rtf-tp-pin-intro h2{
        font-size:42px;
    }

    .rtf-tp-team{
        width:min(100% - 42px,900px);
        padding:110px 0 90px;
    }

    .rtf-tp-team-heading{
        gap:40px;
        margin-bottom:70px;
    }

    .rtf-tp-team-heading h2{
        font-size:48px;
    }

    .rtf-tp-therapist{
        --rtf-tp-img-col:clamp(300px,38vw,360px);
        gap:35px;
        min-height:0;
        padding:75px 0;
    }

    .rtf-tp-bio{
        font-size:16px;
    }

    .rtf-tp-identity-row{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* =========================================================
   MOBILE-L
   ========================================================= */

@media (min-width:390px) and (max-width:767px){
    .rtf-tp-hero{
        height:70vh;
        min-height:70vh;
    }

    .rtf-tp-hero-inner{
        width:calc(100% - 34px);
    }

    .rtf-tp-hero-title{
        font-size:40px;
        line-height:1.04;
    }

    .rtf-tp-hero-copy{
        font-size:16px;
        line-height:1.7;
    }

    .rtf-tp-pinned{
        height:540vh;
    }

    .rtf-tp-pin-stage{
        min-height:680px;
    }

    .rtf-tp-pin-layout{
        width:calc(100% - 28px);
        display:flex;
        flex-direction:column;
        justify-content:center;
        gap:18px;
    }

    .rtf-tp-pin-intro{
        width:100%;
    }

    .rtf-tp-pin-intro h2{
        margin:14px 0 10px;
        font-size:30px;
    }

    .rtf-tp-pin-intro p{
        margin-bottom:12px;
        font-size:15px;
        line-height:1.6;
    }

    .rtf-tp-pin-progress{
        margin-top:14px;
    }

    .rtf-tp-pin-progress span{
        min-width:34px;
        height:29px;
        font-size:11px;
    }

    .rtf-tp-pin-canvas{
        width:100%;
        height:440px;
        min-height:0;
    }

    .rtf-tp-story-card{
        width:100%;
        height:420px;
        min-height:0;
        padding:16px;
        border-radius:22px;
    }

    .rtf-tp-story-visual{
        min-height:125px;
        margin:13px 0;
        border-radius:16px;
    }

    .rtf-tp-story-mark{
        width:60px;
        height:60px;
        font-size:17px;
    }

    .rtf-tp-story-copy h3{
        font-size:21px;
    }

    .rtf-tp-story-copy p{
        font-size:14px;
        line-height:1.55;
    }

    .rtf-tp-story-footer{
        margin-top:12px;
        padding-top:11px;
        font-size:11px;
    }

    .rtf-tp-pin-side{
        display:none;
    }

    .rtf-tp-team{
        width:calc(100% - 28px);
        padding:90px 0 70px;
    }

    .rtf-tp-team-heading{
        display:block;
        margin-bottom:50px;
    }

    .rtf-tp-team-heading h2{
        margin-bottom:20px;
        font-size:36px;
    }

    .rtf-tp-team-heading > p{
        font-size:16px;
        line-height:1.7;
    }

    .rtf-tp-therapist,
    .rtf-tp-therapist:nth-of-type(even){
        display:flex;
        flex-direction:column;
        gap:32px;
        min-height:0;
        padding:60px 0;
    }

    .rtf-tp-therapist-image-card{
        order:-1;
        width:100%;
        max-width:420px;
        margin-inline:auto;
        min-height:0;
        height:auto;
    }

    .rtf-tp-therapist-content{
        width:100%;
    }

    .rtf-tp-identity-row{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }

    .rtf-tp-therapist-content h3{
        font-size:34px;
    }

    .rtf-tp-bio{
        font-size:16px;
        line-height:1.75;
    }

    .rtf-tp-info-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .rtf-tp-approach p{
        font-size:18px;
    }

    .rtf-tp-bottom-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .rtf-tp-therapist blockquote{
        font-size:25px;
        margin-top:25px;
    }

    .rtf-tp-conversation-line{
        width:94%;
    }

    .rtf-tp-quote{
        font-size:28px;
    }
}

/* =========================================================
   MOBILE-S + MOBILE-M — PINNED STORY RESPONSIVE FIX (<=389px)
   ========================================================= */

@media (max-width:389px){
    .rtf-tp-pin-layout{
        display:flex;
        flex-direction:column;
        justify-content:center;
        gap:16px;
    }

    .rtf-tp-pin-intro{
        width:100%;
    }

    .rtf-tp-pin-intro h2{
        margin:12px 0 8px;
    }

    .rtf-tp-pin-intro p{
        margin-bottom:10px;
        line-height:1.55;
    }

    .rtf-tp-pin-progress{
        margin-top:12px;
        gap:6px;
    }

    .rtf-tp-pin-progress span{
        min-width:32px;
        height:28px;
        font-size:11px;
    }

    .rtf-tp-pin-canvas{
        width:100%;
        height:420px;
        min-height:0;
    }

    .rtf-tp-story-card{
        width:100%;
        height:400px;
        min-height:0;
        padding:14px;
        border-radius:20px;
    }

    .rtf-tp-story-card.is-before{
        transform:translate3d(-22px,24px,0) rotate(-3deg) scale(.9);
    }

    .rtf-tp-story-card.is-after{
        transform:translate3d(22px,30px,0) rotate(3deg) scale(.9);
    }

    .rtf-tp-story-visual{
        min-height:110px;
        margin:11px 0;
        border-radius:14px;
    }

    .rtf-tp-story-ring{
        width:min(46vw,150px);
    }

    .rtf-tp-story-mark{
        width:52px;
        height:52px;
        font-size:15px;
    }

    .rtf-tp-story-copy h3{
        margin-bottom:8px;
    }

    .rtf-tp-story-copy p{
        line-height:1.5;
    }

    .rtf-tp-story-footer{
        margin-top:10px;
        padding-top:10px;
        gap:8px;
        font-size:10.5px;
    }

    .rtf-tp-pin-side{
        display:none;
    }

    /* fit the pinned stage inside the screen, below the sticky navbar */
    .rtf-tp-pinned .rtf-tp-pin-stage{
        height:100vh;
        height:100svh;
        min-height:0;
        padding:84px 0 14px;
    }

    .rtf-tp-pinned .rtf-tp-pin-layout{
        height:100%;
        justify-content:flex-start;
    }

    .rtf-tp-pinned .rtf-tp-pin-intro{
        flex:0 0 auto;
    }

    .rtf-tp-pinned .rtf-tp-pin-canvas{
        flex:1 1 auto;
        height:auto;
        min-height:0;
    }

    .rtf-tp-pinned .rtf-tp-story-card{
        height:100%;
        max-height:430px;
    }

    .rtf-tp-pinned .rtf-tp-story-visual{
        flex:1 1 auto;
        min-height:70px;
    }
}

/* very short phone screens: hide the intro paragraph so the card fits */
@media (max-width:389px) and (max-height:740px){
    .rtf-tp-pin-intro p{
        display:none;
    }
}
/* =========================================================
   MOBILE-S + MOBILE-M — SECTION 03 HEADING FIX (<=389px)
   ========================================================= */

@media (max-width:389px){
    .rtf-tp-team-heading{
        display:block;
        margin-bottom:44px;
    }

    .rtf-tp-team-heading h2{
        margin:14px 0 18px;
        font-size:34px;
        line-height:1.08;
    }

    .rtf-tp-team-heading > p{
        max-width:100%;
        margin:0;
        font-size:15px;
        line-height:1.7;
    }
}

/* =========================================================
   MOBILE-M
   ========================================================= */

@media (min-width:360px) and (max-width:389px){
    .rtf-tp-hero-inner{
        width:calc(100% - 28px);
    }

    .rtf-tp-hero-title{
        font-size:37px;
    }

    .rtf-tp-hero-copy{
        font-size:15px;
    }

    .rtf-tp-pinned{
        height:560vh;
    }

    .rtf-tp-pin-stage{
        min-height:700px;
    }

    .rtf-tp-pin-layout{
        width:calc(100% - 24px);
    }

    .rtf-tp-pin-intro h2{
        font-size:28px;
    }

    .rtf-tp-story-card{
        height:430px;
    }

    .rtf-tp-story-copy h3{
        font-size:20px;
    }

    .rtf-tp-team{
        width:calc(100% - 24px);
    }

    .rtf-tp-therapist,
    .rtf-tp-therapist:nth-of-type(even){
        display:flex;
        flex-direction:column;
        gap:28px;
        min-height:0;
    }

    .rtf-tp-therapist-image-card{
        order:-1;
        width:100%;
        max-width:420px;
        margin-inline:auto;
        min-height:0;
        height:auto;
    }

    .rtf-tp-therapist-content{
        width:100%;
    }

}

/* =========================================================
   MOBILE-S
   ========================================================= */

@media (max-width:359px){
    .rtf-tp-eyebrow{
        font-size:12px;
        letter-spacing:.1em;
    }

    .rtf-tp-hero-inner{
        width:calc(100% - 20px);
    }

    .rtf-tp-hero-title{
        font-size:34px;
    }

    .rtf-tp-hero-copy{
        font-size:14px;
    }

    .rtf-tp-pinned{
        height:575vh;
    }

    .rtf-tp-pin-stage{
        min-height:720px;
    }

    .rtf-tp-pin-layout{
        width:calc(100% - 18px);
    }

    .rtf-tp-pin-intro h2{
        font-size:26px;
    }

    .rtf-tp-pin-intro p{
        font-size:14px;
    }

    .rtf-tp-pin-canvas{
        height:430px;
    }

    .rtf-tp-story-card{
        height:420px;
        padding:14px;
    }

    .rtf-tp-story-card-top{
        font-size:10px;
    }

    .rtf-tp-story-copy h3{
        font-size:19px;
    }

    .rtf-tp-story-copy p{
        font-size:13px;
    }

    .rtf-tp-team{
        width:calc(100% - 18px);
        padding-top:70px;
    }

    .rtf-tp-team-heading h2{
        font-size:32px;
    }

    .rtf-tp-therapist{
        padding:50px 0;
    }

    .rtf-tp-therapist,
    .rtf-tp-therapist:nth-of-type(even){
        display:flex;
        flex-direction:column;
        gap:28px;
        min-height:0;
        padding:50px 0;
    }

    .rtf-tp-therapist-image-card{
        order:-1;
        width:100%;
        max-width:420px;
        margin-inline:auto;
        min-height:0;
        height:auto;
    }

    .rtf-tp-therapist-content{
        width:100%;
    }


    .rtf-tp-therapist-content h3{
        font: size 24px;
    }

    .rtf-tp-bio{
        font-size:15px;
    }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto;
    }

    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }

    .rtf-tp-reveal{
        opacity:1;
        transform:none;
    }
}


/* =========================================================
   ROOM TO FEEL — THERAPISTS
   SECTIONS 04–07 ONLY
   Fully scoped — no main/body/global selectors
   ========================================================= */


/* =========================================================
   SECTION 04
   ========================================================= */

.rtf-tp-s04{
    position:relative;
    width:100%;
    overflow:hidden;
    background:#F5E9DC;
    color:#302421;
    padding:clamp(80px,8vw,130px) 0;
}

.rtf-tp-s04-shell{
    width:min(1380px,92%);
    margin:0 auto;
}

.rtf-tp-s04-intro{
    max-width:850px;
    margin-bottom:clamp(55px,7vw,90px);
}

.rtf-tp-s04-label,
.rtf-tp-s05-label,
.rtf-tp-s06-label,
.rtf-tp-s07-label{
    display:block;
    margin-bottom:18px;
    color:#A6533F;
    font-size:14px;
    font-weight:500;
    letter-spacing:.14em;
}

.rtf-tp-s04-intro h2{
    margin:0 0 22px;
    color:#4A2C26;
    font-size:clamp(36px,4.3vw,58px);
    line-height:1.08;
    font-weight:600;
    letter-spacing:-.035em;
}

.rtf-tp-s04-intro p{
    max-width:700px;
    margin:0;
    color:#795F55;
    font-size:18px;
    line-height:1.75;
    font-weight:500;
}

.rtf-tp-s04-layout{
    display:grid;
    grid-template-columns:minmax(220px,280px) minmax(0,1fr);
    gap:clamp(45px,7vw,110px);
    align-items:start;
}

.rtf-tp-s04-filters{
    position:sticky;
    top:30px;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.rtf-tp-s04-filter-title{
    margin-bottom:13px;
    color:#795F55;
    font-size:12px;
    line-height:1.5;
    letter-spacing:.12em;
    font-weight:500;
}

.rtf-tp-s04-filter{
    width:100%;
    padding:13px 15px;
    border:1px solid #CDB5A4;
    border-radius:0;
    background:transparent;
    color:#4A2C26;
    text-align:left;
    font-family:inherit;
    font-size:15px;
    line-height:1.45;
    font-weight:500;
    cursor:pointer;
    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.rtf-tp-s04-filter:hover{
    transform:translateX(5px);
    border-color:#A6533F;
    color:#A6533F;
}

.rtf-tp-s04-filter.is-active{
    background:#A6533F;
    border-color:#A6533F;
    color:#F5E9DC;
}

.rtf-tp-s04-results{
    border-top:1px solid #CDB5A4;
}

.rtf-tp-s04-person{
    display:grid;
    grid-template-columns:70px minmax(220px,1fr) minmax(220px,.8fr) 30px;
    align-items:center;
    gap:25px;
    min-height:125px;
    padding:24px 0;
    border-bottom:1px solid #CDB5A4;
    transition:
        opacity .35s ease,
        transform .35s ease,
        background .35s ease;
}

.rtf-tp-s04-person:hover{
    padding-left:16px;
    padding-right:16px;
    background:#EBD6C5;
}

.rtf-tp-s04-number{
    color:#A6533F;
    font-size:14px;
    font-weight:500;
    letter-spacing:.08em;
}

.rtf-tp-s04-person-main h3{
    margin:0 0 7px;
    color:#302421;
    font-size:23px;
    line-height:1.25;
    font-weight:500;
}

.rtf-tp-s04-role{
    margin:0;
    color:#795F55;
    font-size:15px;
    line-height:1.5;
    font-weight:500;
}

.rtf-tp-s04-person-focus{
    display:flex;
    flex-wrap:wrap;
    gap:7px 14px;
}

.rtf-tp-s04-person-focus span{
    color:#795F55;
    font-size:14px;
    line-height:1.5;
    font-weight:500;
}

.rtf-tp-s04-person-focus span:not(:last-child)::after{
    content:"";
    display:inline-block;
    width:4px;
    height:4px;
    margin:0 0 3px 14px;
    border-radius:50%;
    background:#D6A18F;
}

.rtf-tp-s04-arrow{
    color:#A6533F;
    font-size:20px;
    transition:transform .3s ease;
}

.rtf-tp-s04-person:hover .rtf-tp-s04-arrow{
    transform:translate(4px,-4px);
}

.rtf-tp-s04-person.is-hidden{
    display:none;
}
/* SECTION 04 — equal-height filter column (desktop / laptop only) */
@media (min-width:1024px){

    .rtf-tp-s04-layout{
        align-items:stretch;
    }

    .rtf-tp-s04-filters{
        position:relative;
        top:auto;
        height:100%;
    }

    .rtf-tp-s04-filter-title{
        height:18px;
        margin-bottom:0;
    }

    /* 18px title + 8px gap = first button top; results start on the same line */
    .rtf-tp-s04-results{
        margin-top:26px;
    }

    .rtf-tp-s04-filter{
        flex:1 1 auto;
        display:flex;
        align-items:center;
        padding:13px 20px;
        font-size:16px;
    }
}

/* =========================================================
   SECTION 05
   ========================================================= */

.rtf-tp-s05{
    position:relative;
    width:100%;
    overflow:hidden;
    background:#EBD6C5;
    color:#302421;
    padding:clamp(80px,8vw,130px) 0;
}

.rtf-tp-s05-shell{
    width:min(1380px,92%);
    margin:0 auto;
}

.rtf-tp-s05-heading{
    max-width:900px;
    margin-bottom:clamp(50px,6vw,80px);
}

.rtf-tp-s05-heading h2{
    margin:0 0 22px;
    color:#4A2C26;
    font-size:clamp(36px,4.3vw,58px);
    line-height:1.08;
    font-weight:600;
    letter-spacing:-.035em;
}

.rtf-tp-s05-heading p{
    max-width:720px;
    margin:0;
    color:#795F55;
    font-size:18px;
    line-height:1.75;
    font-weight:500;
}

.rtf-tp-s05-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}

.rtf-tp-s05-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:510px;
    padding:34px;
    border:1px solid #CDB5A4;
    background:#F5E9DC;
    overflow:hidden;
    transition:
        transform .4s cubic-bezier(.2,.7,.2,1),
        border-color .35s ease,
        box-shadow .35s ease;
}

.rtf-tp-s05-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:0;
    height:3px;
    background:#A6533F;
    transition:width .45s ease;
}

.rtf-tp-s05-card:hover{
    transform:translateY(-7px);
    border-color:#A6533F;
    box-shadow:0 18px 40px rgba(74,44,38,.09);
}

.rtf-tp-s05-card:hover::before{
    width:100%;
}

.rtf-tp-s05-card-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:42px;
}

.rtf-tp-s05-index{
    color:#A6533F;
    font-size:14px;
    letter-spacing:.08em;
    font-weight:500;
}

.rtf-tp-s05-format{
    color:#795F55;
    font-size:12px;
    letter-spacing:.14em;
    font-weight:500;
}

.rtf-tp-s05-card h3{
    margin:0 0 17px;
    color:#302421;
    font-size:30px;
    line-height:1.2;
    font-weight:500;
}

.rtf-tp-s05-overview{
    margin:0;
    max-width:610px;
    color:#795F55;
    font-size:17px;
    line-height:1.7;
    font-weight:500;
}

.rtf-tp-s05-details{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin-top:35px;
    padding-top:22px;
    border-top:1px solid #CDB5A4;
}

.rtf-tp-s05-details div{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.rtf-tp-s05-details span,
.rtf-tp-s05-do > span{
    color:#795F55;
    font-size:12px;
    letter-spacing:.1em;
    font-weight:500;
}

.rtf-tp-s05-details strong{
    color:#4A2C26;
    font-size:15px;
    line-height:1.5;
    font-weight:500;
}

.rtf-tp-s05-do{
    margin-top:25px;
    padding-left:18px;
    border-left:2px solid #D6A18F;
}

.rtf-tp-s05-do p{
    margin:9px 0 0;
    color:#795F55;
    font-size:15px;
    line-height:1.65;
    font-weight:500;
}

.rtf-tp-s05-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:auto;
    padding-top:30px;
    color:#A6533F;
    text-decoration:none;
    font-size:15px;
    line-height:1.5;
    font-weight:500;
    transition:color .3s ease;
}

.rtf-tp-s05-link span{
    font-size:20px;
    transition:transform .3s ease;
}

.rtf-tp-s05-link:hover{
    color:#7D382E;
}

.rtf-tp-s05-link:hover span{
    transform:translateX(6px);
}


/* =========================================================
   SECTION 06
   ========================================================= */

.rtf-tp-s06{
    position:relative;
    width:100%;
    overflow:hidden;
    background:#EBD6C5;
    color:#302421;
    padding:clamp(90px,9vw,145px) 0;
}

.rtf-tp-s06-shell{
    width:100%;
}

.rtf-tp-s06-heading{
    width:min(1380px,92%);
    margin:0 auto clamp(55px,7vw,85px);
}

.rtf-tp-s06-heading h2{
    max-width:920px;
    margin:0;
    color:#4A2C26;
    font-size:clamp(36px,4.3vw,58px);
    line-height:1.08;
    font-weight:600;
    letter-spacing:-.035em;
}

.rtf-tp-s06-track-wrap{
    width:100%;
    overflow:hidden;
}

.rtf-tp-s06-track{
    display:flex;
    width:max-content;
    will-change:transform;
    border-top:1px solid #CDB5A4;
    border-bottom:1px solid #CDB5A4;
}

.rtf-tp-s06-item{
    width:min(440px,34vw);
    min-height:390px;
    padding:32px clamp(28px,4vw,60px);
    border-right:1px solid #CDB5A4;
    flex-shrink:0;
}

.rtf-tp-s06-item:first-child{
    border-left:1px solid #CDB5A4;
}

.rtf-tp-s06-count{
    display:block;
    margin-bottom:55px;
    color:#A6533F;
    font-size:14px;
    letter-spacing:.08em;
    font-weight:500;
}

.rtf-tp-s06-small{
    display:block;
    margin-bottom:16px;
    color:#795F55;
    font-size:12px;
    letter-spacing:.14em;
    font-weight:500;
}

.rtf-tp-s06-item h3{
    margin:0 0 18px;
    color:#302421;
    font-size:25px;
    line-height:1.3;
    font-weight:500;
}

.rtf-tp-s06-item p{
    margin:0;
    color:#795F55;
    font-size:16px;
    line-height:1.7;
    font-weight:500;
}

.rtf-tp-s06-progress{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:35px;
}

.rtf-tp-s06-progress span{
    width:28px;
    height:2px;
    background:#CDB5A4;
    transition:background .3s ease,width .3s ease;
}

.rtf-tp-s06-progress span.is-active{
    width:50px;
    background:#A6533F;
}


/* =========================================================
   SECTION 07 — FINAL THERAPIST CTA
   ========================================================= */

.rtf-tp-s07{
    position:relative;
    width:100%;
    overflow:hidden;
    background:#F5E9DC;
    color:#302421;
    padding:clamp(75px,8vw,125px) 0;
}

.rtf-tp-s07-shell{
    width:min(1380px,92%);
    margin:0 auto;
}


/* Main rectangular container */

.rtf-tp-s07-container{
    position:relative;
    width:100%;
    min-height:500px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;

    border-radius:32px;

    background:
        linear-gradient(
            135deg,
            #7D382E 0%,
            #A6533F 48%,
            #C56A52 100%
        );

    color:#F5E9DC;
}


/* Subtle background details */

.rtf-tp-s07-container::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    top:-220px;
    right:-120px;

    border:1px solid rgba(245,233,220,.18);
    border-radius:50%;

    pointer-events:none;
}

.rtf-tp-s07-container::after{
    content:"";
    position:absolute;
    width:300px;
    height:300px;
    bottom:-190px;
    left:-100px;

    border:1px solid rgba(245,233,220,.14);
    border-radius:50%;

    pointer-events:none;
}


/* Content */

.rtf-tp-s07-content{
    position:relative;
    z-index:2;

    width:min(850px,88%);
    margin:0 auto;

    display:flex;
    flex-direction:column;
    align-items:center;

    text-align:center;
}


/* Label */

.rtf-tp-s07-label{
    display:block;
    margin-bottom:22px;

    color:#F5E9DC;

    font-size:14px;
    line-height:1.4;
    letter-spacing:.14em;
    font-weight:500;
}


/* Heading */

.rtf-tp-s07-content h2{
    max-width:820px;

    margin:0 0 25px;

    color:#F5E9DC;

    font-size:clamp(38px,5vw,64px);
    line-height:1.06;

    font-weight:600;
    letter-spacing:-.035em;
}


/* Description */

.rtf-tp-s07-content p{
    max-width:690px;

    margin:0;

    color:rgba(245,233,220,.88);

    font-size:18px;
    line-height:1.75;

    font-weight:500;
}


/* Buttons */

.rtf-tp-s07-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;

    gap:14px;

    margin-top:38px;
}


.rtf-tp-s07-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:13px;

    min-height:52px;

    padding:14px 23px;

    border-radius:10px;

    text-decoration:none;

    font-family:inherit;
    font-size:16px;
    line-height:1.3;
    font-weight:500;

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease,
        border-color .3s ease;
}


/* Primary */

.rtf-tp-s07-button-primary {
    background: #F5E9DC;
    color: #4A2C26 !important;
    border: 1px solid #F5E9DC;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 14px 26px;
    border-radius: 14px;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    opacity: 1;
    visibility: visible;
    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}

.rtf-tp-s07-button-primary span {
    color: #4A2C26 !important;
}

.rtf-tp-s07-button-primary:hover {
    background: #EBD6C5;
    color: #302421 !important;
    border-color: #EBD6C5;
    transform: translateY(-2px);
}

.rtf-tp-s07-button-primary:hover span {
    color: #302421 !important;
}


.rtf-tp-s07-button-primary:hover{
    transform:translateY(-3px);

    background:#FFF7EF;
    border-color:#FFF7EF;

    color:#7D382E;
}

.rtf-tp-s07 .rtf-tp-s07-button-primary,
.rtf-tp-s07 .rtf-tp-s07-button-primary:visited,
.rtf-tp-s07 .rtf-tp-s07-button-primary:link {
    color: #4A2C26 !important;
}

.rtf-tp-s07 .rtf-tp-s07-button-primary span {
    color: #4A2C26 !important;
}
/* Secondary */

.rtf-tp-s07-button-secondary{
    background:transparent;
    border:1px solid rgba(245,233,220,.7);

    color:#F5E9DC;
}


.rtf-tp-s07-button-secondary:hover{
    transform:translateY(-3px);

    background:rgba(245,233,220,.12);
    border-color:#F5E9DC;

    color:#F5E9DC;
}


/* Arrow */

.rtf-tp-s07-button span{
    display:inline-block;

    font-size:20px;
    line-height:1;

    transition:transform .3s ease;
}


.rtf-tp-s07-button:hover span{
    transform:translateX(5px);
}


/* =========================================================
   SECTION 07 — TABLET
   ========================================================= */

@media (max-width:1023px){

    .rtf-tp-s07{
        padding:70px 0;
    }

    .rtf-tp-s07-container{
        min-height:460px;
        border-radius:28px;
    }

    .rtf-tp-s07-content{
        width:min(760px,88%);
    }

}


/* =========================================================
   SECTION 07 — MOBILE-L / MOBILE-M
   ========================================================= */

@media (max-width:767px){

    .rtf-tp-s07{
        padding:65px 0;
    }

    .rtf-tp-s07-shell{
        width:90%;
    }

    .rtf-tp-s07-container{
        min-height:auto;

        padding:
            65px
            24px;

        border-radius:24px;
    }

    .rtf-tp-s07-content{
        width:100%;
    }

    .rtf-tp-s07-label{
        margin-bottom:18px;
        font-size:13px;
    }

    .rtf-tp-s07-content h2{
        margin-bottom:20px;

        font-size:36px;
        line-height:1.1;
    }

    .rtf-tp-s07-content p{
        font-size:17px;
        line-height:1.7;
    }

    .rtf-tp-s07-actions{
        width:100%;

        flex-direction:column;

        margin-top:30px;
    }

    .rtf-tp-s07-button{
        width:100%;
        max-width:330px;
    }

}


/* =========================================================
   SECTION 07 — MOBILE-S
   ========================================================= */

@media (max-width:359px){

    .rtf-tp-s07-shell{
        width:92%;
    }

    .rtf-tp-s07-container{
        padding:
            55px
            20px;

        border-radius:20px;
    }

    .rtf-tp-s07-content h2{
        font-size:32px;
    }

    .rtf-tp-s07-content p{
        font-size:16px;
    }

    .rtf-tp-s07-button{
        max-width:none;
        min-height:50px;
        padding:13px 18px;
    }

}

/* =========================================================
   REVEALS
   ========================================================= */

.rtf-tp-s04-reveal,
.rtf-tp-s05-reveal,
.rtf-tp-s06-reveal,
.rtf-tp-s07-reveal{
    opacity:0;
    transform:translateY(24px);
    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.2,.7,.2,1);
}

.rtf-tp-s04-reveal.is-visible,
.rtf-tp-s05-reveal.is-visible,
.rtf-tp-s06-reveal.is-visible,
.rtf-tp-s07-reveal.is-visible{
    opacity:1;
    transform:none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width:1023px){

    .rtf-tp-s04-layout{
        grid-template-columns:1fr;
        gap:35px;
    }

    .rtf-tp-s04-filters{
        position:relative;
        top:auto;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .rtf-tp-s04-filter-title{
        grid-column:1 / -1;
    }

    .rtf-tp-s05-grid{
        grid-template-columns:1fr;
    }

    .rtf-tp-s05-card{
        min-height:auto;
    }

    .rtf-tp-s06-item{
        width:430px;
    }

    .rtf-tp-s07-doors{
        min-height:400px;
    }

    .rtf-tp-s07-door{
        min-height:400px;
        padding:22px;
    }

}


/* =========================================================
   MOBILE-L / MOBILE-M
   ========================================================= */

@media (max-width:767px){

    .rtf-tp-s04,
    .rtf-tp-s05,
    .rtf-tp-s06{
        padding:70px 0;
    }

    .rtf-tp-s07{
        padding-top:70px;
    }

    .rtf-tp-s04-shell,
    .rtf-tp-s05-shell,
    .rtf-tp-s07-shell{
        width:90%;
    }

    .rtf-tp-s04-filters{
        grid-template-columns:1fr;
    }

    .rtf-tp-s04-filter-title{
        grid-column:auto;
    }

    .rtf-tp-s04-person{
        grid-template-columns:40px minmax(0,1fr) 25px;
        gap:12px;
        min-height:auto;
        padding:22px 0;
    }

    .rtf-tp-s04-person-focus{
        grid-column:2 / -1;
        margin-top:5px;
    }

    .rtf-tp-s04-arrow{
        grid-column:3;
        grid-row:1;
    }

    .rtf-tp-s05-card{
        padding:27px;
    }

    .rtf-tp-s05-card-top{
        margin-bottom:30px;
    }

    .rtf-tp-s05-details{
        grid-template-columns:1fr;
    }

    .rtf-tp-s06-track{
        width:max-content;
    }

    .rtf-tp-s06-item{
        width:min(82vw,360px);
        min-height:360px;
        padding:28px;
    }

    .rtf-tp-s06-count{
        margin-bottom:40px;
    }

    .rtf-tp-s07-doors{
        display:flex;
        flex-direction:column;
        min-height:0;
    }

    .rtf-tp-s07-door,
    .rtf-tp-s07-door:first-child{
        min-height:150px;
        border-left:1px solid #5A3B33;
        border-right:1px solid #5A3B33;
        border-bottom:1px solid #5A3B33;
    }

    .rtf-tp-s07-door::before{
        width:45%;
        height:100%;
        left:auto;
        right:25px;
        transform:none;
        border-radius:100px 100px 0 0;
    }

    .rtf-tp-s07-door:hover::before{
        transform:translateY(-8px);
    }

}


/* =========================================================
   MOBILE-S
   ========================================================= */

@media (max-width:359px){

    .rtf-tp-s04-shell,
    .rtf-tp-s05-shell,
    .rtf-tp-s07-shell{
        width:92%;
    }

    .rtf-tp-s04-intro h2,
    .rtf-tp-s05-heading h2,
    .rtf-tp-s06-heading h2,
    .rtf-tp-s07-heading h2{
        font-size:32px;
    }

    .rtf-tp-s05-card{
        padding:23px;
    }

    .rtf-tp-s05-card h3{
        font-size:25px;
    }

    .rtf-tp-s07-door{
        padding:22px;
    }

}

/* =========================================================
   ROOM TO FEEL — ABOUT PAGE
   SECTIONS 01, 03, 04, 05 ONLY

   Everything is scoped under:
   .rtf-about-page

   Does NOT affect navbar, footer, Home, Services,
   Therapists, or other existing pages.
   ========================================================= */


/* =========================================================
   BASE
   ========================================================= */

.rtf-about-page {
    --rtf-about-bg: #F5E9DC;
    --rtf-about-surface: #EBD6C5;
    --rtf-about-primary: #A6533F;
    --rtf-about-primary-dark: #7D382E;
    --rtf-about-brown: #4A2C26;
    --rtf-about-text: #302421;
    --rtf-about-muted: #795F55;
    --rtf-about-soft: #D6A18F;
    --rtf-about-border: #CDB5A4;

    width: 100%;
    min-width: 0;
    overflow: hidden;

    background: #F5E9DC;
    color: #302421;

    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
    line-height: 1.6;
}

.rtf-about-page *,
.rtf-about-page *::before,
.rtf-about-page *::after {
    box-sizing: border-box;
}

.rtf-about-page img {
    display: block;
    max-width: 100%;
}

.rtf-about-page h1,
.rtf-about-page h2,
.rtf-about-page h3,
.rtf-about-page p,
.rtf-about-page figure {
    margin: 0;
}

.rtf-about-page h1,
.rtf-about-page h2,
.rtf-about-page h3 {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 600;
}

.rtf-about-page p,
.rtf-about-page span {
    font-weight: 500;
}


/* =========================================================
   SHARED SECTION HEADING
   ========================================================= */

.rtf-about-page .rtf-about-section-heading {
    position: relative;
    width: min(100%, 900px);
    margin: 0 auto;
    text-align: center;
}

.rtf-about-page .rtf-about-section-label {
    display: inline-block;

    margin-bottom: 20px;

    color: #7D382E;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rtf-about-page .rtf-about-section-heading h2 {
    color: #302421;

    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.18;
    letter-spacing: -0.025em;
}

.rtf-about-page .rtf-about-section-heading p {
    max-width: 720px;
    margin: 22px auto 0;

    color: #4A2C26;

    font-size: clamp(16px, 1.3vw, 18px);
    line-height: 1.75;
}


/* =========================================================
   SECTION 01 — HERO
   ========================================================= */

.rtf-about-page .rtf-about-hero {
    position: relative;

    width: 100%;
    height: 70vh;
    min-height: 520px;

    overflow: hidden;

    isolation: isolate;

    background: #4A2C26;
}

.rtf-about-page .rtf-about-hero-image {
    position: absolute;
    inset: 0;
    z-index: -3;
}

.rtf-about-page .rtf-about-hero-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    animation: rtfAboutHeroImageIn 1.2s ease both;
}

.rtf-about-page .rtf-about-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -2;

    background:
        linear-gradient(
            180deg,
            rgba(48, 36, 33, 0.28) 0%,
            rgba(48, 36, 33, 0.48) 100%
        );
}

.rtf-about-page .rtf-about-hero-content {
    position: relative;

    width: min(92%, 900px);
    min-height: 100%;

    margin: 0 auto;
    padding: 60px 0;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    text-align: center;

    color: #F5E9DC;
}

.rtf-about-page .rtf-about-hero-content .rtf-about-section-label {
    margin-bottom: 22px;

    color: #F5E9DC;

    opacity: 0;
    animation: rtfAboutHeroContentIn .8s .2s ease forwards;
}

.rtf-about-page .rtf-about-hero-content h1 {
    max-width: 850px;

    color: #F5E9DC;

    font-size: clamp(40px, 5vw, 64px);
    line-height: 1.1;
    letter-spacing: -0.04em;

    opacity: 0;
    animation: rtfAboutHeroContentIn .9s .32s ease forwards;
}

.rtf-about-page .rtf-about-hero-content p {
    max-width: 680px;
    margin-top: 24px;

    color: #F5E9DC;

    font-size: clamp(17px, 1.45vw, 20px);
    line-height: 1.7;

    opacity: 0;
    animation: rtfAboutHeroContentIn .9s .45s ease forwards;
}


/* =========================================================
   SECTION 03 — MISSION + VISION
   ========================================================= */

.rtf-about-page .rtf-about-mission {
    position: relative;

    width: 100%;

    padding: clamp(90px, 9vw, 145px) 0;

    background: #F5E9DC;
    color: #302421;
}

.rtf-about-page .rtf-about-mission-shell {
    width: min(90%, 1280px);
    margin: 0 auto;
}

.rtf-about-page .rtf-about-mission-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 4vw, 56px);

    margin-top: clamp(55px, 6vw, 80px);

    align-items: stretch;
}

.rtf-about-page .rtf-about-mission-card {
    position: relative;

    min-width: 0;
    min-height: 500px;

    border-radius: 30px;

    overflow: hidden;

    color: #302421;

    will-change: transform, opacity;

    transition:
        transform .45s ease,
        box-shadow .45s ease;
}

.rtf-about-page .rtf-about-mission-card-left {
    background: #EBD6C5;
}

.rtf-about-page .rtf-about-mission-card-right {
    background: #D6A18F;
}

.rtf-about-page .rtf-about-mission-card:hover {
    transform: translateY(-5px);
}

.rtf-about-page .rtf-about-mission-card-inner {
    min-height: 500px;

    padding: clamp(38px, 4vw, 58px);

    display: flex;
    flex-direction: column;
}

.rtf-about-page .rtf-about-card-label {
    display: block;

    margin-bottom: 24px;

    color: #7D382E;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: .12em;
}

.rtf-about-page .rtf-about-mission-card h3 {
    max-width: 520px;

    min-height: 2.36em;

    color: #302421;

    font-size: clamp(24px, 2.15vw, 30px);
    line-height: 1.18;
    letter-spacing: -.025em;
}

.rtf-about-page .rtf-about-mission-card p {
    max-width: 560px;

    margin-top: 26px;

    color: #4A2C26;

    font-size: clamp(16px, 1.25vw, 18px);
    line-height: 1.75;
}

.rtf-about-page .rtf-about-card-divider {
    width: 100%;
    height: 1px;

    margin-top: auto;
    margin-bottom: 24px;

    background: #A6533F;
    opacity: .5;
}

.rtf-about-page .rtf-about-card-statement {
    display: block;

    color: #7D382E;

    font-size: 16px;
    line-height: 1.6;
    font-weight: 600;
}


/* =========================================================
   SECTION 04 — GALLERY
   ========================================================= */

.rtf-about-page .rtf-about-gallery {
    position: relative;

    width: 100%;

    padding: clamp(90px, 9vw, 145px) 0;

    background: #EBD6C5;
    color: #302421;
}

.rtf-about-page .rtf-about-gallery-shell {
    width: min(90%, 1280px);
    margin: 0 auto;
}

.rtf-about-page .rtf-about-gallery-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(0, .72fr)
        minmax(0, .72fr);

    grid-template-rows:
        minmax(250px, 330px)
        minmax(250px, 330px);

    gap: clamp(14px, 1.5vw, 22px);

    margin-top: clamp(50px, 5vw, 72px);
}

.rtf-about-page .rtf-about-gallery-item {
    position: relative;

    min-width: 0;
    min-height: 0;

    overflow: hidden;

    border-radius: 26px;

    background: #CDB5A4;

    isolation: isolate;
}

.rtf-about-page .rtf-about-gallery-item::after {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(48, 36, 33, .14)
        );

    opacity: 0;

    transition: opacity .45s ease;
}

.rtf-about-page .rtf-about-gallery-item:hover::after {
    opacity: 1;
}

.rtf-about-page .rtf-about-gallery-item img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .7s cubic-bezier(.2,.7,.2,1),
        filter .5s ease;
}

.rtf-about-page .rtf-about-gallery-item:hover img {
    transform: scale(1.045);
}

.rtf-about-page .rtf-about-gallery-item:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.rtf-about-page .rtf-about-gallery-item:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.rtf-about-page .rtf-about-gallery-item:nth-child(3) {
    grid-column: 3;
    grid-row: 1;
}

.rtf-about-page .rtf-about-gallery-item:nth-child(4) {
    grid-column: 2 / span 2;
    grid-row: 2;
}

.rtf-about-page .rtf-about-gallery-item:nth-child(5) {
    display: none;
}

.rtf-about-page .rtf-about-gallery-item:nth-child(6) {
    display: none;
}


/* =========================================================
   SECTION 05 — STATS
   ========================================================= */

.rtf-about-page .rtf-about-stats {
    position: relative;

    width: 100%;

    padding: clamp(90px, 9vw, 140px) 0;

    background: #F5E9DC;
    color: #302421;
}

.rtf-about-page .rtf-about-stats-shell {
    width: min(90%, 1280px);
    margin: 0 auto;
}

.rtf-about-page .rtf-about-stats-track {
    position: relative;

    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    margin-top: clamp(60px, 7vw, 90px);

    border-top: 1px solid #CDB5A4;
    border-bottom: 1px solid #CDB5A4;
}

.rtf-about-page .rtf-about-stat {
    position: relative;

    min-width: 0;

    padding:
        clamp(30px, 3.2vw, 48px)
        clamp(20px, 2.5vw, 38px);

    overflow: hidden;
}

.rtf-about-page .rtf-about-stat + .rtf-about-stat {
    border-left: 1px solid #CDB5A4;
}

.rtf-about-page .rtf-about-stat-number {
    display: block;

    margin-bottom: 28px;

    color: #A6533F;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: .12em;
}

.rtf-about-page .rtf-about-stat h3 {
    min-height: 1.3em;

    color: #302421;

    font-size: clamp(20px, 1.7vw, 23px);
    line-height: 1.3;
}

.rtf-about-page .rtf-about-stat p {
    margin-top: 18px;

    color: #4A2C26;

    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.65;
}


/* =========================================================
   REVEAL ANIMATIONS
   ========================================================= */

.rtf-about-page .rtf-about-reveal {
    opacity: 0;
    transform: translateY(35px);

    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.2,.7,.2,1);
}

.rtf-about-page .rtf-about-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* Mission cards — opposite-side collision */

.rtf-about-page .rtf-about-mission-card-left {
    transform:
        translateX(-180px)
        scale(.96);
}

.rtf-about-page .rtf-about-mission-card-right {
    transform:
        translateX(180px)
        scale(.96);
}

.rtf-about-page .rtf-about-mission-card-left.is-visible,
.rtf-about-page .rtf-about-mission-card-right.is-visible {
    transform:
        translateX(0)
        scale(1);
}


/* Stagger */

.rtf-about-page .rtf-about-mission-card-right {
    transition-delay: .12s;
}

.rtf-about-page .rtf-about-gallery-item:nth-child(2) {
    transition-delay: .08s;
}

.rtf-about-page .rtf-about-gallery-item:nth-child(3) {
    transition-delay: .16s;
}

.rtf-about-page .rtf-about-gallery-item:nth-child(4) {
    transition-delay: .24s;
}

.rtf-about-page .rtf-about-gallery-item:nth-child(5) {
    transition-delay: .32s;
}

.rtf-about-page .rtf-about-gallery-item:nth-child(6) {
    transition-delay: .4s;
}

.rtf-about-page .rtf-about-stat:nth-child(2) {
    transition-delay: .08s;
}

.rtf-about-page .rtf-about-stat:nth-child(3) {
    transition-delay: .16s;
}

.rtf-about-page .rtf-about-stat:nth-child(4) {
    transition-delay: .24s;
}


/* =========================================================
   TABLET — 768–1023
   ========================================================= */

@media (min-width: 768px) and (max-width: 1023px) {

    .rtf-about-page .rtf-about-hero {
        min-height: 500px;
    }

    .rtf-about-page .rtf-about-hero-content h1 {
        font-size: 52px;
    }

    .rtf-about-page .rtf-about-section-heading h2 {
        font-size: 36px;
    }

    .rtf-about-page .rtf-about-mission-grid {
        gap: 22px;
    }

    .rtf-about-page .rtf-about-mission-card,
    .rtf-about-page .rtf-about-mission-card-inner {
        min-height: 480px;
    }

    .rtf-about-page .rtf-about-mission-card-inner {
        padding: 34px;
    }

    .rtf-about-page .rtf-about-gallery-grid {
        grid-template-columns:
            minmax(0, 1.3fr)
            minmax(0, .85fr);

        grid-template-rows:
            300px
            230px
            230px;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(1) {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(2) {
        grid-column: 2;
        grid-row: 1;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(3) {
        grid-column: 2;
        grid-row: 2;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(4) {
        grid-column: 1 / span 2;
        grid-row: 3;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(5),
    .rtf-about-page .rtf-about-gallery-item:nth-child(6) {
        display: block;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(5) {
        grid-column: 1;
        grid-row: 4;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(6) {
        grid-column: 2;
        grid-row: 4;
    }

    .rtf-about-page .rtf-about-stats-track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rtf-about-page .rtf-about-stat:nth-child(3) {
        border-left: 0;
        border-top: 1px solid #CDB5A4;
    }

    .rtf-about-page .rtf-about-stat:nth-child(4) {
        border-top: 1px solid #CDB5A4;
    }

}


/* =========================================================
   LAPTOP — 1024–1279
   ========================================================= */

@media (min-width: 1024px) and (max-width: 1279px) {

    .rtf-about-page .rtf-about-mission-shell,
    .rtf-about-page .rtf-about-gallery-shell,
    .rtf-about-page .rtf-about-stats-shell {
        width: 90%;
    }

    .rtf-about-page .rtf-about-mission-card,
    .rtf-about-page .rtf-about-mission-card-inner {
        min-height: 480px;
    }

    .rtf-about-page .rtf-about-gallery-grid {
        grid-template-rows: 270px 270px;
    }

}


/* =========================================================
   LAPTOP-L — 1280–1439
   ========================================================= */

@media (min-width: 1280px) and (max-width: 1439px) {

    .rtf-about-page .rtf-about-mission-shell,
    .rtf-about-page .rtf-about-gallery-shell,
    .rtf-about-page .rtf-about-stats-shell {
        width: min(90%, 1240px);
    }

}


/* =========================================================
   MOBILE-L — 390–767
   ========================================================= */

@media (max-width: 767px) {

    .rtf-about-page .rtf-about-hero {
        height: 70vh;
        min-height: 500px;
    }

    .rtf-about-page .rtf-about-hero-content {
        width: 88%;
    }

    .rtf-about-page .rtf-about-hero-content h1 {
        font-size: 40px;
    }

    .rtf-about-page .rtf-about-hero-content p {
        font-size: 17px;
    }

    .rtf-about-page .rtf-about-section-heading h2 {
        font-size: 30px;
    }

    .rtf-about-page .rtf-about-section-heading p {
        font-size: 17px;
    }


    /* Mission */

    .rtf-about-page .rtf-about-mission-shell {
        width: 90%;
    }

    .rtf-about-page .rtf-about-mission-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .rtf-about-page .rtf-about-mission-card,
    .rtf-about-page .rtf-about-mission-card-inner {
        min-height: 0;
    }

    .rtf-about-page .rtf-about-mission-card-inner {
        padding: 34px 28px;
    }

    .rtf-about-page .rtf-about-mission-card-left,
    .rtf-about-page .rtf-about-mission-card-right {
        transform: translateY(40px) scale(.98);
    }

    .rtf-about-page .rtf-about-mission-card-left.is-visible,
    .rtf-about-page .rtf-about-mission-card-right.is-visible {
        transform: translateY(0) scale(1);
    }

    .rtf-about-page .rtf-about-mission-card h3 {
        min-height: 0;
        font-size: 24px;
    }


    /* Gallery */

    .rtf-about-page .rtf-about-gallery-shell {
        width: 90%;
    }

    .rtf-about-page .rtf-about-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows:
            300px
            190px
            300px
            190px;

        gap: 14px;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(1) {
        grid-column: 1 / span 2;
        grid-row: 1;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(3) {
        grid-column: 2;
        grid-row: 2;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(4) {
        grid-column: 1 / span 2;
        grid-row: 3;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(5) {
        display: block;
        grid-column: 1;
        grid-row: 4;
    }

    .rtf-about-page .rtf-about-gallery-item:nth-child(6) {
        display: block;
        grid-column: 2;
        grid-row: 4;
    }


    /* Stats */

    .rtf-about-page .rtf-about-stats-shell {
        width: 90%;
    }

    .rtf-about-page .rtf-about-stats-track {
        grid-template-columns: 1fr;
    }

    .rtf-about-page .rtf-about-stat {
        padding: 32px 4px;
    }

    .rtf-about-page .rtf-about-stat + .rtf-about-stat {
        border-left: 0;
        border-top: 1px solid #CDB5A4;
    }

}


/* =========================================================
   MOBILE-M — 360–389
   ========================================================= */

@media (min-width: 360px) and (max-width: 389px) {

    .rtf-about-page .rtf-about-hero-content h1 {
        font-size: 36px;
    }

    .rtf-about-page .rtf-about-section-heading h2 {
        font-size: 29px;
    }

    .rtf-about-page .rtf-about-mission-card-inner {
        padding: 30px 24px;
    }

    .rtf-about-page .rtf-about-gallery-grid {
        grid-template-rows:
            270px
            175px
            270px
            175px;
    }

}


/* =========================================================
   MOBILE-S — 320–359
   ========================================================= */

@media (max-width: 359px) {

    .rtf-about-page .rtf-about-hero {
        min-height: 470px;
    }

    .rtf-about-page .rtf-about-hero-content {
        width: 90%;
    }

    .rtf-about-page .rtf-about-hero-content h1 {
        font-size: 34px;
    }

    .rtf-about-page .rtf-about-hero-content p {
        font-size: 16px;
    }

    .rtf-about-page .rtf-about-section-heading h2 {
        font-size: 28px;
    }

    .rtf-about-page .rtf-about-section-heading p {
        font-size: 16px;
    }

    .rtf-about-page .rtf-about-mission-card-inner {
        padding: 28px 22px;
    }

    .rtf-about-page .rtf-about-mission-card h3 {
        font-size: 23px;
    }

    .rtf-about-page .rtf-about-mission-card p,
    .rtf-about-page .rtf-about-stat p {
        font-size: 16px;
    }

    .rtf-about-page .rtf-about-gallery-grid {
        grid-template-rows:
            245px
            155px
            245px
            155px;

        gap: 10px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .rtf-about-page *,
    .rtf-about-page *::before,
    .rtf-about-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .rtf-about-page .rtf-about-reveal,
    .rtf-about-page .rtf-about-mission-card-left,
    .rtf-about-page .rtf-about-mission-card-right {
        opacity: 1 !important;
        transform: none !important;
    }

}


/* =========================================================
   HERO KEYFRAMES
   ========================================================= */

@keyframes rtfAboutHeroImageIn {
    from {
        transform: scale(1.04);
    }

    to {
        transform: scale(1);
    }
}

@keyframes rtfAboutHeroContentIn {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================================
   ROOM TO FEEL
   ABOUT PAGE — SECTIONS 06 & 07 ONLY
   NO GLOBAL STYLES
   ========================================================= */


/* =========================================================
   SECTION 06 — ROOM TO FEEL
   ========================================================= */

.rtf-about-page .rtf-about-s06,
.rtf-about-page .rtf-about-s06 *,
.rtf-about-page .rtf-about-s07,
.rtf-about-page .rtf-about-s07 * {
    box-sizing: border-box;
}


/* ---------- Section Base ---------- */

.rtf-about-page .rtf-about-s06 {
    --s06-bg: #EBD6C5;
    --s06-heading: #4A2C26;
    --s06-label: #7D382E;
    --s06-copy: #795F55;
    --s06-wire: #A6533F;
    --s06-node-bg: rgba(245, 233, 220, 0.72);

    position: relative;
    width: 100%;
    min-height: 760px;
    overflow: hidden;

    padding: clamp(90px, 9vw, 140px) 0
             clamp(75px, 8vw, 120px);

    background: var(--s06-bg);
    color: #302421;

    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
}


/* ---------- Shell ---------- */

.rtf-about-page .rtf-about-s06-shell {
    width: min(1380px, calc(100% - 80px));
    margin-inline: auto;
}


/* ---------- Heading ---------- */

.rtf-about-page .rtf-about-s06-heading {
    position: relative;
    z-index: 5;

    width: min(760px, 100%);
    margin-inline: auto;

    text-align: center;

    opacity: 0;
    transform: translateY(18px);

    transition:
        opacity 0.8s ease,
        transform 0.8s cubic-bezier(.2, .75, .2, 1);
}

.rtf-about-page .rtf-about-s06.is-visible
.rtf-about-s06-heading {
    opacity: 1;
    transform: translateY(0);
}


/* ---------- Label ---------- */

.rtf-about-page .rtf-about-s06-label,
.rtf-about-page .rtf-about-s07-label {
    display: block;

    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
}


.rtf-about-page .rtf-about-s06-label {
    color: var(--s06-label);
}


/* ---------- Heading Text ---------- */

.rtf-about-page .rtf-about-s06-heading h1 {
    margin: 17px 0;

    color: var(--s06-heading);

    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: clamp(36px, 4.1vw, 58px);
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: -.035em;
}


.rtf-about-page .rtf-about-s06-heading p {
    width: min(650px, 100%);
    margin-inline: auto;

    color: var(--s06-copy);

    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: clamp(16px, 1.35vw, 19px);
    line-height: 1.75;
    font-weight: 500;
}


/* =========================================================
   SECTION 06 — DESKTOP MIND MAP
   ========================================================= */

.rtf-about-page .rtf-about-s06-map {
    position: relative;

    width: 100%;
    height: 430px;

    margin-top: 68px;
}


/* ---------- SVG ---------- */

.rtf-about-page .rtf-about-s06-desktop-map {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    overflow: visible;
}


/* ---------- Wires ---------- */

.rtf-about-page .rtf-about-s06-wire {
    fill: none;

    stroke: var(--s06-wire);
    stroke-width: 1.5;
    stroke-linecap: round;

    opacity: .62;

    stroke-dasharray: 1;
    stroke-dashoffset: 1;

    transition:
        stroke-dashoffset 1.35s cubic-bezier(.22, .7, .2, 1),
        opacity .7s ease,
        filter .7s ease;
}


.rtf-about-page .rtf-about-s06-map.is-visible
.rtf-about-s06-wire {
    stroke-dashoffset: 0;
}


.rtf-about-page .rtf-about-s06-wire-1,
.rtf-about-page .rtf-about-s06-wire-4 {
    transition-delay: .08s;
}


.rtf-about-page .rtf-about-s06-wire-2,
.rtf-about-page .rtf-about-s06-wire-5 {
    transition-delay: .22s;
}


.rtf-about-page .rtf-about-s06-wire-3,
.rtf-about-page .rtf-about-s06-wire-6 {
    transition-delay: .36s;
}


/* ---------- Central Glow ---------- */

.rtf-about-page .rtf-about-s06-center-glow {
    fill: rgba(166, 83, 63, .18);

    stroke: var(--s06-wire);
    stroke-width: 1;

    opacity: 0;

    transform-origin: 600px 260px;

    transition: opacity .8s ease;
}


.rtf-about-page .rtf-about-s06-center-core {
    fill: var(--s06-wire);
    opacity: 0;

    transition: opacity .8s ease;
}


.rtf-about-page .rtf-about-s06-map.is-visible
.rtf-about-s06-center-glow,
.rtf-about-page .rtf-about-s06-map.is-visible
.rtf-about-s06-center-core {
    opacity: 1;
}


.rtf-about-page .rtf-about-s06-map.is-active
.rtf-about-s06-center-glow {
    animation: rtfAboutS06Pulse 3.4s ease-in-out infinite;
}


@keyframes rtfAboutS06Pulse {

    0%,
    100% {
        transform: scale(.82);
        opacity: .42;
    }

    50% {
        transform: scale(1.22);
        opacity: .82;
    }
}


/* =========================================================
   SECTION 06 — DESKTOP LABELS
   ========================================================= */

.rtf-about-page .rtf-about-s06-desktop-labels {
    position: absolute;
    inset: 0;

    pointer-events: none;
}


.rtf-about-page .rtf-about-s06-node {
    position: absolute;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    min-height: 38px;

    padding: 8px 13px;

    border: 1px solid rgba(166, 83, 63, .48);
    border-radius: 12px;

    background: var(--s06-node-bg);

    color: var(--s06-heading);

    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 500;

    white-space: nowrap;

    opacity: 0;
    transform: translateY(9px);

    transition:
        opacity .65s ease,
        transform .65s ease,
        border-color .3s ease,
        background-color .3s ease;
}


.rtf-about-page .rtf-about-s06-map.is-visible
.rtf-about-s06-node {
    opacity: 1;
    transform: translateY(0);
}


.rtf-about-page .rtf-about-s06-node-1 {
    left: 2.5%;
    top: 13%;
    transition-delay: .45s;
}


.rtf-about-page .rtf-about-s06-node-2 {
    left: 0;
    top: 45%;
    transition-delay: .58s;
}


.rtf-about-page .rtf-about-s06-node-3 {
    left: 2.5%;
    top: 77%;
    transition-delay: .71s;
}


.rtf-about-page .rtf-about-s06-node-4 {
    right: 2.5%;
    top: 13%;
    transition-delay: .45s;
}


.rtf-about-page .rtf-about-s06-node-5 {
    right: 0;
    top: 45%;
    transition-delay: .58s;
}


.rtf-about-page .rtf-about-s06-node-6 {
    right: 2.5%;
    top: 77%;
    transition-delay: .71s;
}


.rtf-about-page .rtf-about-s06-node i {
    width: 6px;
    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: var(--s06-wire);

    box-shadow:
        0 0 8px rgba(166, 83, 63, .38);
}


.rtf-about-page .rtf-about-s06-node b {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
}


.rtf-about-page .rtf-about-s06-node:hover {
    border-color: var(--s06-wire);
    background: #F5E9DC;
}


/* =========================================================
   MOBILE MAP — HIDDEN BY DEFAULT
   ========================================================= */

.rtf-about-page .rtf-about-s06-mobile-map {
    display: none;
}


/* =========================================================
   SECTION 07 — FINAL CTA
   ========================================================= */

.rtf-about-page .rtf-about-s07 {
    position: relative;

    width: 100%;
    overflow: hidden;

    padding: clamp(60px, 7vw, 100px) 40px;

    background: #F5E9DC;

    color: #F5E9DC;

    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
}


.rtf-about-page .rtf-about-s07-shell {
    position: relative;
    isolation: isolate;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 500px;

    overflow: hidden;

    padding: clamp(70px, 8vw, 110px) 30px;

    border-radius: 32px;

    background:
        linear-gradient(
            135deg,
            #7D382E 0%,
            #A6533F 50%,
            #C56A52 100%
        );
}


/* ---------- CTA Content ---------- */

.rtf-about-page .rtf-about-s07-content {
    position: relative;
    z-index: 3;

    width: min(850px, 100%);
    margin-inline: auto;

    text-align: center;

    opacity: 0;

    transform:
        translateY(24px)
        scale(.975);

    transition:
        opacity .8s ease,
        transform .9s cubic-bezier(.2, .75, .2, 1);
}


.rtf-about-page .rtf-about-s07.is-visible
.rtf-about-s07-content {
    opacity: 1;

    transform:
        translateY(0)
        scale(1);
}


.rtf-about-page .rtf-about-s07-label {
    color: #F5E9DC;
    opacity: .9;
}


/* ---------- CTA Heading ---------- */

.rtf-about-page .rtf-about-s07-content h2 {
    margin: 18px auto 20px;

    color: #F5E9DC !important;

    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -.04em;
}


/* ---------- CTA Paragraph ---------- */

.rtf-about-page .rtf-about-s07-content p {
    width: min(680px, 100%);
    margin-inline: auto;

    color: #F2DED1 !important;

    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: clamp(17px, 1.4vw, 20px);
    line-height: 1.7;
    font-weight: 500;
}


/* ---------- CTA Buttons ---------- */

.rtf-about-page .rtf-about-s07-actions {
    display: flex;
    align-items: center;
    justify-content: center;

    flex-wrap: wrap;

    gap: 14px;

    margin-top: 34px;
}


.rtf-about-page .rtf-about-s07-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 11px;

    min-width: 178px;
    min-height: 50px;

    padding: 12px 20px;

    border-radius: 12px;

    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 500;

    text-decoration: none;

    transition:
        transform .28s ease,
        background-color .28s ease,
        color .28s ease,
        border-color .28s ease;
}


.rtf-about-page .rtf-about-s07-button span {
    display: inline-block;

    transition:
        transform .28s ease;
}


.rtf-about-page .rtf-about-s07-button-primary {
    background: #F5E9DC !important;

    border: 1px solid #F5E9DC;

    color: #4A2C26 !important;
}


.rtf-about-page .rtf-about-s07-button-secondary {
    background: transparent !important;

    border: 1px solid rgba(245, 233, 220, .68);

    color: #F5E9DC !important;
}


.rtf-about-page .rtf-about-s07-button:hover {
    transform: translateY(-2px);
}


.rtf-about-page .rtf-about-s07-button:hover span {
    transform: translateX(4px);
}


.rtf-about-page .rtf-about-s07-button-primary:hover {
    background: #FFF8F1 !important;
    color: #4A2C26 !important;
}


.rtf-about-page .rtf-about-s07-button-secondary:hover {
    background: rgba(245, 233, 220, .1) !important;

    border-color: #F5E9DC;

    color: #F5E9DC !important;
}


/* =========================================================
   CTA — FLOWING WIRES
   ========================================================= */

.rtf-about-page .rtf-about-s07-wire-field {
    position: absolute;
    inset: 0;

    z-index: 1;

    overflow: hidden;

    pointer-events: none;

    opacity: .25;
}


.rtf-about-page .rtf-about-s07-wire-field span {
    position: absolute;

    left: -10%;

    width: 120%;
    height: 110px;

    border-top:
        1px solid
        rgba(245, 233, 220, .7);

    border-radius: 50%;

    animation:
        rtfAboutS07Wave
        12s ease-in-out
        infinite alternate;
}


.rtf-about-page .rtf-about-s07-wire-field span:nth-child(1) {
    top: 13%;
    transform: rotate(4deg);
}


.rtf-about-page .rtf-about-s07-wire-field span:nth-child(2) {
    top: 31%;
    transform: rotate(-3deg);
    animation-delay: -2s;
}


.rtf-about-page .rtf-about-s07-wire-field span:nth-child(3) {
    top: 51%;
    transform: rotate(2deg);
    animation-delay: -4s;
}


.rtf-about-page .rtf-about-s07-wire-field span:nth-child(4) {
    top: 70%;
    transform: rotate(-4deg);
    animation-delay: -6s;
}


.rtf-about-page .rtf-about-s07-wire-field span:nth-child(5) {
    top: 86%;
    transform: rotate(3deg);
    animation-delay: -8s;
}


@keyframes rtfAboutS07Wave {

    0% {
        margin-left: -2%;
    }

    100% {
        margin-left: 2%;
    }
}


/* =========================================================
   TABLET — 768–1023
   ========================================================= */

@media (max-width: 1023px) {

    .rtf-about-page .rtf-about-s06 {
        min-height: 700px;

        padding-top: 82px;
    }


    .rtf-about-page .rtf-about-s06-shell {
        width: min(92%, 920px);
    }


    .rtf-about-page .rtf-about-s06-map {
        height: 370px;

        margin-top: 52px;
    }


    .rtf-about-page .rtf-about-s06-node {
        font-size: 13px;

        padding:
            7px
            11px;
    }


    .rtf-about-page .rtf-about-s07 {
        padding:
            55px
            28px;
    }


    .rtf-about-page .rtf-about-s07-shell {
        min-height: 470px;

        border-radius: 28px;
    }
}


/* =========================================================
   MOBILE — 390–767
   Vertical straight line.
   Every branch goes to the right.
   ========================================================= */

@media (max-width: 767px) {

    .rtf-about-page .rtf-about-s06 {
        min-height: auto;

        padding:
            72px
            0
            78px;
    }


    .rtf-about-page .rtf-about-s06-shell {
        width:
            min(
                calc(100% - 36px),
                620px
            );
    }


    .rtf-about-page .rtf-about-s06-heading h1 {
        font-size: 30px;

        line-height: 1.15;

        letter-spacing: -.025em;
    }


    .rtf-about-page .rtf-about-s06-heading p {
        font-size: 16px;

        line-height: 1.7;
    }


    .rtf-about-page .rtf-about-s06-label,
    .rtf-about-page .rtf-about-s07-label {
        font-size: 13px;
    }


    /* Hide desktop mind map */

    .rtf-about-page .rtf-about-s06-desktop-map,
    .rtf-about-page .rtf-about-s06-desktop-labels {
        display: none;
    }


    /* Mobile map */

    .rtf-about-page .rtf-about-s06-map {
        height: 500px;

        margin-top: 46px;
    }


    .rtf-about-page .rtf-about-s06-mobile-map {
        position: relative;

        display: block;

        width: 100%;
        height: 100%;
    }


    /* Main vertical wire */

    .rtf-about-page .rtf-about-s06-mobile-line {
        position: absolute;

        top: 14px;
        bottom: 14px;

        left: 34%;

        width: 1.5px;

        background:
            linear-gradient(
                to bottom,
                transparent 0%,
                rgba(166, 83, 63, .38) 5%,
                #A6533F 15%,
                #A6533F 85%,
                rgba(166, 83, 63, .38) 95%,
                transparent 100%
            );

        transform-origin: top center;

        transform: scaleY(0);

        transition:
            transform
            1.5s
            cubic-bezier(.22, .7, .2, 1);

        box-shadow:
            0 0 6px
            rgba(166, 83, 63, .18);
    }


    .rtf-about-page .rtf-about-s06-map.is-visible
    .rtf-about-s06-mobile-line {
        transform: scaleY(1);
    }


    /* Branch item */

    .rtf-about-page .rtf-about-s06-mobile-node {
        position: absolute;

        left: 34%;

        display: flex;

        align-items: center;

        gap: 12px;

        width: 64%;

        min-height: 42px;

        opacity: 0;

        transform: translateX(16px);

        transition:
            opacity .55s ease,
            transform .55s ease;
    }


    /* Small branch dot */

    .rtf-about-page .rtf-about-s06-mobile-node i {
        position: relative;

        display: block;

        flex: 0 0 7px;

        width: 7px;
        height: 7px;

        margin-left: -3px;

        border-radius: 50%;

        background: #A6533F;

        box-shadow:
            0 0 9px
            rgba(166, 83, 63, .5);
    }


    /* Horizontal branch from line */

    .rtf-about-page .rtf-about-s06-mobile-node i::after {
        content: "";

        position: absolute;

        top: 50%;
        left: 7px;

        width: 22px;
        height: 1px;

        background: #A6533F;

        transform:
            translateY(-50%);

        opacity: .7;
    }


    /* Text container */

    .rtf-about-page .rtf-about-s06-mobile-node b {
        display: inline-flex;

        align-items: center;

        min-height: 38px;

        padding:
            8px
            12px;

        border:
            1px solid
            rgba(166, 83, 63, .48);

        border-radius: 11px;

        background:
            rgba(245, 233, 220, .7);

        color: #4A2C26;

        font-family:
            "Plus Jakarta Sans",
            sans-serif;

        font-size: 14px;

        line-height: 1.3;

        font-weight: 500;

        white-space: nowrap;
    }


    .rtf-about-page .rtf-about-s06-map.is-visible
    .rtf-about-s06-mobile-node {
        opacity: 1;

        transform:
            translateX(0);
    }


    /* Six progressive branches */

    .rtf-about-page .rtf-about-s06-mobile-node-1 {
        top: 4%;

        transition-delay: .28s;
    }


    .rtf-about-page .rtf-about-s06-mobile-node-2 {
        top: 20%;

        transition-delay: .44s;
    }


    .rtf-about-page .rtf-about-s06-mobile-node-3 {
        top: 36%;

        transition-delay: .60s;
    }


    .rtf-about-page .rtf-about-s06-mobile-node-4 {
        top: 52%;

        transition-delay: .76s;
    }


    .rtf-about-page .rtf-about-s06-mobile-node-5 {
        top: 68%;

        transition-delay: .92s;
    }


    .rtf-about-page .rtf-about-s06-mobile-node-6 {
        top: 84%;

        transition-delay: 1.08s;
    }


    /* ---------- Section 07 Mobile ---------- */

    .rtf-about-page .rtf-about-s07 {
        padding:
            42px
            18px;
    }


    .rtf-about-page .rtf-about-s07-shell {
        min-height: 500px;

        padding:
            62px
            20px;

        border-radius: 24px;
    }


    .rtf-about-page .rtf-about-s07-content h2 {
        font-size: 34px;

        line-height: 1.12;
    }


    .rtf-about-page .rtf-about-s07-content p {
        font-size: 16px;

        line-height: 1.7;
    }


    .rtf-about-page .rtf-about-s07-actions {
        flex-direction: column;

        width: 100%;

        margin-top: 28px;
    }


    .rtf-about-page .rtf-about-s07-button {
        width: min(100%, 300px);

        min-height: 50px;
    }
}


/* =========================================================
   MOBILE-S — 320–359
   ========================================================= */

@media (max-width: 359px) {

    .rtf-about-page .rtf-about-s06 {
        padding-top: 62px;
    }


    .rtf-about-page .rtf-about-s06-shell {
        width:
            calc(100% - 28px);
    }


    .rtf-about-page .rtf-about-s06-heading h1 {
        font-size: 28px;
    }


    .rtf-about-page .rtf-about-s06-map {
        height: 470px;

        margin-top: 38px;
    }


    .rtf-about-page .rtf-about-s06-mobile-line,
    .rtf-about-page .rtf-about-s06-mobile-node {
        left: 28%;
    }


    .rtf-about-page .rtf-about-s06-mobile-node {
        width: 72%;
    }


    .rtf-about-page .rtf-about-s06-mobile-node b {
        font-size: 13px;

        padding:
            7px
            9px;
    }


    .rtf-about-page .rtf-about-s06-mobile-node i::after {
        width: 17px;
    }


    .rtf-about-page .rtf-about-s07 {
        padding-inline: 12px;
    }


    .rtf-about-page .rtf-about-s07-shell {
        padding-inline: 14px;

        border-radius: 20px;
    }


    .rtf-about-page .rtf-about-s07-content h2 {
        font-size: 30px;
    }
}


/* =========================================================
   LAPTOP-L / DESKTOP
   ========================================================= */

@media (min-width: 1280px) {

    .rtf-about-page .rtf-about-s06-shell {
        width:
            min(
                1380px,
                calc(100% - 120px)
            );
    }


    .rtf-about-page .rtf-about-s06-map {
        height: 455px;
    }


    .rtf-about-page .rtf-about-s07 {
        padding-inline: 55px;
    }
}


@media (min-width: 1440px) {

    .rtf-about-page .rtf-about-s06 {
        min-height: 800px;
    }


    .rtf-about-page .rtf-about-s06-shell {
        width:
            min(
                1440px,
                calc(100% - 160px)
            );
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .rtf-about-page .rtf-about-s06-heading,
    .rtf-about-page .rtf-about-s06-wire,
    .rtf-about-page .rtf-about-s06-node,
    .rtf-about-page .rtf-about-s06-mobile-node,
    .rtf-about-page .rtf-about-s06-mobile-line,
    .rtf-about-page .rtf-about-s07-content,
    .rtf-about-page .rtf-about-s07-wire-field span {
        animation: none !important;

        transition: none !important;

        opacity: 1 !important;

        transform: none !important;

        stroke-dashoffset: 0 !important;
    }
}
/* ===== SECTION 2 · rtf-ab-s2 · add to the end of assets/css/styles.css ===== */
.rtf-ab-s2{
  --rtf-ab-s2-bg:#F5E9DC;
  --rtf-ab-s2-ink:#4A2C26;
  --rtf-ab-s2-muted:#6B4A41;
  --rtf-ab-s2-accent:#A6533F;
  --rtf-ab-s2-on-accent:#FFF8F0;
  --rtf-ab-s2-chip-bg:#4A2C26;
  --rtf-ab-s2-chip-ink:#F5E9DC;
  --rtf-ab-s2-chip-line:transparent;
  --rtf-ab-s2-btn2-bg:#4A2C26;
  --rtf-ab-s2-btn2-ink:#F5E9DC;
  --rtf-ab-s2-badge-bg:rgba(74,44,38,.07);
  --rtf-ab-s2-line:rgba(74,44,38,.18);
  --rtf-ab-s2-photo-bg:linear-gradient(135deg,#E3C3AC,#A6533F);
  /* match these two to your other sections' container */
  --rtf-ab-s2-max:1320px;
  --rtf-ab-s2-pad:clamp(16px,4vw,48px);
  position:relative;
  overflow:clip;
  background:var(--rtf-ab-s2-bg);
  color:var(--rtf-ab-s2-ink);
  font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:500;
  padding-block:clamp(56px,8vw,112px);
}
.rtf-ab-s2 *,.rtf-ab-s2 *::before,.rtf-ab-s2 *::after{box-sizing:border-box}
.rtf-ab-s2 :where(p,h2,ul,li,figure){margin:0;padding:0}
.rtf-ab-s2 :where(ul){list-style:none}

.rtf-ab-s2-wrap{
  max-width:var(--rtf-ab-s2-max);margin-inline:auto;
  padding-inline:var(--rtf-ab-s2-pad);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);
  align-items:stretch;
  gap:clamp(36px,5vw,88px);
}

/* ---------- copy ---------- */
.rtf-ab-s2-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:clamp(22px,2.6vw,34px);min-width:0}
.rtf-ab-s2-eyebrow{
  font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--rtf-ab-s2-accent);font-weight:600;margin-block-end:16px;
}
.rtf-ab-s2-title{
  font-size:clamp(2.1rem,4.6vw,3.7rem);line-height:1.08;
  letter-spacing:-.025em;font-weight:600;color:var(--rtf-ab-s2-ink);
}
.rtf-ab-s2-title span{display:block}
.rtf-ab-s2-text{
  max-width:50ch;
  font-size:clamp(.98rem,1.2vw,1.08rem);line-height:1.7;color:var(--rtf-ab-s2-muted);
}
.rtf-ab-s2-body{display:flex;flex-direction:column;gap:14px}
.rtf-ab-s2-points{display:flex;flex-direction:column;gap:12px}
.rtf-ab-s2-points li{
  position:relative;padding-inline-start:28px;max-width:52ch;
  font-size:.96rem;line-height:1.5;font-weight:600;color:var(--rtf-ab-s2-ink);
}
.rtf-ab-s2-points li::before{
  content:"";position:absolute;inset-inline-start:0;top:.32em;width:16px;height:16px;border-radius:50%;
  background:var(--rtf-ab-s2-accent);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m4.5 8.3 2.3 2.3 4.7-5'/%3E%3Ccircle cx='8' cy='8' r='8' fill-opacity='.0'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m4.5 8.3 2.3 2.3 4.7-5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.rtf-ab-s2-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;
}
.rtf-ab-s2-btn,.rtf-ab-s2-btn-sq{transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease}
.rtf-ab-s2-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding-inline:30px;border-radius:999px;
  background:var(--rtf-ab-s2-accent);color:var(--rtf-ab-s2-on-accent);
  font-weight:600;font-size:.98rem;text-decoration:none;
}
.rtf-ab-s2-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px var(--rtf-ab-s2-accent)}
.rtf-ab-s2-btn-sq{
  display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;
  background:var(--rtf-ab-s2-btn2-bg);color:var(--rtf-ab-s2-btn2-ink);text-decoration:none;
}
.rtf-ab-s2-btn-sq:hover{transform:translate(2px,-2px)}
.rtf-ab-s2-link{
  color:var(--rtf-ab-s2-ink);font-weight:600;font-size:.95rem;text-decoration:underline;
  text-decoration-color:var(--rtf-ab-s2-accent);text-underline-offset:5px;text-decoration-thickness:2px;
  padding-block:10px;
}
.rtf-ab-s2-link:hover{color:var(--rtf-ab-s2-accent)}
.rtf-ab-s2 :is(a,button):focus-visible{outline:3px solid var(--rtf-ab-s2-accent);outline-offset:3px}

.rtf-ab-s2-trust{width:100%;padding-block-start:22px;border-block-start:1px solid var(--rtf-ab-s2-line)}
.rtf-ab-s2-trust-label{font-size:.78rem;color:var(--rtf-ab-s2-muted);margin-block-end:12px}
.rtf-ab-s2-badges{display:flex;flex-wrap:wrap;gap:8px}
.rtf-ab-s2-badges li{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 14px;border-radius:999px;font-size:.84rem;font-weight:600;
  background:var(--rtf-ab-s2-badge-bg);color:var(--rtf-ab-s2-ink);
}
.rtf-ab-s2-badges svg{color:var(--rtf-ab-s2-accent);flex:none}

/* ---------- collage ---------- */
.rtf-ab-s2-collage{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1fr);
  grid-template-areas:"stat portrait" "group group";
  gap:14px;
  padding-inline-end:clamp(40px,5.5vw,68px);
}
.rtf-ab-s2-stat{
  grid-area:stat;position:relative;
  display:flex;flex-direction:column;justify-content:space-between;gap:20px;
  padding:clamp(18px,2.2vw,26px);border-radius:24px;
  background:var(--rtf-ab-s2-accent);color:var(--rtf-ab-s2-on-accent);
}
.rtf-ab-s2-stat-num{font-size:clamp(1.9rem,3.2vw,2.7rem);font-weight:600;letter-spacing:-.02em;line-height:1}
.rtf-ab-s2-stat-label{margin-block-start:8px;font-size:.88rem;opacity:.92}
.rtf-ab-s2-bars{display:flex;align-items:flex-end;gap:7px;height:clamp(64px,9vw,110px)}
.rtf-ab-s2-bars span{
  flex:1;height:var(--rtf-ab-s2-h);border-radius:7px 7px 3px 3px;
  background:rgba(255,248,240,.42);transform-origin:bottom;
}
.rtf-ab-s2-bars span:last-child{background:#FFF8F0}

.rtf-ab-s2-photo{
  position:relative;border-radius:24px;overflow:hidden;background:var(--rtf-ab-s2-photo-bg);
  isolation:isolate;
}
.rtf-ab-s2-float{position:absolute;inset:-8px;}
.rtf-ab-s2-float img{width:100%;height:100%;object-fit:cover;display:block}
.rtf-ab-s2-portrait{grid-area:portrait;aspect-ratio:4/5}
.rtf-ab-s2-group{grid-area:group;aspect-ratio:16/8.5}

/* play badge */
.rtf-ab-s2-play{
  grid-area:stat;align-self:end;justify-self:start;z-index:3;
  position:relative;width:88px;height:88px;border-radius:50%;border:0;padding:0;cursor:pointer;
  display:grid;place-items:center;
  background:var(--rtf-ab-s2-chip-bg);color:var(--rtf-ab-s2-chip-ink);
  box-shadow:0 0 0 5px var(--rtf-ab-s2-bg),0 14px 28px -12px rgba(40,20,16,.55);
  margin-inline-start:-34px;margin-block-end:-26px;
  transition:transform .25s ease;
}
.rtf-ab-s2-play:hover{transform:scale(1.06)}
.rtf-ab-s2-ring{position:absolute;inset:0;width:100%;height:100%;animation:rtf-ab-s2-spin 16s linear infinite}
.rtf-ab-s2-ring text{font-size:10.5px;font-weight:600;letter-spacing:.06em;fill:currentColor}
.rtf-ab-s2-play-ico{position:relative;width:34px;height:34px;padding:9px;border-radius:50%;background:var(--rtf-ab-s2-accent);color:var(--rtf-ab-s2-on-accent)}

/* chips */
.rtf-ab-s2-chips{
  position:absolute;inset-inline-end:0;top:8%;z-index:3;
  display:flex;flex-direction:column;gap:12px;width:clamp(104px,9.5vw,124px);
}
.rtf-ab-s2-chip{
  aspect-ratio:1/1;
  display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;
  padding:clamp(12px,1.2vw,16px);border-radius:18px;text-align:start;
  background:var(--rtf-ab-s2-chip-bg);color:var(--rtf-ab-s2-chip-ink);
  border:1px solid var(--rtf-ab-s2-chip-line);
  box-shadow:0 14px 28px -14px rgba(40,20,16,.6);
}
.rtf-ab-s2-chip strong{display:block;font-size:clamp(1.3rem,1.9vw,1.6rem);font-weight:600;letter-spacing:-.01em;line-height:1}
.rtf-ab-s2-chip span{display:block;font-size:.76rem;line-height:1.3;opacity:.88}
.rtf-ab-s2-chip strong span{font-size:inherit;line-height:inherit;opacity:1;display:inline}

/* ---------- motion ---------- */
.rtf-ab-s2--js .rtf-ab-s2-rv{opacity:0;transform:translateY(30px)}
.rtf-ab-s2--in .rtf-ab-s2-rv{
  opacity:1;transform:none;
  transition:opacity .7s ease var(--rtf-ab-s2-d,0s),transform .85s cubic-bezier(.2,.7,.2,1) var(--rtf-ab-s2-d,0s);
}
.rtf-ab-s2--js .rtf-ab-s2-bars span{transform:scaleY(0)}
.rtf-ab-s2--in .rtf-ab-s2-bars span{transform:none;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.rtf-ab-s2--in .rtf-ab-s2-bars span:nth-child(1){transition-delay:.5s}
.rtf-ab-s2--in .rtf-ab-s2-bars span:nth-child(2){transition-delay:.6s}
.rtf-ab-s2--in .rtf-ab-s2-bars span:nth-child(3){transition-delay:.7s}
.rtf-ab-s2--in .rtf-ab-s2-bars span:nth-child(4){transition-delay:.8s}
.rtf-ab-s2--in .rtf-ab-s2-bars span:nth-child(5){transition-delay:.9s}
.rtf-ab-s2--in .rtf-ab-s2-float{animation:rtf-ab-s2-float var(--rtf-ab-s2-fd,8s) ease-in-out 1.2s infinite alternate}
@keyframes rtf-ab-s2-spin{to{transform:rotate(360deg)}}
@keyframes rtf-ab-s2-float{from{transform:translateY(-4px)}to{transform:translateY(5px)}}

@media (prefers-reduced-motion:reduce){
  .rtf-ab-s2--js .rtf-ab-s2-rv,.rtf-ab-s2--js .rtf-ab-s2-bars span{opacity:1;transform:none}
  .rtf-ab-s2 *,.rtf-ab-s2 *::before,.rtf-ab-s2 *::after{animation:none !important;transition:none !important}
}

/* ---------- responsive ---------- */
/* laptop-L and up is the default above */
@media (max-width:1279px){            /* laptop */
  .rtf-ab-s2-wrap{gap:clamp(28px,4vw,48px)}
  .rtf-ab-s2-collage{align-content:start}
}
@media (min-width:992px) and (max-width:1279px){
  .rtf-ab-s2-points{display:none}
}
@media (max-width:991px){             /* tablet: stack */
  .rtf-ab-s2-wrap{grid-template-columns:minmax(0,1fr)}
  .rtf-ab-s2-text{max-width:60ch}
  .rtf-ab-s2-collage{width:100%;max-width:640px;margin-inline:auto}
}
@media (max-width:639px){             /* mobile-L and below */
  .rtf-ab-s2-collage{padding-inline-end:0;gap:10px}
  .rtf-ab-s2-stat,.rtf-ab-s2-photo{border-radius:20px}
  .rtf-ab-s2-play{width:72px;height:72px;margin-inline-start:10px;margin-block-end:10px;box-shadow:0 0 0 4px var(--rtf-ab-s2-bg),0 10px 20px -10px rgba(40,20,16,.55)}
  .rtf-ab-s2-ring text{font-size:10px}
  .rtf-ab-s2-play-ico{width:30px;height:30px;padding:8px}
  /* chips move inside the group photo */
  .rtf-ab-s2-chips{
    top:auto;bottom:10px;inset-inline:10px;width:auto;
    flex-direction:row;gap:6px;
  }
  .rtf-ab-s2-chip{flex:1;min-width:0;padding:10px;border-radius:14px}
  .rtf-ab-s2-chip strong{font-size:1.1rem}
  .rtf-ab-s2-chip span{font-size:.64rem}
  .rtf-ab-s2-group{aspect-ratio:4/3}
  .rtf-ab-s2-actions .rtf-ab-s2-btn{flex:1 1 auto}
}
@media (max-width:374px){             /* mobile-S */
  .rtf-ab-s2-stat{padding:14px}
  .rtf-ab-s2-stat-num{font-size:1.6rem}
  .rtf-ab-s2-stat-label{font-size:.78rem}
  .rtf-ab-s2-badges li{font-size:.78rem;padding:7px 11px}
  .rtf-ab-s2-chip{padding:8px}
  .rtf-ab-s2-chip strong{font-size:.95rem}
  .rtf-ab-s2-chip span{font-size:.56rem}
}

/* =========================================================
   ROOM TO FEEL — CONTACT PAGE ONLY
   NO GLOBAL STYLES
   ALL SELECTORS SCOPED TO .rtf-contact-page
   ========================================================= */


/* =========================================================
   SECTION 01 — HERO
   ========================================================= */

.rtf-contact-page .rtf-contact-hero {
    position: relative;
    width: 100%;
    min-height: 70vh;
    height: 70vh;
    overflow: hidden;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #302421;
    color: #F5E9DC;
}

.rtf-contact-page .rtf-contact-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: -3;
    transform: scale(1.04);
    transition: transform 1.4s ease;
}

.rtf-contact-page .rtf-contact-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(
            180deg,
            rgba(48,36,33,.28) 0%,
            rgba(48,36,33,.62) 100%
        );
}

.rtf-contact-page .rtf-contact-hero-content {
    width: min(900px, calc(100% - 48px));
    text-align: center;
    margin: 0 auto;
}

.rtf-contact-page .rtf-contact-eyebrow,
.rtf-contact-page .rtf-contact-section-label,
.rtf-contact-page .rtf-contact-cta-label {
    display: inline-block;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.rtf-contact-page .rtf-contact-eyebrow {
    color: #F5E9DC;
    margin-bottom: 22px;
}

.rtf-contact-page .rtf-contact-hero h1 {
    max-width: 900px;
    margin: 0 auto;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: clamp(40px, 5.1vw, 64px);
    line-height: 1.1;
    font-weight: 600;
    color: #F5E9DC;
}

.rtf-contact-page .rtf-contact-hero p {
    max-width: 690px;
    margin: 28px auto 0;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 20px;
    line-height: 1.7;
    font-weight: 500;
    color: #F5E9DC;
}

.rtf-contact-page .rtf-contact-hero-scroll {
    position: absolute;
    left: 50%;
    bottom: 28px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 12px;
    color: #F5E9DC;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .12em;
}

.rtf-contact-page .rtf-contact-hero-scroll span {
    width: 24px;
    height: 38px;
    border: 1px solid rgba(245,233,220,.7);
    border-radius: 20px;
    position: relative;
}

.rtf-contact-page .rtf-contact-hero-scroll span::after {
    content: "";
    position: absolute;
    width: 4px;
    height: 7px;
    border-radius: 5px;
    background: #F5E9DC;
    left: 50%;
    top: 7px;
    transform: translateX(-50%);
    animation: rtfContactScrollDot 1.8s ease-in-out infinite;
}

@keyframes rtfContactScrollDot {
    0%,100% {
        opacity: .4;
        transform: translate(-50%,0);
    }

    50% {
        opacity: 1;
        transform: translate(-50%,10px);
    }
}


/* =========================================================
   SHARED SECTION HEADING
   ========================================================= */

.rtf-contact-page .rtf-contact-section-heading {
    max-width: 800px;
    margin: 0 auto 58px;
    text-align: center;
}

.rtf-contact-page .rtf-contact-section-label {
    color: #7D382E;
    margin-bottom: 18px;
}

.rtf-contact-page .rtf-contact-section-heading h2,
.rtf-contact-page .rtf-contact-information-content h2,
.rtf-contact-page .rtf-contact-message-intro h2,
.rtf-contact-page .rtf-contact-map-heading h2 {
    margin: 0;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 600;
    color: #302421;
    font-size: clamp(30px, 3.2vw, 42px);
    line-height: 1.18;
}

.rtf-contact-page .rtf-contact-section-heading p,
.rtf-contact-page .rtf-contact-information-intro,
.rtf-contact-page .rtf-contact-message-intro > p,
.rtf-contact-page .rtf-contact-map-heading p {
    margin: 22px 0 0;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 18px;
    line-height: 1.75;
    font-weight: 500;
    color: #795F55;
}


/* =========================================================
   SECTION 02 — CONNECT
   ========================================================= */

.rtf-contact-page .rtf-contact-connect {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: clamp(90px, 9vw, 135px) 0;
    background: #F5E9DC;
}

.rtf-contact-page .rtf-contact-connect-shell {
    width: min(1280px, calc(100% - 80px));
    margin: 0 auto;
}

.rtf-contact-page .rtf-contact-connect-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.rtf-contact-page .rtf-contact-connect-card {
    position: relative;
    min-height: 430px;
    padding: 36px 34px 34px;
    overflow: hidden;
    border-radius: 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition:
        transform .55s cubic-bezier(.2,.75,.2,1),
        box-shadow .55s ease;
}

.rtf-contact-page .rtf-contact-connect-card:hover {
    transform: translateY(-10px);
}

.rtf-contact-page .rtf-contact-connect-card-one {
    background: #D6A18F;
    color: #302421;
}

.rtf-contact-page .rtf-contact-connect-card-two {
    background: #A6533F;
    color: #F5E9DC;
}

.rtf-contact-page .rtf-contact-connect-card-three {
    background: #CDB5A4;
    color: #302421;
}

.rtf-contact-page .rtf-contact-connect-number {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .1em;
}

.rtf-contact-page .rtf-contact-connect-icon {
    position: absolute;
    top: 28px;
    right: 30px;
    width: 54px;
    height: 54px;
    border: 1px solid currentColor;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 22px;
    transition:
        transform .45s ease,
        background .45s ease;
}

.rtf-contact-page .rtf-contact-connect-card:hover .rtf-contact-connect-icon {
    transform: rotate(12deg) scale(1.08);
    background: rgba(255,255,255,.12);
}

.rtf-contact-page .rtf-contact-connect-content {
    position: relative;
    z-index: 2;
    margin-top: auto;
}

.rtf-contact-page .rtf-contact-connect-kicker {
    display: block;
    margin-bottom: 14px;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
}

.rtf-contact-page .rtf-contact-connect-content h3 {
    margin: 0;
    max-width: 320px;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 600;
}

.rtf-contact-page .rtf-contact-connect-content p {
    max-width: 390px;
    margin: 18px 0 24px;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    line-height: 1.7;
    font-weight: 500;
}

.rtf-contact-page .rtf-contact-connect-content a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    text-decoration: none;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 15px;
    font-weight: 600;
}

.rtf-contact-page .rtf-contact-connect-content a span {
    transition: transform .35s ease;
}

.rtf-contact-page .rtf-contact-connect-content a:hover span {
    transform: translateX(5px);
}


/* =========================================================
   SECTION 03 — INFORMATION
   ========================================================= */

.rtf-contact-page .rtf-contact-information {
    position: relative;
    overflow: hidden;
    padding: clamp(90px, 9vw, 140px) 0;
    background: #EBD6C5;
}

.rtf-contact-page .rtf-contact-information-shell {
    width: min(1280px, calc(100% - 80px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(50px, 7vw, 100px);
    align-items: center;
}

.rtf-contact-page .rtf-contact-information-image {
    position: relative;
    min-height: 620px;
    overflow: hidden;
    border-radius: 30px;
}

.rtf-contact-page .rtf-contact-information-image img {
    width: 100%;
    height: 100%;
    min-height: 620px;
    object-fit: cover;
    display: block;
    transition: transform .9s cubic-bezier(.2,.75,.2,1);
}

.rtf-contact-page .rtf-contact-information-image:hover img {
    transform: scale(1.045);
}

.rtf-contact-page .rtf-contact-image-note {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    padding: 20px 22px;
    border-radius: 18px;
    background: rgba(48,36,33,.82);
    backdrop-filter: blur(12px);
    color: #F5E9DC;
}

.rtf-contact-page .rtf-contact-image-note span {
    display: block;
    margin-bottom: 7px;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
}

.rtf-contact-page .rtf-contact-image-note strong {
    display: block;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 17px;
    font-weight: 500;
}

.rtf-contact-page .rtf-contact-information-content {
    max-width: 650px;
}

.rtf-contact-page .rtf-contact-details {
    margin-top: 38px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 24px 30px;
}

.rtf-contact-page .rtf-contact-detail {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 22px;
    border-bottom: 1px solid #CDB5A4;
}

.rtf-contact-page .rtf-contact-detail-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid #A6533F;
    border-radius: 50%;
    color: #A6533F;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 17px;
    font-weight: 600;
}

.rtf-contact-page .rtf-contact-detail small {
    display: block;
    margin-bottom: 7px;
    color: #7D382E;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
}

.rtf-contact-page .rtf-contact-detail a,
.rtf-contact-page .rtf-contact-detail p {
    margin: 0;
    color: #4A2C26;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    font-weight: 500;
    text-decoration: none;
}

.rtf-contact-page .rtf-contact-detail a:hover {
    color: #A6533F;
}

.rtf-contact-page .rtf-contact-information-note {
    margin-top: 34px;
    padding: 24px 0 0;
    border-top: 1px solid #CDB5A4;
}

.rtf-contact-page .rtf-contact-information-note span {
    display: block;
    margin-bottom: 8px;
    color: #7D382E;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
}

.rtf-contact-page .rtf-contact-information-note p {
    margin: 0;
    color: #4A2C26;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    line-height: 1.7;
    font-weight: 500;
}


/* =========================================================
   SECTION 04 — FORM
   ========================================================= */

.rtf-contact-page .rtf-contact-message {
    position: relative;
    overflow: hidden;
    padding: clamp(90px, 9vw, 140px) 0;
    background: #F5E9DC;
}

.rtf-contact-page .rtf-contact-message-shell {
    width: min(1280px, calc(100% - 80px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: clamp(55px, 8vw, 120px);
    align-items: start;
}

.rtf-contact-page .rtf-contact-message-intro {
    position: sticky;
    top: 110px;
}

.rtf-contact-page .rtf-contact-form-side-note {
    margin-top: 44px;
    padding-left: 20px;
    border-left: 2px solid #A6533F;
}

.rtf-contact-page .rtf-contact-form-side-note span {
    display: block;
    margin-bottom: 8px;
    color: #7D382E;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
}

.rtf-contact-page .rtf-contact-form-side-note p {
    margin: 0;
    max-width: 300px;
    color: #795F55;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 15px;
    line-height: 1.7;
    font-weight: 500;
}

.rtf-contact-page .rtf-contact-form {
    width: 100%;
    padding: 40px;
    border: 1px solid #CDB5A4;
    border-radius: 28px;
    background: #FFF7EF;
}

.rtf-contact-page .rtf-contact-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 22px;
}

.rtf-contact-page .rtf-contact-field {
    margin-bottom: 24px;
}

.rtf-contact-page .rtf-contact-field label {
    display: block;
    margin-bottom: 9px;
    color: #4A2C26;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 15px;
    font-weight: 500;
}

.rtf-contact-page .rtf-contact-field input,
.rtf-contact-page .rtf-contact-field select,
.rtf-contact-page .rtf-contact-field textarea {
    width: 100%;
    border: 1px solid #CDB5A4;
    border-radius: 12px;
    outline: none;
    background: #F5E9DC;
    color: #302421;
    padding: 15px 16px;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    font-weight: 500;
    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.rtf-contact-page .rtf-contact-field input,
.rtf-contact-page .rtf-contact-field select {
    min-height: 52px;
}

.rtf-contact-page .rtf-contact-field textarea {
    min-height: 170px;
    resize: vertical;
    line-height: 1.65;
}

.rtf-contact-page .rtf-contact-field input::placeholder,
.rtf-contact-page .rtf-contact-field textarea::placeholder {
    color: #795F55;
    opacity: .85;
}

.rtf-contact-page .rtf-contact-field input:focus,
.rtf-contact-page .rtf-contact-field select:focus,
.rtf-contact-page .rtf-contact-field textarea:focus {
    border-color: #A6533F;
    box-shadow: 0 0 0 3px rgba(166,83,63,.12);
}

.rtf-contact-page .rtf-contact-field.is-invalid input,
.rtf-contact-page .rtf-contact-field.is-invalid select,
.rtf-contact-page .rtf-contact-field.is-invalid textarea {
    border-color: #C94F49;
}

.rtf-contact-page .rtf-contact-error {
    display: block;
    min-height: 18px;
    margin-top: 6px;
    color: #C94F49;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;
}

.rtf-contact-page .rtf-contact-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    color: #4A2C26;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 500;
}

.rtf-contact-page .rtf-contact-checkbox input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.rtf-contact-page .rtf-contact-checkbox-mark {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    border: 1px solid #CDB5A4;
    border-radius: 5px;
    background: #F5E9DC;
    position: relative;
}

.rtf-contact-page .rtf-contact-checkbox input:checked + .rtf-contact-checkbox-mark {
    background: #A6533F;
    border-color: #A6533F;
}

.rtf-contact-page .rtf-contact-checkbox input:checked + .rtf-contact-checkbox-mark::after {
    content: "";
    position: absolute;
    width: 5px;
    height: 10px;
    border-right: 2px solid #F5E9DC;
    border-bottom: 2px solid #F5E9DC;
    left: 6px;
    top: 2px;
    transform: rotate(45deg);
}

.rtf-contact-page .rtf-contact-form > .rtf-contact-error[data-error-for="contactConsent"] {
    margin-left: 32px;
}

.rtf-contact-page .rtf-contact-submit {
    margin-top: 18px;
    width: 100%;
    min-height: 56px;
    border: 1px solid #A6533F;
    border-radius: 12px;
    background: #A6533F;
    color: #F5E9DC;
    cursor: pointer;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition:
        background .3s ease,
        transform .3s ease;
}

.rtf-contact-page .rtf-contact-submit:hover {
    background: #7D382E;
    transform: translateY(-2px);
}

.rtf-contact-page .rtf-contact-submit span {
    transition: transform .3s ease;
}

.rtf-contact-page .rtf-contact-submit:hover span {
    transform: translateX(5px);
}

.rtf-contact-page .rtf-contact-form-success {
    display: none;
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 10px;
    background: rgba(120,189,181,.15);
    color: #31566B;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
}

.rtf-contact-page .rtf-contact-form-success.is-visible {
    display: block;
    animation: rtfContactSuccess .5s ease both;
}

@keyframes rtfContactSuccess {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   SECTION 05 — MAP
   ========================================================= */

.rtf-contact-page .rtf-contact-map-section {
    position: relative;
    overflow: hidden;
    padding: clamp(90px, 9vw, 135px) 0;
    background: #EBD6C5;
}

.rtf-contact-page .rtf-contact-map-shell {
    width: min(1280px, calc(100% - 80px));
    margin: 0 auto;
}

.rtf-contact-page .rtf-contact-map-heading {
    max-width: 800px;
    margin: 0 auto 55px;
    text-align: center;
}

.rtf-contact-page .rtf-contact-map-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 1.65 / 1;
    min-height: 500px;
    overflow: hidden;
    border: 1px solid #CDB5A4;
    border-radius: 8px;
    background: #D6A18F;
    box-shadow:
        0 22px 60px rgba(74,44,38,.12);
}

.rtf-contact-page .rtf-contact-map-frame iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    filter: saturate(.72) sepia(.08);
}

.rtf-contact-page .rtf-contact-map-label {
    position: absolute;
    left: 24px;
    bottom: 24px;
    padding: 17px 20px;
    border-radius: 10px;
    background: rgba(48,36,33,.88);
    color: #F5E9DC;
    pointer-events: none;
}

.rtf-contact-page .rtf-contact-map-label span {
    display: block;
    margin-bottom: 5px;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
}

.rtf-contact-page .rtf-contact-map-label strong {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 15px;
    font-weight: 500;
}

.rtf-contact-page .rtf-contact-map-corner {
    position: absolute;
    width: 35px;
    height: 35px;
    border-color: #A6533F;
    border-style: solid;
    pointer-events: none;
}

.rtf-contact-page .rtf-contact-map-corner-top {
    top: 20px;
    right: 20px;
    border-width: 2px 2px 0 0;
}

.rtf-contact-page .rtf-contact-map-corner-bottom {
    bottom: 20px;
    left: 20px;
    border-width: 0 0 2px 2px;
}


/* =========================================================
   SECTION 06 — CTA
   ========================================================= */

.rtf-contact-page .rtf-contact-cta {
    position: relative;
    overflow: hidden;
    padding: 70px 40px;
    background: #F5E9DC;
}

.rtf-contact-page .rtf-contact-cta-shell {
    position: relative;
    min-height: 500px;
    overflow: hidden;
    border-radius: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(
            135deg,
            #7D382E 0%,
            #A6533F 48%,
            #C56A52 100%
        );
    color: #F5E9DC;
}

.rtf-contact-page .rtf-contact-cta-content {
    position: relative;
    z-index: 3;
    width: min(850px, calc(100% - 50px));
    text-align: center;
}

.rtf-contact-page .rtf-contact-cta-label {
    color: #F5E9DC;
    margin-bottom: 20px;
}

.rtf-contact-page .rtf-contact-cta-content h2 {
    margin: 0;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.1;
    font-weight: 600;
    color: #F5E9DC;
}

.rtf-contact-page .rtf-contact-cta-content p {
    max-width: 650px;
    margin: 24px auto 0;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 19px;
    line-height: 1.7;
    font-weight: 500;
    color: #F5E9DC;
}

.rtf-contact-page .rtf-contact-cta-actions {
    margin-top: 34px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
}

.rtf-contact-page .rtf-contact-cta-button {
    min-height: 52px;
    padding: 0 24px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    text-decoration: none;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    font-weight: 500;
    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease;
}

.rtf-contact-page .rtf-contact-cta-primary {
    background: #F5E9DC;
    color: #4A2C26;
}

.rtf-contact-page .rtf-contact-cta-secondary {
    border: 1px solid rgba(245,233,220,.75);
    color: #F5E9DC;
    background: transparent;
}

.rtf-contact-page .rtf-contact-cta-button:hover {
    transform: translateY(-3px);
}

.rtf-contact-page .rtf-contact-cta-primary:hover {
    background: #FFFDF8;
}

.rtf-contact-page .rtf-contact-cta-secondary:hover {
    background: rgba(245,233,220,.12);
}

.rtf-contact-page .rtf-contact-cta-button span {
    transition: transform .3s ease;
}

.rtf-contact-page .rtf-contact-cta-button:hover span {
    transform: translateX(5px);
}

.rtf-contact-page .rtf-contact-cta-wire {
    position: absolute;
    border: 1px solid rgba(245,233,220,.18);
    border-radius: 50%;
    pointer-events: none;
}

.rtf-contact-page .rtf-contact-cta-wire-one {
    width: 700px;
    height: 250px;
    left: -180px;
    top: 30px;
    transform: rotate(-9deg);
    animation: rtfContactWireFloat 9s ease-in-out infinite;
}

.rtf-contact-page .rtf-contact-cta-wire-two {
    width: 760px;
    height: 290px;
    right: -210px;
    bottom: 15px;
    transform: rotate(8deg);
    animation: rtfContactWireFloat 11s ease-in-out infinite reverse;
}

.rtf-contact-page .rtf-contact-cta-wire-three {
    width: 520px;
    height: 170px;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    opacity: .12;
    animation: rtfContactWirePulse 7s ease-in-out infinite;
}

@keyframes rtfContactWireFloat {
    0%,100% {
        transform: translateY(0) rotate(-9deg);
    }

    50% {
        transform: translateY(-12px) rotate(-6deg);
    }
}

@keyframes rtfContactWirePulse {
    0%,100% {
        transform: translate(-50%,-50%) scale(1);
    }

    50% {
        transform: translate(-50%,-50%) scale(1.08);
    }
}


/* =========================================================
   SCROLL REVEAL
   ========================================================= */

.rtf-contact-page .rtf-contact-reveal {
    opacity: 0;
    transform: translateY(35px);
    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.2,.75,.2,1);
}

.rtf-contact-page .rtf-contact-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.rtf-contact-page .rtf-contact-connect-card:nth-child(2) {
    transition-delay: .08s;
}

.rtf-contact-page .rtf-contact-connect-card:nth-child(3) {
    transition-delay: .16s;
}


/* =========================================================
   TABLET — 768–1023
   ========================================================= */

@media (max-width:1023px) {

    .rtf-contact-page .rtf-contact-hero {
        min-height: 70vh;
        height: 70vh;
    }

    .rtf-contact-page .rtf-contact-connect-shell,
    .rtf-contact-page .rtf-contact-information-shell,
    .rtf-contact-page .rtf-contact-message-shell,
    .rtf-contact-page .rtf-contact-map-shell {
        width: min(100% - 48px, 900px);
    }

    .rtf-contact-page .rtf-contact-connect-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rtf-contact-page .rtf-contact-connect-card:last-child {
        grid-column: 1 / -1;
        width: calc(50% - 12px);
        margin: 0 auto;
    }

    .rtf-contact-page .rtf-contact-information-shell {
        grid-template-columns: 1fr;
    }

    .rtf-contact-page .rtf-contact-information-image {
        min-height: 480px;
    }

    .rtf-contact-page .rtf-contact-information-image img {
        min-height: 480px;
    }

    .rtf-contact-page .rtf-contact-information-content {
        max-width: none;
    }

    .rtf-contact-page .rtf-contact-message-shell {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .rtf-contact-page .rtf-contact-message-intro {
        position: static;
        max-width: 750px;
    }

    .rtf-contact-page .rtf-contact-map-frame {
        min-height: 430px;
    }

    .rtf-contact-page .rtf-contact-cta {
        padding: 55px 24px;
    }
}


/* =========================================================
   LAPTOP — 1024–1279
   ========================================================= */

@media (min-width:1024px) and (max-width:1279px) {

    .rtf-contact-page .rtf-contact-connect-shell,
    .rtf-contact-page .rtf-contact-information-shell,
    .rtf-contact-page .rtf-contact-message-shell,
    .rtf-contact-page .rtf-contact-map-shell {
        width: min(1150px, calc(100% - 64px));
    }

    .rtf-contact-page .rtf-contact-connect-card {
        padding: 32px 28px;
    }

    .rtf-contact-page .rtf-contact-connect-content h3 {
        font-size: 23px;
    }
}


/* =========================================================
   LAPTOP-L / DESKTOP — 1280+
   ========================================================= */

@media (min-width:1280px) {

    .rtf-contact-page .rtf-contact-connect-card {
        min-height: 450px;
    }

    .rtf-contact-page .rtf-contact-information-image,
    .rtf-contact-page .rtf-contact-information-image img {
        min-height: 650px;
    }
}


/* =========================================================
   MOBILE-L — 390–767
   ========================================================= */

@media (max-width:767px) {

    .rtf-contact-page .rtf-contact-hero {
        min-height: 70vh;
        height: 70vh;
    }

    .rtf-contact-page .rtf-contact-hero-content {
        width: calc(100% - 36px);
    }

    .rtf-contact-page .rtf-contact-hero h1 {
        font-size: 40px;
    }

    .rtf-contact-page .rtf-contact-hero p {
        font-size: 17px;
        line-height: 1.65;
        margin-top: 22px;
    }

    .rtf-contact-page .rtf-contact-hero-scroll small {
        display: none;
    }

    .rtf-contact-page .rtf-contact-connect,
    .rtf-contact-page .rtf-contact-information,
    .rtf-contact-page .rtf-contact-message,
    .rtf-contact-page .rtf-contact-map-section {
        padding: 78px 0;
    }

    .rtf-contact-page .rtf-contact-connect-shell,
    .rtf-contact-page .rtf-contact-information-shell,
    .rtf-contact-page .rtf-contact-message-shell,
    .rtf-contact-page .rtf-contact-map-shell {
        width: calc(100% - 32px);
    }

    .rtf-contact-page .rtf-contact-section-heading {
        margin-bottom: 40px;
    }

    .rtf-contact-page .rtf-contact-section-heading h2,
    .rtf-contact-page .rtf-contact-information-content h2,
    .rtf-contact-page .rtf-contact-message-intro h2,
    .rtf-contact-page .rtf-contact-map-heading h2 {
        font-size: 30px;
    }

    .rtf-contact-page .rtf-contact-section-heading p,
    .rtf-contact-page .rtf-contact-information-intro,
    .rtf-contact-page .rtf-contact-message-intro > p,
    .rtf-contact-page .rtf-contact-map-heading p {
        font-size: 17px;
    }

    .rtf-contact-page .rtf-contact-connect-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .rtf-contact-page .rtf-contact-connect-card {
        min-height: 380px;
        width: 100% !important;
    }

    .rtf-contact-page .rtf-contact-information-shell {
        gap: 45px;
    }

    .rtf-contact-page .rtf-contact-information-image,
    .rtf-contact-page .rtf-contact-information-image img {
        min-height: 430px;
    }

    .rtf-contact-page .rtf-contact-details {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .rtf-contact-page .rtf-contact-form {
        padding: 25px 20px;
        border-radius: 20px;
    }

    .rtf-contact-page .rtf-contact-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .rtf-contact-page .rtf-contact-map-frame {
        height: 420px;
        min-height: 0;
        aspect-ratio: auto;
    }

    .rtf-contact-page .rtf-contact-map-frame iframe {
        position: absolute;
        inset: 0;
    }

    .rtf-contact-page .rtf-contact-cta {
        padding: 32px 16px;
    }

    .rtf-contact-page .rtf-contact-cta-shell {
        min-height: 500px;
        border-radius: 24px;
    }

    .rtf-contact-page .rtf-contact-cta-content h2 {
        font-size: 38px;
    }

    .rtf-contact-page .rtf-contact-cta-content p {
        font-size: 17px;
    }

    .rtf-contact-page .rtf-contact-cta-actions {
        flex-direction: column;
    }

    .rtf-contact-page .rtf-contact-cta-button {
        width: 100%;
    }

    .rtf-contact-page .rtf-contact-cta-wire-one {
        width: 500px;
        left: -260px;
    }

    .rtf-contact-page .rtf-contact-cta-wire-two {
        width: 500px;
        right: -260px;
    }
}


/* =========================================================
   MOBILE-S / MOBILE-M — BELOW 390
   ========================================================= */

@media (max-width:389px) {

    .rtf-contact-page .rtf-contact-hero-content {
        width: calc(100% - 28px);
    }

    .rtf-contact-page .rtf-contact-hero h1 {
        font-size: 36px;
    }

    .rtf-contact-page .rtf-contact-hero p {
        font-size: 16px;
    }

    .rtf-contact-page .rtf-contact-connect-shell,
    .rtf-contact-page .rtf-contact-information-shell,
    .rtf-contact-page .rtf-contact-message-shell,
    .rtf-contact-page .rtf-contact-map-shell {
        width: calc(100% - 24px);
    }

    .rtf-contact-page .rtf-contact-connect-card {
        min-height: 390px;
        padding: 30px 24px;
    }

    .rtf-contact-page .rtf-contact-connect-content h3 {
        font-size: 21px;
    }

    .rtf-contact-page .rtf-contact-connect-content p {
        font-size: 15px;
    }

    .rtf-contact-page .rtf-contact-information-image,
    .rtf-contact-page .rtf-contact-information-image img {
        min-height: 360px;
    }

    .rtf-contact-page .rtf-contact-form {
        padding: 22px 16px;
    }

    .rtf-contact-page .rtf-contact-map-frame {
        height: 360px;
    }

    .rtf-contact-page .rtf-contact-cta-shell {
        min-height: 470px;
    }

    .rtf-contact-page .rtf-contact-cta-content h2 {
        font-size: 34px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .rtf-contact-page .rtf-contact-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .rtf-contact-page .rtf-contact-hero-image,
    .rtf-contact-page .rtf-contact-connect-card,
    .rtf-contact-page .rtf-contact-information-image img,
    .rtf-contact-page .rtf-contact-cta-button {
        transition: none;
    }

    .rtf-contact-page .rtf-contact-hero-scroll span::after,
    .rtf-contact-page .rtf-contact-cta-wire {
        animation: none;
    }
}

/* =========================================================
   ROOM TO FEEL — CLIENT DASHBOARD
   LIGHT MODE / BASE STYLES
   ========================================================= */

:root {

    /* =========================
       ROOM TO FEEL COLORS
       ========================= */

    --rtf-warm-parchment: #F5E9DC;
    --rtf-clay-cream: #EBD6C5;
    --rtf-burnt-terracotta: #A6533F;
    --rtf-roasted-terracotta: #7D382E;
    --rtf-cocoa-brown: #4A2C26;
    --rtf-espresso: #302421;
    --rtf-dusty-brown: #795F55;
    --rtf-blush-clay: #D6A18F;
    --rtf-sandy-taupe: #CDB5A4;

    /* =========================
       SEMANTIC COLORS
       ========================= */

    --rtf-page-bg: var(--rtf-warm-parchment);
    --rtf-surface: #FBF3EB;
    --rtf-surface-soft: var(--rtf-clay-cream);

    --rtf-text: var(--rtf-espresso);
    --rtf-heading: var(--rtf-cocoa-brown);
    --rtf-muted: var(--rtf-dusty-brown);

    --rtf-accent: var(--rtf-burnt-terracotta);
    --rtf-accent-hover: var(--rtf-roasted-terracotta);

    --rtf-border: var(--rtf-sandy-taupe);

    --rtf-navbar-bg: #FBF3EB;
    --rtf-sidebar-bg: #EBD6C5;

    --rtf-input-bg: #FFF9F4;

    /* =========================
       TYPOGRAPHY
       ========================= */

    --rtf-font: "Plus Jakarta Sans", sans-serif;

    --rtf-text-xs: 11px;
    --rtf-text-sm: 13px;
    --rtf-text-md: 14px;
    --rtf-text-base: 15px;
    --rtf-text-lg: 17px;
    --rtf-text-xl: 21px;
    --rtf-text-2xl: 28px;
    --rtf-text-3xl: 34px;

    /* =========================
       LAYOUT
       ========================= */

    --rtf-navbar-height: 76px;
    --rtf-sidebar-width: 285px;

    --rtf-radius-sm: 10px;
    --rtf-radius-md: 16px;
    --rtf-radius-lg: 22px;

    --rtf-transition: 220ms ease;
}


/* =========================================================
   RESET
   ========================================================= */

.rtf-dashboard-page *,
.rtf-dashboard-page *::before,
.rtf-dashboard-page *::after {
    box-sizing: border-box;
}

.rtf-dashboard-page {
    margin: 0;
    min-height: 100vh;
    background: var(--rtf-page-bg);
    color: var(--rtf-text);
    font-family: var(--rtf-font);
    font-size: var(--rtf-text-base);
    font-weight: 500;
    line-height: 1.65;
}

.rtf-dashboard-page button,
.rtf-dashboard-page input,
.rtf-dashboard-page textarea,
.rtf-dashboard-page select {
    font: inherit;
}

.rtf-dashboard-page button,
.rtf-dashboard-page a {
    -webkit-tap-highlight-color: transparent;
}

.rtf-dashboard-page button {
    border: 0;
    cursor: pointer;
}

.rtf-dashboard-page a {
    color: inherit;
    text-decoration: none;
}

.rtf-dashboard-page img {
    display: block;
    max-width: 100%;
}


/* =========================================================
   NAVBAR
   ========================================================= */

.rtf-dashboard-navbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    height: var(--rtf-navbar-height);
    background: var(--rtf-navbar-bg);
    border-bottom: 1px solid var(--rtf-border);
}

.rtf-dashboard-navbar__inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 28px;
}

.rtf-dashboard-navbar__controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rtf-dashboard-control {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--rtf-heading);
    border: 1px solid transparent;
    border-radius: 50%;
    transition:
        background var(--rtf-transition),
        color var(--rtf-transition),
        border-color var(--rtf-transition);
}

.rtf-dashboard-control:hover {
    background: var(--rtf-clay-cream);
    border-color: var(--rtf-border);
    color: var(--rtf-accent);
}

.rtf-dashboard-control i {
    font-size: 16px;
}

.rtf-dashboard-control--rtl {
    width: 50px;
    border-radius: 12px;
}

.rtf-dashboard-control--rtl span {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
}

.rtf-dashboard-logout {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 17px;
    margin-left: 4px;
    background: var(--rtf-accent);
    color: #fff8f2;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 600;
    transition:
        background var(--rtf-transition),
        transform var(--rtf-transition);
}

.rtf-dashboard-logout:hover {
    background: var(--rtf-accent-hover);
    transform: translateY(-1px);
}

.rtf-dashboard-logout i {
    font-size: 13px;
}

.rtf-dashboard-navbar__mobile-trigger {
    display: none;
}


/* =========================================================
   MAIN SHELL
   ========================================================= */

.rtf-dashboard-shell {
    display: grid;
    grid-template-columns: var(--rtf-sidebar-width) minmax(0, 1fr);
    height: calc(100vh - var(--rtf-navbar-height));
    overflow: hidden;
}


/* =========================================================
   DESKTOP SIDEBAR
   ========================================================= */

.rtf-dashboard-sidebar {
    min-width: 0;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 28px 20px 24px;
    background: var(--rtf-sidebar-bg);
    border-right: 1px solid var(--rtf-border);
    scrollbar-width: thin;
    scrollbar-color: var(--rtf-accent) transparent;
}

.rtf-dashboard-sidebar::-webkit-scrollbar {
    width: 5px;
}

.rtf-dashboard-sidebar::-webkit-scrollbar-thumb {
    background: var(--rtf-accent);
    border-radius: 10px;
}


/* =========================================================
   BRAND
   ========================================================= */

.rtf-dashboard-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--rtf-heading);
}

.rtf-dashboard-brand__logo {
    width: 43px;
    height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.rtf-dashboard-brand__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rtf-dashboard-brand__svg {
    width: 42px;
    height: 42px;
    fill: none;
    stroke: var(--rtf-accent);
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rtf-dashboard-brand__svg circle {
    fill: var(--rtf-accent);
    stroke: none;
}

.rtf-dashboard-brand__text {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.02em;
}


/* =========================================================
   SIDEBAR PROFILE
   ========================================================= */

.rtf-dashboard-profile {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 30px 0 28px;
    padding: 15px;
    background: var(--rtf-surface);
    border: 1px solid var(--rtf-border);
    border-radius: var(--rtf-radius-md);
}

.rtf-dashboard-profile__image-wrap {
    position: relative;
    width: 49px;
    height: 49px;
    flex: 0 0 49px;
}

.rtf-dashboard-profile__image {
    width: 49px;
    height: 49px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid var(--rtf-surface);
}

.rtf-dashboard-profile__status {
    position: absolute;
    right: 0;
    bottom: 1px;
    width: 12px;
    height: 12px;
    background: var(--rtf-accent);
    border: 2px solid var(--rtf-surface);
    border-radius: 50%;
}

.rtf-dashboard-profile__details {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.rtf-dashboard-profile__details strong {
    color: var(--rtf-heading);
    font-size: 13px;
    font-weight: 600;
}

.rtf-dashboard-profile__details span {
    color: var(--rtf-accent);
    font-size: 11px;
    font-weight: 600;
}

.rtf-dashboard-profile__details small {
    color: var(--rtf-muted);
    font-size: 10px;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.rtf-dashboard-navigation {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rtf-dashboard-navigation__label {
    margin: 6px 10px 8px;
    color: var(--rtf-muted);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .14em;
}

.rtf-dashboard-navigation__label:not(:first-child) {
    margin-top: 22px;
}

.rtf-dashboard-nav-item {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 13px;
    background: transparent;
    color: var(--rtf-heading);
    border: 1px solid transparent;
    border-radius: 12px;
    text-align: left;
    font-size: 13px;
    font-weight: 500;
    transition:
        background var(--rtf-transition),
        color var(--rtf-transition),
        border-color var(--rtf-transition);
}

.rtf-dashboard-nav-item:hover {
    background: var(--rtf-surface);
    border-color: var(--rtf-border);
}

.rtf-dashboard-nav-item.is-active {
    background: var(--rtf-accent);
    color: #fff8f2;
}

.rtf-dashboard-nav-item__icon {
    width: 25px;
    flex: 0 0 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rtf-dashboard-nav-item__icon i {
    font-size: 14px;
}

.rtf-dashboard-nav-badge {
    min-width: 21px;
    height: 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    background: var(--rtf-accent);
    color: #fff8f2;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 600;
}

.rtf-dashboard-nav-item.is-active .rtf-dashboard-nav-badge {
    background: #fff8f2;
    color: var(--rtf-accent);
}


/* =========================================================
   SIDEBAR SUPPORT
   ========================================================= */

.rtf-dashboard-sidebar__support {
    display: flex;
    gap: 11px;
    margin-top: 30px;
    padding: 16px;
    background: var(--rtf-surface);
    border: 1px solid var(--rtf-border);
    border-radius: var(--rtf-radius-md);
}

.rtf-dashboard-sidebar__support-icon {
    width: 31px;
    height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 31px;
    background: var(--rtf-clay-cream);
    color: var(--rtf-accent);
    border-radius: 50%;
}

.rtf-dashboard-sidebar__support-icon i {
    font-size: 12px;
}

.rtf-dashboard-sidebar__support strong {
    display: block;
    margin-bottom: 3px;
    color: var(--rtf-heading);
    font-size: 11px;
    font-weight: 600;
}

.rtf-dashboard-sidebar__support p {
    margin: 0;
    color: var(--rtf-muted);
    font-size: 10px;
    line-height: 1.55;
}


/* =========================================================
   MAIN CONTENT
   ========================================================= */

.rtf-dashboard-main {
    min-width: 0;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 42px clamp(25px, 4vw, 64px) 70px;
    scrollbar-width: thin;
    scrollbar-color: var(--rtf-accent) transparent;
}

.rtf-dashboard-main::-webkit-scrollbar {
    width: 7px;
}

.rtf-dashboard-main::-webkit-scrollbar-thumb {
    background: var(--rtf-accent);
    border-radius: 10px;
}


/* =========================================================
   SECTIONS
   ========================================================= */

.rtf-dashboard-section {
    display: none;
    max-width: 1180px;
    margin: 0 auto;
}

.rtf-dashboard-section.is-visible {
    display: block;
    animation: rtfDashboardReveal .3s ease both;
}

@keyframes rtfDashboardReveal {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   PAGE HEADING
   ========================================================= */

.rtf-dashboard-page-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 32px;
}

.rtf-dashboard-eyebrow {
    display: block;
    margin-bottom: 7px;
    color: var(--rtf-accent);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .16em;
}

.rtf-dashboard-page-heading h1 {
    margin: 0;
    color: var(--rtf-heading);
    font-size: clamp(27px, 3vw, 36px);
    line-height: 1.18;
    font-weight: 600;
    letter-spacing: -0.035em;
}

.rtf-dashboard-page-heading p {
    max-width: 650px;
    margin: 10px 0 0;
    color: var(--rtf-muted);
    font-size: 14px;
    font-weight: 500;
}

.rtf-dashboard-heading-mark {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: var(--rtf-clay-cream);
    color: var(--rtf-accent);
    border-radius: 50%;
}

.rtf-dashboard-heading-mark i {
    font-size: 19px;
}


/* =========================================================
   NEXT SESSION
   ========================================================= */

.rtf-dashboard-next-session {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    min-height: 235px;
    margin-bottom: 25px;
    padding: 34px;
    overflow: hidden;
    position: relative;
    background: var(--rtf-accent);
    color: #fff8f2;
    border-radius: var(--rtf-radius-lg);
}

.rtf-dashboard-next-session::after {
    content: "";
    position: absolute;
    width: 230px;
    height: 230px;
    right: -70px;
    top: -90px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
}

.rtf-dashboard-next-session__content {
    position: relative;
    z-index: 1;
}

.rtf-dashboard-next-session .rtf-dashboard-eyebrow {
    color: #FBE1D6;
}

.rtf-dashboard-next-session h2 {
    max-width: 550px;
    margin: 0 0 18px;
    color: #fff8f2;
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: -0.025em;
}

.rtf-dashboard-next-session__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-bottom: 13px;
}

.rtf-dashboard-next-session__meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #FFF0E8;
    font-size: 12px;
    font-weight: 500;
}

.rtf-dashboard-next-session__meta i {
    font-size: 12px;
}

.rtf-dashboard-next-session p {
    margin: 0;
    color: #FFF0E8;
    font-size: 12px;
}

.rtf-dashboard-next-session p strong {
    color: #fff8f2;
    font-weight: 600;
}

.rtf-dashboard-next-session__action {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
}

.rtf-dashboard-button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 18px;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 600;
    transition:
        background var(--rtf-transition),
        color var(--rtf-transition),
        transform var(--rtf-transition),
        border-color var(--rtf-transition);
}

.rtf-dashboard-button:hover {
    transform: translateY(-1px);
}

.rtf-dashboard-button--light {
    background: #FFF8F2;
    color: var(--rtf-accent);
}

.rtf-dashboard-button--light:hover {
    background: #fff;
}

.rtf-dashboard-button--primary {
    background: var(--rtf-accent);
    color: #fff8f2;
}

.rtf-dashboard-button--primary:hover {
    background: var(--rtf-accent-hover);
}


/* =========================================================
   OVERVIEW GRID
   ========================================================= */

.rtf-dashboard-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.rtf-dashboard-overview-block {
    min-width: 0;
    padding: 25px;
    background: var(--rtf-surface);
    border: 1px solid var(--rtf-border);
    border-radius: var(--rtf-radius-md);
}

.rtf-dashboard-overview-block--wide {
    grid-column: 1 / -1;
}

.rtf-dashboard-block-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
}

.rtf-dashboard-block-label {
    display: block;
    color: var(--rtf-accent);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .13em;
}

.rtf-dashboard-block-heading h3 {
    margin: 4px 0 0;
    color: var(--rtf-heading);
    font-size: 18px;
    line-height: 1.3;
    font-weight: 600;
}

.rtf-dashboard-block-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: var(--rtf-clay-cream);
    color: var(--rtf-accent);
    border-radius: 50%;
}

.rtf-dashboard-block-icon i {
    font-size: 14px;
}

.rtf-dashboard-overview-block > p {
    margin: 15px 0 18px;
    color: var(--rtf-muted);
    font-size: 12px;
    line-height: 1.7;
}

.rtf-dashboard-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    background: transparent;
    color: var(--rtf-accent);
    font-size: 12px;
    font-weight: 600;
}

.rtf-dashboard-text-link:hover {
    color: var(--rtf-accent-hover);
}

.rtf-dashboard-progress {
    margin-top: 18px;
}

.rtf-dashboard-progress__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 9px;
    color: var(--rtf-muted);
    font-size: 11px;
}

.rtf-dashboard-progress__top strong {
    color: var(--rtf-heading);
    font-weight: 600;
}

.rtf-dashboard-progress__track {
    height: 8px;
    overflow: hidden;
    background: var(--rtf-clay-cream);
    border-radius: 10px;
}

.rtf-dashboard-progress__track span {
    display: block;
    height: 100%;
    background: var(--rtf-accent);
    border-radius: inherit;
}

.rtf-dashboard-progress p {
    margin: 10px 0 0;
    color: var(--rtf-muted);
    font-size: 11px;
}


/* =========================================================
   REFLECTION
   ========================================================= */

.rtf-dashboard-reflection {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-top: 25px;
    padding: 25px;
    background: var(--rtf-clay-cream);
    border: 1px solid var(--rtf-border);
    border-radius: var(--rtf-radius-md);
}

.rtf-dashboard-reflection__mark {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: var(--rtf-accent);
    color: #fff8f2;
    border-radius: 50%;
}

.rtf-dashboard-reflection p {
    max-width: 780px;
    margin: 5px 0 0;
    color: var(--rtf-heading);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;
}


/* =========================================================
   SECTION INTRO
   ========================================================= */

.rtf-dashboard-section-intro {
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 20px;
    margin-bottom: 20px;
    background: var(--rtf-surface);
    border: 1px solid var(--rtf-border);
    border-radius: var(--rtf-radius-md);
}

.rtf-dashboard-section-intro > span {
    width: 45px;
    height: 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: var(--rtf-clay-cream);
    color: var(--rtf-accent);
    border-radius: 50%;
}

.rtf-dashboard-section-intro > div {
    flex: 1;
}

.rtf-dashboard-section-intro strong {
    display: block;
    color: var(--rtf-heading);
    font-size: 13px;
    font-weight: 600;
}

.rtf-dashboard-section-intro p {
    margin: 2px 0 0;
    color: var(--rtf-muted);
    font-size: 11px;
}


/* =========================================================
   LIST
   ========================================================= */

.rtf-dashboard-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rtf-dashboard-list-row {
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 17px;
    background: var(--rtf-surface);
    border: 1px solid var(--rtf-border);
    border-radius: var(--rtf-radius-md);
}

.rtf-dashboard-date-mark {
    width: 48px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    flex: 0 0 auto;
    background: var(--rtf-clay-cream);
    color: var(--rtf-accent);
    border-radius: 11px;
}

.rtf-dashboard-date-mark strong {
    font-size: 17px;
    line-height: 1;
    font-weight: 600;
}

.rtf-dashboard-date-mark span {
    margin-top: 3px;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .08em;
}

.rtf-dashboard-list-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.rtf-dashboard-list-content strong {
    color: var(--rtf-heading);
    font-size: 13px;
    font-weight: 600;
}

.rtf-dashboard-list-content span {
    color: var(--rtf-muted);
    font-size: 11px;
}

.rtf-dashboard-status,
.rtf-dashboard-history__complete {
    padding: 5px 9px;
    background: var(--rtf-clay-cream);
    color: var(--rtf-accent);
    border-radius: 20px;
    font-size: 9px;
    font-weight: 600;
}


/* =========================================================
   MESSAGES
   ========================================================= */

.rtf-dashboard-message-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rtf-dashboard-message {
    display: flex;
    gap: 15px;
    padding: 21px;
    background: var(--rtf-surface);
    border: 1px solid var(--rtf-border);
    border-radius: var(--rtf-radius-md);
}

.rtf-dashboard-message__avatar {
    width: 43px;
    height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: var(--rtf-accent);
    color: #fff8f2;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 600;
}

.rtf-dashboard-message__body {
    min-width: 0;
    flex: 1;
}

.rtf-dashboard-message__top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.rtf-dashboard-message__top strong {
    color: var(--rtf-heading);
    font-size: 13px;
    font-weight: 600;
}

.rtf-dashboard-message__top time {
    color: var(--rtf-muted);
    font-size: 10px;
}

.rtf-dashboard-message p {
    margin: 7px 0 9px;
    color: var(--rtf-muted);
    font-size: 12px;
    line-height: 1.7;
}

.rtf-dashboard-unread {
    color: var(--rtf-accent);
    font-size: 9px;
    font-weight: 600;
}

.rtf-dashboard-message-compose {
    margin-top: 20px;
}

.rtf-dashboard-message-compose textarea {
    width: 100%;
    min-height: 120px;
    display: block;
    resize: vertical;
    padding: 15px;
    margin-bottom: 12px;
    background: var(--rtf-input-bg);
    color: var(--rtf-text);
    border: 1px solid var(--rtf-border);
    border-radius: var(--rtf-radius-md);
    outline: none;
    font-size: 12px;
}

.rtf-dashboard-message-compose textarea::placeholder {
    color: var(--rtf-muted);
}

.rtf-dashboard-message-compose textarea:focus {
    border-color: var(--rtf-accent);
}


/* =========================================================
   NOTES
   ========================================================= */

.rtf-dashboard-note {
    margin-bottom: 16px;
    padding: 26px;
    background: var(--rtf-surface);
    border: 1px solid var(--rtf-border);
    border-radius: var(--rtf-radius-md);
}

.rtf-dashboard-note__header {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.rtf-dashboard-note__header h3 {
    margin: 4px 0 0;
    color: var(--rtf-heading);
    font-size: 18px;
    font-weight: 600;
}

.rtf-dashboard-note__header > i {
    color: var(--rtf-accent);
    font-size: 19px;
}

.rtf-dashboard-note > p {
    max-width: 850px;
    margin: 18px 0;
    color: var(--rtf-muted);
    font-size: 13px;
    line-height: 1.8;
}

.rtf-dashboard-note__footer {
    padding-top: 13px;
    border-top: 1px solid var(--rtf-border);
    color: var(--rtf-muted);
    font-size: 10px;
}


/* =========================================================
   HISTORY
   ========================================================= */

.rtf-dashboard-history {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rtf-dashboard-history-row {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 19px;
    background: var(--rtf-surface);
    border: 1px solid var(--rtf-border);
    border-radius: var(--rtf-radius-md);
}

.rtf-dashboard-history__date {
    width: 52px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    flex: 0 0 auto;
    background: var(--rtf-clay-cream);
    color: var(--rtf-accent);
    border-radius: 11px;
}

.rtf-dashboard-history__date strong {
    font-size: 17px;
    line-height: 1;
    font-weight: 600;
}

.rtf-dashboard-history__date span {
    margin-top: 3px;
    font-size: 8px;
    font-weight: 600;
}

.rtf-dashboard-history__content {
    flex: 1;
}

.rtf-dashboard-history__content h3 {
    margin: 0;
    color: var(--rtf-heading);
    font-size: 13px;
    font-weight: 600;
}

.rtf-dashboard-history__content p {
    margin: 3px 0 0;
    color: var(--rtf-muted);
    font-size: 11px;
}


/* =========================================================
   PROFILE
   ========================================================= */

.rtf-dashboard-profile-page {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 30px;
    padding: 28px;
    background: var(--rtf-surface);
    border: 1px solid var(--rtf-border);
    border-radius: var(--rtf-radius-md);
}

.rtf-dashboard-profile-page__visual {
    display: flex;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.rtf-dashboard-profile-page__visual img {
    width: 125px;
    height: 125px;
    object-fit: cover;
    margin-bottom: 15px;
    border-radius: 50%;
    border: 4px solid var(--rtf-clay-cream);
}

.rtf-dashboard-profile-page__visual strong {
    color: var(--rtf-heading);
    font-size: 15px;
    font-weight: 600;
}

.rtf-dashboard-profile-page__visual span {
    color: var(--rtf-muted);
    font-size: 11px;
}

.rtf-dashboard-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-content: start;
}

.rtf-dashboard-form label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    color: var(--rtf-heading);
    font-size: 11px;
    font-weight: 600;
}

.rtf-dashboard-form input,
.rtf-dashboard-form select {
    width: 100%;
    min-height: 45px;
    padding: 0 13px;
    background: var(--rtf-input-bg);
    color: var(--rtf-text);
    border: 1px solid var(--rtf-border);
    border-radius: 10px;
    outline: none;
    font-size: 11px;
    font-weight: 500;
}

.rtf-dashboard-form input:focus,
.rtf-dashboard-form select:focus {
    border-color: var(--rtf-accent);
}

.rtf-dashboard-form .rtf-dashboard-button {
    align-self: end;
    justify-self: start;
}


/* =========================================================
   SETTINGS
   ========================================================= */

.rtf-dashboard-settings-list {
    display: flex;
    flex-direction: column;
    background: var(--rtf-surface);
    border: 1px solid var(--rtf-border);
    border-radius: var(--rtf-radius-md);
}

.rtf-dashboard-setting {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 22px;
}

.rtf-dashboard-setting + .rtf-dashboard-setting {
    border-top: 1px solid var(--rtf-border);
}

.rtf-dashboard-setting strong {
    color: var(--rtf-heading);
    font-size: 13px;
    font-weight: 600;
}

.rtf-dashboard-setting p {
    margin: 3px 0 0;
    color: var(--rtf-muted);
    font-size: 11px;
}


/* =========================================================
   TOGGLE
   ========================================================= */

.rtf-dashboard-switch {
    position: relative;
    width: 46px;
    height: 25px;
    flex: 0 0 auto;
}

.rtf-dashboard-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.rtf-dashboard-switch span {
    position: absolute;
    inset: 0;
    background: var(--rtf-sandy-taupe);
    border-radius: 20px;
    cursor: pointer;
    transition: background var(--rtf-transition);
}

.rtf-dashboard-switch span::after {
    content: "";
    position: absolute;
    width: 19px;
    height: 19px;
    top: 3px;
    left: 3px;
    background: #fff8f2;
    border-radius: 50%;
    transition: transform var(--rtf-transition);
}

.rtf-dashboard-switch input:checked + span {
    background: var(--rtf-accent);
}

.rtf-dashboard-switch input:checked + span::after {
    transform: translateX(21px);
}


/* =========================================================
   MOBILE MENU
   ========================================================= */

.rtf-dashboard-mobile-menu,
.rtf-dashboard-mobile-overlay {
    display: none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .rtf-dashboard-shell {
        grid-template-columns: 245px minmax(0, 1fr);
    }

    .rtf-dashboard-sidebar {
        padding-left: 15px;
        padding-right: 15px;
    }

    .rtf-dashboard-main {
        padding-left: 30px;
        padding-right: 30px;
    }

    .rtf-dashboard-profile-page {
        grid-template-columns: 200px minmax(0, 1fr);
    }
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 900px) {

    .rtf-dashboard-navbar {
        height: 68px;
    }

    .rtf-dashboard-navbar__inner {
        padding: 0 18px;
    }

    .rtf-dashboard-navbar__controls {
        order: 1;
        gap: 5px;
    }

    .rtf-dashboard-navbar__mobile-trigger {
        display: inline-flex;
        width: 42px;
        height: 42px;
        align-items: center;
        justify-content: center;
        order: 2;
        margin: 0;
        margin-inline-start: 5px;
        background: transparent;
        color: var(--rtf-heading);
        border-radius: 50%;
    }

    .rtf-dashboard-navbar__mobile-trigger:hover {
        background: var(--rtf-clay-cream);
        color: var(--rtf-accent);
    }

    .rtf-dashboard-logout {
        display: none;
    }

    .rtf-dashboard-shell {
        display: block;
        height: calc(100vh - 68px);
    }

    .rtf-dashboard-sidebar {
        display: none;
    }

    .rtf-dashboard-main {
        height: 100%;
        padding: 30px 22px 60px;
    }

    .rtf-dashboard-profile-page {
        grid-template-columns: 1fr;
    }

    .rtf-dashboard-profile-page__visual {
        align-items: flex-start;
        text-align: left;
    }

    .rtf-dashboard-form {
        grid-template-columns: 1fr 1fr;
    }

    /* Mobile menu */
    .rtf-dashboard-mobile-menu {
        position: fixed;
        inset: 0;
        z-index: 3000;
        display: flex;
        flex-direction: column;
        visibility: hidden;
        opacity: 0;
        background: var(--rtf-page-bg);
        transform: translateX(100%);
        transition:
            transform .3s ease,
            opacity .3s ease,
            visibility .3s ease;
    }

    .rtf-dashboard-mobile-menu.is-open {
        visibility: visible;
        opacity: 1;
        transform: translateX(0);
    }

    .rtf-dashboard-mobile-menu__header {
        min-height: 76px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 22px;
        border-bottom: 1px solid var(--rtf-border);
        background: var(--rtf-navbar-bg);
    }

    .rtf-dashboard-mobile-menu__close {
        width: 42px;
        height: 42px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        color: var(--rtf-heading);
        border-radius: 50%;
        font-size: 20px;
    }

    .rtf-dashboard-mobile-menu__close:hover {
        background: var(--rtf-clay-cream);
        color: var(--rtf-accent);
    }

    .rtf-dashboard-mobile-menu__profile {
        display: flex;
        align-items: center;
        gap: 13px;
        padding: 24px 22px;
    }

    .rtf-dashboard-mobile-menu__profile img {
        width: 54px;
        height: 54px;
        object-fit: cover;
        border: 2px solid var(--rtf-clay-cream);
        border-radius: 50%;
    }

    .rtf-dashboard-mobile-menu__profile div {
        display: flex;
        flex-direction: column;
    }

    .rtf-dashboard-mobile-menu__profile strong {
        color: var(--rtf-heading);
        font-size: 14px;
        font-weight: 600;
    }

    .rtf-dashboard-mobile-menu__profile span {
        color: var(--rtf-accent);
        font-size: 11px;
        font-weight: 600;
    }

    .rtf-dashboard-mobile-menu__nav {
        flex: 1;
        overflow-y: auto;
        padding: 4px 18px 25px;
    }

    .rtf-dashboard-mobile-nav-item {
        width: 100%;
        min-height: 53px;
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 0 14px;
        margin-bottom: 5px;
        background: transparent;
        color: var(--rtf-heading);
        border-radius: 12px;
        text-align: left;
        font-size: 13px;
        font-weight: 500;
    }

    .rtf-dashboard-mobile-nav-item:hover {
        background: var(--rtf-surface);
    }

    .rtf-dashboard-mobile-nav-item.is-active {
        background: var(--rtf-accent);
        color: #fff8f2;
    }

    .rtf-dashboard-mobile-nav-item i {
        width: 24px;
        font-size: 14px;
        text-align: center;
    }

    .rtf-dashboard-mobile-nav-item b {
        min-width: 21px;
        height: 21px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-left: auto;
        background: var(--rtf-accent);
        color: #fff8f2;
        border-radius: 50%;
        font-size: 9px;
    }

    .rtf-dashboard-mobile-nav-item.is-active b {
        background: #fff8f2;
        color: var(--rtf-accent);
    }

    .rtf-dashboard-mobile-nav-divider {
        height: 1px;
        margin: 14px 0;
        background: var(--rtf-border);
    }

    .rtf-dashboard-mobile-menu__logout {
        min-height: 54px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        margin: 15px 18px 22px;
        background: var(--rtf-accent);
        color: #fff8f2;
        border-radius: 12px;
        font-size: 13px;
        font-weight: 600;
    }

    .rtf-dashboard-mobile-overlay {
        position: fixed;
        inset: 0;
        z-index: 2500;
        display: block;
        visibility: hidden;
        opacity: 0;
        background: rgba(48, 36, 33, .55);
        transition:
            opacity .3s ease,
            visibility .3s ease;
    }

    .rtf-dashboard-mobile-overlay.is-visible {
        visibility: visible;
        opacity: 1;
    }

    body.rtf-mobile-menu-open {
        overflow: hidden;
    }
}


/* =========================================================
   SMALL TABLET / MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .rtf-dashboard-navbar {
        height: 64px;
    }

    .rtf-dashboard-shell {
        height: calc(100vh - 64px);
    }

    .rtf-dashboard-navbar__inner {
        padding: 0 12px;
    }

    .rtf-dashboard-control {
        width: 39px;
        height: 39px;
    }

    .rtf-dashboard-control--rtl {
        width: 45px;
    }

    .rtf-dashboard-main {
        padding: 25px 16px 50px;
    }

    .rtf-dashboard-page-heading {
        margin-bottom: 25px;
    }

    .rtf-dashboard-page-heading h1 {
        font-size: 27px;
    }

    .rtf-dashboard-page-heading p {
        font-size: 12px;
    }

    .rtf-dashboard-heading-mark {
        width: 48px;
        height: 48px;
    }

    .rtf-dashboard-next-session {
        min-height: 0;
        flex-direction: column;
        align-items: flex-start;
        padding: 25px;
    }

    .rtf-dashboard-next-session h2 {
        font-size: 22px;
    }

    .rtf-dashboard-next-session__meta {
        flex-direction: column;
        gap: 7px;
    }

    .rtf-dashboard-next-session__action {
        width: 100%;
    }

    .rtf-dashboard-next-session__action .rtf-dashboard-button {
        width: 100%;
    }

    .rtf-dashboard-overview-grid {
        grid-template-columns: 1fr;
    }

    .rtf-dashboard-overview-block--wide {
        grid-column: auto;
    }

    .rtf-dashboard-section-intro {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .rtf-dashboard-section-intro > div {
        flex-basis: calc(100% - 70px);
    }

    .rtf-dashboard-section-intro .rtf-dashboard-button {
        width: 100%;
    }

    .rtf-dashboard-list-row,
    .rtf-dashboard-history-row {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .rtf-dashboard-status,
    .rtf-dashboard-history__complete {
        margin-left: 65px;
    }

    .rtf-dashboard-form {
        grid-template-columns: 1fr;
    }

    .rtf-dashboard-message__top {
        flex-direction: column;
        gap: 2px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 390px) {

    .rtf-dashboard-navbar__controls {
        gap: 2px;
    }

    .rtf-dashboard-control {
        width: 36px;
        height: 36px;
    }

    .rtf-dashboard-control--rtl {
        width: 42px;
    }

    .rtf-dashboard-control--rtl span {
        font-size: 10px;
    }

    .rtf-dashboard-navbar__mobile-trigger {
        width: 38px;
        height: 38px;
    }

    .rtf-dashboard-page-heading h1 {
        font-size: 24px;
    }

    .rtf-dashboard-next-session {
        padding: 20px;
    }

    .rtf-dashboard-next-session h2 {
        font-size: 20px;
    }

    .rtf-dashboard-overview-block,
    .rtf-dashboard-note {
        padding: 20px;
    }

    .rtf-dashboard-reflection {
        padding: 20px;
    }
}


/* =========================================================
   ROOM TO FEEL — ADMIN DASHBOARD
   PAGE-SCOPED ONLY
   No global selectors.
========================================================= */


/* =========================================================
   PAGE BASE
========================================================= */

.rtf-admin-dashboard-page {
    position: relative;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    background: #F5E9DC;
    color: #302421;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    overflow: hidden;
}

.rtf-admin-dashboard-page *,
.rtf-admin-dashboard-page *::before,
.rtf-admin-dashboard-page *::after {
    box-sizing: border-box;
}

.rtf-admin-dashboard-page button,
.rtf-admin-dashboard-page a {
    font: inherit;
}

.rtf-admin-dashboard-page button {
    border: 0;
    cursor: pointer;
}

.rtf-admin-dashboard-page img {
    display: block;
    max-width: 100%;
}


/* =========================================================
   TOP NAVBAR
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-navbar {
    position: sticky;
    top: 0;
    z-index: 1000;

    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    min-height: 78px;

    padding: 0 clamp(20px, 3vw, 52px);

    background: #F5E9DC;
    border-bottom: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-navbar-brand {
    display: flex;
    align-items: center;
}

@media (min-width: 1024px) {
    .rtf-admin-dashboard-page .rtf-admin-navbar-brand {
        display: none;
    }
}

.rtf-admin-dashboard-page .rtf-admin-brand-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    color: #4A2C26;
    text-decoration: none;
}

.rtf-admin-dashboard-page .rtf-admin-soft-door {
    display: inline-flex;
    width: 34px;
    height: 34px;
    color: #A6533F;
}

.rtf-admin-dashboard-page .rtf-admin-soft-door img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rtf-admin-dashboard-page .rtf-admin-brand-name {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.rtf-admin-dashboard-page .rtf-admin-navbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-inline-start: auto;
}

.rtf-admin-dashboard-page .rtf-admin-nav-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 42px;
    height: 42px;

    padding: 0 12px;

    color: #4A2C26;
    background: transparent;

    border: 1px solid transparent;
    border-radius: 10px;

    transition:
        background-color .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.rtf-admin-dashboard-page .rtf-admin-nav-control:hover {
    background: #EBD6C5;
    border-color: #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-theme-icon {
    font-size: 23px;
    line-height: 1;
}

.rtf-admin-dashboard-page .rtf-admin-rtl-toggle {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .04em;
}

.rtf-admin-dashboard-page .rtf-admin-nav-logout {
    min-height: 42px;

    padding: 0 18px;

    color: #F5E9DC;
    background: #A6533F;

    border-radius: 10px;

    font-size: 16px;
    font-weight: 500;

    transition:
        background-color .25s ease,
        transform .25s ease;
}

.rtf-admin-dashboard-page .rtf-admin-nav-logout:hover {
    background: #7D382E;
    transform: translateY(-1px);
}


/* =========================================================
   MOBILE HAMBURGER
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-mobile-menu-toggle {
    display: none;

    position: relative;

    width: 42px;
    height: 42px;

    padding: 9px;

    background: transparent;
    color: #4A2C26;

    border: 1px solid transparent;
    border-radius: 10px;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-menu-toggle span {
    display: block;

    width: 22px;
    height: 2px;
    flex: 0 0 2px;

    margin: 2px auto;

    background: currentColor;
    border-radius: 2px;
}


/* =========================================================
   DASHBOARD LAYOUT
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-dashboard-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);

    width: 100%;
    height: calc(100vh - 78px);
    height: calc(100dvh - 78px);

    min-height: 0;
}


/* =========================================================
   DESKTOP SIDEBAR
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-sidebar {
    position: sticky;
    top: 0;

    height: 100%;
    min-height: 0;

    background: #EBD6C5;
    border-inline-end: 1px solid #CDB5A4;

    overflow: hidden;
}

.rtf-admin-dashboard-page .rtf-admin-sidebar-inner {
    display: flex;
    flex-direction: column;

    height: 100%;
    min-height: 0;

    padding: 28px 20px 22px;
}

.rtf-admin-dashboard-page .rtf-admin-sidebar-brand {
    display: flex;
    align-items: center;
    gap: 11px;

    padding: 0 7px 22px;

    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-sidebar-logo {
    display: inline-flex;

    width: 35px;
    height: 35px;

    color: #A6533F;
}

.rtf-admin-dashboard-page .rtf-admin-sidebar-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rtf-admin-dashboard-page .rtf-admin-sidebar-brand strong {
    display: block;

    color: #4A2C26;

    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
}

.rtf-admin-dashboard-page .rtf-admin-sidebar-brand span {
    display: block;

    margin-top: 3px;

    color: #795F55;

    font-size: 13px;
    font-weight: 500;
}


/* =========================================================
   ADMIN PROFILE
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-sidebar-profile {
    display: flex;
    align-items: center;
    gap: 13px;

    padding: 22px 7px;
}

.rtf-admin-dashboard-page .rtf-admin-profile-image {
    flex: 0 0 54px;

    width: 54px;
    height: 54px;

    overflow: hidden;

    border-radius: 14px;

    background: #D6A18F;
    border: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-profile-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rtf-admin-dashboard-page .rtf-admin-profile-copy {
    min-width: 0;
}

.rtf-admin-dashboard-page .rtf-admin-profile-copy strong {
    display: block;

    color: #302421;

    font-size: 15px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-profile-copy span,
.rtf-admin-dashboard-page .rtf-admin-profile-copy small {
    display: block;

    color: #795F55;

    font-size: 13px;
    font-weight: 500;
}

.rtf-admin-dashboard-page .rtf-admin-profile-copy small {
    margin-top: 2px;
}


/* =========================================================
   SIDEBAR SCROLL
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-sidebar-scroll {
    flex: 1 1 auto;

    min-height: 0;

    overflow-y: auto;
    overflow-x: hidden;

    padding: 4px 3px 18px;

    scrollbar-width: thin;
    scrollbar-color: #CDB5A4 transparent;
}

.rtf-admin-dashboard-page .rtf-admin-sidebar-group {
    margin-bottom: 28px;
}

.rtf-admin-dashboard-page .rtf-admin-sidebar-label {
    display: block;

    margin: 0 8px 9px;

    color: #795F55;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
}

.rtf-admin-dashboard-page .rtf-admin-sidebar-nav {
    display: grid;
    gap: 4px;
}

.rtf-admin-dashboard-page .rtf-admin-sidebar-link {
    display: flex;
    align-items: center;
    gap: 0;

    width: 100%;

    padding: 11px 10px;

    color: #4A2C26;
    background: transparent;

    border-radius: 10px;

    text-align: start;

    font-size: 15px;
    font-weight: 500;

    transition:
        color .25s ease,
        background-color .25s ease,
        transform .25s ease;
}

.rtf-admin-dashboard-page .rtf-admin-sidebar-link:hover {
    background: rgba(214,161,143,.22);
    color: #7D382E;
}

.rtf-admin-dashboard-page .rtf-admin-sidebar-link.is-active {
    color: #F5E9DC;
    background: #A6533F;
}

/* =========================================================
   MAIN CONTENT SCROLL
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-main-content {
    min-width: 0;
    min-height: 0;

    height: 100%;

    overflow-y: auto;
    overflow-x: hidden;

    padding: clamp(36px, 5vw, 76px) clamp(22px, 4vw, 70px) 90px;

    scrollbar-width: thin;
    scrollbar-color: #CDB5A4 transparent;
}

.rtf-admin-dashboard-page .rtf-admin-content-section {
    display: none;

    width: 100%;
    max-width: 1320px;

    margin: 0 auto;
}

.rtf-admin-dashboard-page .rtf-admin-content-section.is-active {
    display: block;
    animation: rtfAdminPanelIn .35s ease both;
}

@keyframes rtfAdminPanelIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   SECTION HEADING
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;

    margin-bottom: 38px;
}

.rtf-admin-dashboard-page .rtf-admin-eyebrow {
    display: block;

    margin-bottom: 10px;

    color: #7D382E;

    font-size: 13px;
    font-weight: 600;
    letter-spacing: .11em;
}

.rtf-admin-dashboard-page .rtf-admin-section-heading h1 {
    max-width: 820px;

    margin: 0;

    color: #302421;

    font-size: clamp(34px, 4vw, 52px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -.035em;
}

.rtf-admin-dashboard-page .rtf-admin-section-heading p {
    max-width: 700px;

    margin: 14px 0 0;

    color: #795F55;

    font-size: 18px;
    font-weight: 500;
}

.rtf-admin-dashboard-page .rtf-admin-date {
    flex: 0 0 auto;

    padding-bottom: 5px;

    color: #795F55;

    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
}


/* =========================================================
   STATISTICS
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;

    margin-bottom: 24px;
}

.rtf-admin-dashboard-page .rtf-admin-stat {
    min-height: 150px;

    padding: 24px;

    background: #FFF8F1;
    border: 1px solid #CDB5A4;
    border-radius: 18px;

    transition:
        transform .25s ease,
        border-color .25s ease;
}

.rtf-admin-dashboard-page .rtf-admin-stat:hover {
    transform: translateY(-3px);
    border-color: #A6533F;
}

.rtf-admin-dashboard-page .rtf-admin-stat span {
    display: block;

    color: #795F55;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: .11em;
}

.rtf-admin-dashboard-page .rtf-admin-stat strong {
    display: block;

    margin-top: 14px;

    color: #7D382E;

    font-size: 38px;
    font-weight: 600;
    line-height: 1;
}

.rtf-admin-dashboard-page .rtf-admin-stat small {
    display: block;

    margin-top: 12px;

    color: #795F55;

    font-size: 13px;
    font-weight: 500;
}


/* =========================================================
   PANELS
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 18px;
}

.rtf-admin-dashboard-page .rtf-admin-panel,
.rtf-admin-dashboard-page .rtf-admin-table-panel,
.rtf-admin-dashboard-page .rtf-admin-analytics-main {
    padding: clamp(22px, 3vw, 32px);

    background: #FFF8F1;
    border: 1px solid #CDB5A4;
    border-radius: 20px;
}

.rtf-admin-dashboard-page .rtf-admin-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;

    margin-bottom: 26px;
}

.rtf-admin-dashboard-page .rtf-admin-panel-label {
    display: block;

    margin-bottom: 7px;

    color: #7D382E;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
}

.rtf-admin-dashboard-page .rtf-admin-panel-heading h2 {
    margin: 0;

    color: #302421;

    font-size: 24px;
    font-weight: 600;
    line-height: 1.25;
}

.rtf-admin-dashboard-page .rtf-admin-panel-count {
    color: #795F55;

    font-size: 14px;
    font-weight: 600;
}


/* =========================================================
   TIMELINE
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-timeline {
    display: grid;
}

.rtf-admin-dashboard-page .rtf-admin-timeline-item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 20px;

    padding: 18px 0;

    border-top: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-timeline-item:first-child {
    padding-top: 0;
    border-top: 0;
}

.rtf-admin-dashboard-page .rtf-admin-time {
    color: #7D382E;

    font-size: 13px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-timeline-item strong {
    display: block;

    color: #302421;

    font-size: 16px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-timeline-item p {
    margin: 4px 0 0;

    color: #795F55;

    font-size: 14px;
    font-weight: 500;
}


/* =========================================================
   PRIORITY PANEL
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-priority-panel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    background: #7D382E;
    border-color: #7D382E;
}

.rtf-admin-dashboard-page .rtf-admin-priority-panel .rtf-admin-panel-label {
    color: #EBD6C5;
}

.rtf-admin-dashboard-page .rtf-admin-priority-panel h2 {
    margin: 0;

    color: #F5E9DC;

    font-size: clamp(25px, 2.4vw, 34px);
    font-weight: 600;
    line-height: 1.18;
}

.rtf-admin-dashboard-page .rtf-admin-priority-panel > p {
    margin: 18px 0 30px;

    color: #EBD6C5;

    font-size: 16px;
}

.rtf-admin-dashboard-page .rtf-admin-priority-list {
    display: grid;
    gap: 12px;
}

.rtf-admin-dashboard-page .rtf-admin-priority-list div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    padding-top: 13px;

    border-top: 1px solid rgba(245,233,220,.25);
}

.rtf-admin-dashboard-page .rtf-admin-priority-list strong {
    color: #F5E9DC;

    font-size: 24px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-priority-list span {
    color: #EBD6C5;

    font-size: 13px;
}


/* =========================================================
   SUMMARY ROW
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-summary-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;

    margin-bottom: 22px;
}

.rtf-admin-dashboard-page .rtf-admin-summary-row > div {
    padding: 24px;

    background: #FFF8F1;
    border: 1px solid #CDB5A4;
    border-radius: 16px;
}

.rtf-admin-dashboard-page .rtf-admin-summary-row span {
    display: block;

    color: #795F55;

    font-size: 13px;
}

.rtf-admin-dashboard-page .rtf-admin-summary-row strong {
    display: block;

    margin-top: 7px;

    color: #7D382E;

    font-size: 32px;
    font-weight: 600;
}


/* =========================================================
   TABLE
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.rtf-admin-dashboard-page .rtf-admin-table {
    width: 100%;
    min-width: 650px;

    border-collapse: collapse;
}

.rtf-admin-dashboard-page .rtf-admin-table th {
    padding: 12px 10px;

    color: #795F55;

    border-bottom: 1px solid #CDB5A4;

    text-align: start;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
}

.rtf-admin-dashboard-page .rtf-admin-table td {
    padding: 18px 10px;

    color: #4A2C26;

    border-bottom: 1px solid #CDB5A4;

    font-size: 14px;
    font-weight: 500;
}

.rtf-admin-dashboard-page .rtf-admin-table tbody tr:last-child td {
    border-bottom: 0;
}

.rtf-admin-dashboard-page .rtf-admin-status {
    display: inline-flex;
    align-items: center;

    padding: 5px 9px;

    border: 1px solid currentColor;
    border-radius: 7px;

    font-size: 12px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-status.active {
    color: #7D382E;
}

.rtf-admin-dashboard-page .rtf-admin-status.pending {
    color: #A6533F;
}


/* =========================================================
   THERAPIST DIRECTORY
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-profile-directory {
    display: grid;

    border-top: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-profile-directory article {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px;

    padding: 25px 10px;

    border-bottom: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-directory-number {
    color: #A6533F;

    font-size: 14px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-profile-directory h2 {
    margin: 0;

    color: #302421;

    font-size: 20px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-profile-directory p {
    margin: 5px 0 0;

    color: #795F55;

    font-size: 14px;
}

.rtf-admin-dashboard-page .rtf-admin-profile-directory article > span:last-child {
    color: #7D382E;

    font-size: 13px;
    font-weight: 600;
}


/* =========================================================
   APPOINTMENTS
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-appointment-list {
    display: grid;
}

.rtf-admin-dashboard-page .rtf-admin-appointment-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    padding: 25px 0;

    border-top: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-appointment-list article:last-child {
    border-bottom: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-appointment-list span {
    color: #7D382E;

    font-size: 13px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-appointment-list h2 {
    margin: 5px 0;

    color: #302421;

    font-size: 20px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-appointment-list p {
    margin: 0;

    color: #795F55;

    font-size: 14px;
}

.rtf-admin-dashboard-page .rtf-admin-appointment-list strong {
    color: #7D382E;

    font-size: 13px;
}

.rtf-admin-dashboard-page .rtf-admin-appointment-list strong.pending {
    color: #A6533F;
}


/* =========================================================
   MESSAGES
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-message-list {
    display: grid;
    gap: 15px;
}

.rtf-admin-dashboard-page .rtf-admin-message-list article {
    padding: 25px;

    background: #FFF8F1;
    border: 1px solid #CDB5A4;
    border-radius: 16px;
}

.rtf-admin-dashboard-page .rtf-admin-message-list article.is-unread {
    border-color: #A6533F;
}

.rtf-admin-dashboard-page .rtf-admin-message-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.rtf-admin-dashboard-page .rtf-admin-message-meta span {
    color: #7D382E;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
}

.rtf-admin-dashboard-page .rtf-admin-message-meta small {
    color: #795F55;

    font-size: 12px;
}

.rtf-admin-dashboard-page .rtf-admin-message-list h2 {
    margin: 16px 0 6px;

    color: #302421;

    font-size: 20px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-message-list p {
    margin: 0;

    color: #795F55;

    font-size: 15px;
}

.rtf-admin-dashboard-page .rtf-admin-message-list button {
    margin-top: 18px;

    padding: 0;

    color: #A6533F;
    background: transparent;

    font-size: 14px;
    font-weight: 600;
}


/* =========================================================
   NOTES
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-notes-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.rtf-admin-dashboard-page .rtf-admin-notes-grid article {
    min-height: 230px;

    padding: 27px;

    background: #FFF8F1;
    border: 1px solid #CDB5A4;
    border-radius: 18px;
}

.rtf-admin-dashboard-page .rtf-admin-notes-grid span {
    color: #7D382E;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
}

.rtf-admin-dashboard-page .rtf-admin-notes-grid h2 {
    margin: 30px 0 10px;

    color: #302421;

    font-size: 22px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-notes-grid p {
    margin: 0;

    color: #795F55;

    font-size: 14px;
}


/* =========================================================
   ANALYTICS
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-analytics-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
    gap: 18px;
}

.rtf-admin-dashboard-page .rtf-admin-chart {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    height: 320px;

    padding: 20px 10px 0;

    border-top: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-chart-column {
    display: flex;
    flex: 1 1 0;

    height: 100%;

    flex-direction: column;
    justify-content: flex-end;
    align-items: center;

    gap: 12px;
}

.rtf-admin-dashboard-page .rtf-admin-chart-column span {
    display: block;

    width: min(45px, 65%);

    min-height: 18px;

    background: #A6533F;

    border-radius: 8px 8px 3px 3px;

    transition:
        height .5s ease,
        background-color .25s ease;
}

.rtf-admin-dashboard-page .rtf-admin-chart-column:hover span {
    background: #7D382E;
}

.rtf-admin-dashboard-page .rtf-admin-chart-column small {
    color: #795F55;

    font-size: 11px;
}

.rtf-admin-dashboard-page .rtf-admin-analytics-side {
    display: grid;
    gap: 14px;
}

.rtf-admin-dashboard-page .rtf-admin-analytics-side > div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    min-height: 125px;

    padding: 23px;

    background: #FFF8F1;
    border: 1px solid #CDB5A4;
    border-radius: 16px;
}

.rtf-admin-dashboard-page .rtf-admin-analytics-side span {
    color: #795F55;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
}

.rtf-admin-dashboard-page .rtf-admin-analytics-side strong {
    color: #7D382E;

    font-size: 32px;
    font-weight: 600;
}


/* =========================================================
   SERVICES
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-service-list {
    display: grid;

    border-top: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-service-list article {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) auto;
    align-items: center;
    gap: 25px;

    padding: 28px 10px;

    border-bottom: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-service-list article > span {
    color: #A6533F;

    font-size: 13px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-service-list h2 {
    margin: 0;

    color: #302421;

    font-size: 21px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-service-list p {
    margin: 5px 0 0;

    color: #795F55;

    font-size: 14px;
}

.rtf-admin-dashboard-page .rtf-admin-service-list strong {
    color: #7D382E;

    font-size: 13px;
}


/* =========================================================
   SETTINGS
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-settings-list {
    display: grid;

    border-top: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-settings-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    padding: 28px 8px;

    border-bottom: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-settings-list span {
    color: #7D382E;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
}

.rtf-admin-dashboard-page .rtf-admin-settings-list h2 {
    margin: 8px 0 4px;

    color: #302421;

    font-size: 20px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-settings-list p {
    max-width: 720px;

    margin: 0;

    color: #795F55;

    font-size: 14px;
}

.rtf-admin-dashboard-page .rtf-admin-settings-list button {
    flex: 0 0 auto;

    min-height: 40px;

    padding: 0 17px;

    color: #A6533F;
    background: transparent;

    border: 1px solid #A6533F;
    border-radius: 9px;

    font-size: 14px;
    font-weight: 600;

    transition:
        color .25s ease,
        background-color .25s ease;
}

.rtf-admin-dashboard-page .rtf-admin-settings-list button:hover {
    color: #F5E9DC;
    background: #A6533F;
}


/* =========================================================
   MOBILE OVERLAY
========================================================= */

.rtf-admin-dashboard-page .rtf-admin-mobile-overlay {
    display: none;

    position: fixed;
    inset: 0;
    z-index: 3000;

    background: #F5E9DC;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .3s ease,
        visibility .3s ease;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-menu {
    display: flex;
    flex-direction: column;

    width: 100%;
    height: 100%;
    height: 100dvh;

    padding: 20px;

    overflow: hidden;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-overlay.is-open {
    opacity: 1;
    visibility: visible;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 52px;

    flex: 0 0 auto;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: #4A2C26;
    text-decoration: none;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-logo {
    display: inline-flex;

    width: 32px;
    height: 32px;

    color: #A6533F;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-brand strong {
    color: #4A2C26;

    font-size: 17px;
    font-weight: 600;
}


/* X — TOP RIGHT */
.rtf-admin-dashboard-page .rtf-admin-mobile-close {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    padding: 0;

    color: #4A2C26;
    background: transparent;

    border: 1px solid #CDB5A4;
    border-radius: 10px;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-close span {
    position: absolute;

    width: 21px;
    height: 2px;

    background: currentColor;
    border-radius: 2px;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-close span:first-child {
    transform: rotate(45deg);
}

.rtf-admin-dashboard-page .rtf-admin-mobile-close span:last-child {
    transform: rotate(-45deg);
}


/* MOBILE PROFILE */

.rtf-admin-dashboard-page .rtf-admin-mobile-profile {
    display: flex;
    align-items: center;
    gap: 14px;

    margin: 24px 0;

    padding: 20px 0;

    border-top: 1px solid #CDB5A4;
    border-bottom: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-profile-image {
    flex: 0 0 62px;

    width: 62px;
    height: 62px;

    overflow: hidden;

    border-radius: 15px;

    background: #D6A18F;
    border: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-profile-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-profile strong,
.rtf-admin-dashboard-page .rtf-admin-mobile-profile span,
.rtf-admin-dashboard-page .rtf-admin-mobile-profile small {
    display: block;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-profile strong {
    color: #302421;

    font-size: 17px;
    font-weight: 600;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-profile span,
.rtf-admin-dashboard-page .rtf-admin-mobile-profile small {
    color: #795F55;

    font-size: 13px;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-profile small {
    margin-top: 2px;
}


/* MOBILE NAV */

.rtf-admin-dashboard-page .rtf-admin-mobile-nav {
    flex: 1 1 auto;

    min-height: 0;

    display: flex;
    flex-direction: column;
    gap: 4px;

    overflow-y: auto;

    padding: 3px 0 20px;

    scrollbar-width: thin;
    scrollbar-color: #CDB5A4 transparent;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-nav button {
    display: flex;
    align-items: center;
    gap: 0;

    width: 100%;

    padding: 13px 10px;

    color: #4A2C26;
    background: transparent;

    border-radius: 10px;

    text-align: start;

    font-size: 16px;
    font-weight: 500;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-nav button.is-active {
    color: #F5E9DC;
    background: #A6533F;
}


/* MOBILE LOGOUT */

.rtf-admin-dashboard-page .rtf-admin-mobile-bottom {
    flex: 0 0 auto;

    padding-top: 15px;

    border-top: 1px solid #CDB5A4;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-logout {
    width: 100%;
    min-height: 48px;

    color: #F5E9DC;
    background: #A6533F;

    border-radius: 10px;

    font-size: 16px;
    font-weight: 500;
}

.rtf-admin-dashboard-page .rtf-admin-mobile-logout:hover {
    background: #7D382E;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1023px) {

    .rtf-admin-dashboard-page {
        overflow: visible;
    }

    .rtf-admin-dashboard-page .rtf-admin-navbar {
        min-height: 72px;

        padding-inline: 18px;
    }

    .rtf-admin-dashboard-page .rtf-admin-nav-logout {
        display: none;
    }

    .rtf-admin-dashboard-page .rtf-admin-mobile-menu-toggle {
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
    }

    .rtf-admin-dashboard-page .rtf-admin-dashboard-layout {
        display: block;

        height: auto;
        min-height: calc(100vh - 72px);
        min-height: calc(100dvh - 72px);
    }

    .rtf-admin-dashboard-page .rtf-admin-sidebar {
        display: none;
    }

    .rtf-admin-dashboard-page .rtf-admin-main-content {
        height: auto;
        min-height: calc(100vh - 72px);
        min-height: calc(100dvh - 72px);

        overflow: visible;

        padding:
            45px
            clamp(20px, 5vw, 50px)
            70px;
    }

    .rtf-admin-dashboard-page .rtf-admin-mobile-overlay {
        display: block;
    }

    .rtf-admin-dashboard-page .rtf-admin-section-heading {
        margin-bottom: 30px;
    }

    .rtf-admin-dashboard-page .rtf-admin-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rtf-admin-dashboard-page .rtf-admin-overview-grid,
    .rtf-admin-dashboard-page .rtf-admin-analytics-grid {
        grid-template-columns: 1fr;
    }

    .rtf-admin-dashboard-page .rtf-admin-notes-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE-L
========================================================= */

@media (max-width: 767px) {

    .rtf-admin-dashboard-page .rtf-admin-navbar {
        min-height: 68px;
    }

    .rtf-admin-dashboard-page .rtf-admin-brand-name {
        font-size: 16px;
    }

    .rtf-admin-dashboard-page .rtf-admin-soft-door {
        width: 30px;
        height: 30px;
    }

    .rtf-admin-dashboard-page .rtf-admin-navbar-actions {
        gap: 3px;
    }

    .rtf-admin-dashboard-page .rtf-admin-nav-control {
        min-width: 39px;
        height: 39px;

        padding-inline: 8px;
    }

    .rtf-admin-dashboard-page .rtf-admin-main-content {
        padding:
            38px
            18px
            60px;
    }

    .rtf-admin-dashboard-page .rtf-admin-section-heading {
        display: block;
    }

    .rtf-admin-dashboard-page .rtf-admin-date {
        display: block;
        margin-top: 15px;
    }

    .rtf-admin-dashboard-page .rtf-admin-section-heading h1 {
        font-size: 36px;
    }

    .rtf-admin-dashboard-page .rtf-admin-section-heading p {
        font-size: 17px;
    }

    .rtf-admin-dashboard-page .rtf-admin-stat-grid,
    .rtf-admin-dashboard-page .rtf-admin-summary-row,
    .rtf-admin-dashboard-page .rtf-admin-notes-grid {
        grid-template-columns: 1fr;
    }

    .rtf-admin-dashboard-page .rtf-admin-panel,
    .rtf-admin-dashboard-page .rtf-admin-table-panel,
    .rtf-admin-dashboard-page .rtf-admin-analytics-main {
        border-radius: 16px;
    }

    .rtf-admin-dashboard-page .rtf-admin-timeline-item {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 13px;
    }

    .rtf-admin-dashboard-page .rtf-admin-profile-directory article {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 14px;
    }

    .rtf-admin-dashboard-page
    .rtf-admin-profile-directory article > span:last-child {
        grid-column: 2;
    }

    .rtf-admin-dashboard-page .rtf-admin-appointment-list article {
        align-items: flex-start;
        flex-direction: column;
    }

    .rtf-admin-dashboard-page .rtf-admin-service-list article {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 15px;
    }

    .rtf-admin-dashboard-page .rtf-admin-service-list strong {
        grid-column: 2;
    }

    .rtf-admin-dashboard-page .rtf-admin-settings-list > div {
        align-items: flex-start;
        flex-direction: column;
    }

    .rtf-admin-dashboard-page .rtf-admin-chart {
        height: 250px;
    }

}


/* =========================================================
   MOBILE-M
========================================================= */

@media (max-width: 389px) {

    .rtf-admin-dashboard-page .rtf-admin-navbar {
        padding-inline: 12px;
    }

    .rtf-admin-dashboard-page .rtf-admin-brand-name {
        font-size: 15px;
    }

    .rtf-admin-dashboard-page .rtf-admin-soft-door {
        width: 27px;
        height: 27px;
    }

    .rtf-admin-dashboard-page .rtf-admin-nav-control {
        min-width: 36px;
        height: 36px;
    }

    .rtf-admin-dashboard-page .rtf-admin-mobile-menu-toggle {
        width: 38px;
        height: 38px;
    }

    .rtf-admin-dashboard-page .rtf-admin-main-content {
        padding-inline: 14px;
    }

    .rtf-admin-dashboard-page .rtf-admin-section-heading h1 {
        font-size: 32px;
    }

    .rtf-admin-dashboard-page .rtf-admin-section-heading p {
        font-size: 16px;
    }

    .rtf-admin-dashboard-page .rtf-admin-stat {
        min-height: 135px;
        padding: 20px;
    }

    .rtf-admin-dashboard-page .rtf-admin-stat strong {
        font-size: 34px;
    }

}


/* =========================================================
   MOBILE-S
========================================================= */

@media (max-width: 359px) {

    .rtf-admin-dashboard-page .rtf-admin-brand-name {
        font-size: 14px;
    }

    .rtf-admin-dashboard-page .rtf-admin-navbar-actions {
        gap: 1px;
    }

    .rtf-admin-dashboard-page .rtf-admin-nav-control {
        min-width: 34px;
        padding-inline: 6px;
    }

    .rtf-admin-dashboard-page .rtf-admin-rtl-toggle {
        font-size: 12px;
    }

    .rtf-admin-dashboard-page .rtf-admin-main-content {
        padding-inline: 12px;
    }

    .rtf-admin-dashboard-page .rtf-admin-section-heading h1 {
        font-size: 29px;
    }

    .rtf-admin-dashboard-page .rtf-admin-section-heading p {
        font-size: 15px;
    }

    .rtf-admin-dashboard-page .rtf-admin-mobile-menu {
        padding-inline: 15px;
    }

    .rtf-admin-dashboard-page .rtf-admin-mobile-profile {
        margin-block: 18px;
        padding-block: 17px;
    }

    .rtf-admin-dashboard-page .rtf-admin-mobile-profile-image {
        flex-basis: 54px;
        width: 54px;
        height: 54px;
    }

}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1440px) {

    .rtf-admin-dashboard-page .rtf-admin-dashboard-layout {
        grid-template-columns: 320px minmax(0, 1fr);
    }

    .rtf-admin-dashboard-page .rtf-admin-sidebar-inner {
        padding-inline: 25px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .rtf-admin-dashboard-page *,
    .rtf-admin-dashboard-page *::before,
    .rtf-admin-dashboard-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }

}


/* =========================================================
   ROOM TO FEEL — LOGIN PAGE
   Scoped to .rtf-login-page only. No navbar / footer on this page.
   ========================================================= */

.rtf-login-page {
    --rtf-login-bg: #F5E9DC;
    --rtf-login-card: #FFF8F1;
    --rtf-login-panel: #EBD6C5;
    --rtf-login-field: #FFFDF9;
    --rtf-login-text: #302421;
    --rtf-login-heading: #4A2C26;
    --rtf-login-muted: #795F55;
    --rtf-login-accent: #A6533F;
    --rtf-login-strong: #7D382E;
    --rtf-login-line: rgba(74, 44, 38, .22);
    --rtf-login-error: #B3261E;
    --rtf-login-ok: #3F6B4A;

    position: relative;
    min-height: 100vh;
    background: var(--rtf-login-bg);
    color: var(--rtf-login-text);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
    overflow-x: clip;
}

.rtf-login-page *,
.rtf-login-page *::before,
.rtf-login-page *::after { box-sizing: border-box; }

.rtf-login-page h1,
.rtf-login-page h2 {
    margin: 0;
    color: var(--rtf-login-heading);
    font-weight: 600;
    letter-spacing: -.02em;
}

.rtf-login-page p { margin: 0; }

/* ---------- top-right controls (outside the container) ---------- */
.rtf-login-controls {
    position: absolute;
    top: 20px;
    right: 24px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rtf-login-icon-btn,
.rtf-login-rtl-btn {
    height: 42px;
    border: 1px solid var(--rtf-login-line);
    border-radius: 12px;
    background: var(--rtf-login-card);
    color: var(--rtf-login-heading);
    font: inherit;
    font-size: 14px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.rtf-login-icon-btn { width: 42px; }
.rtf-login-rtl-btn { padding: 0 14px; }

.rtf-login-icon-btn:hover,
.rtf-login-rtl-btn:hover {
    background: var(--rtf-login-panel);
    color: var(--rtf-login-strong);
}

.rtf-login-icon-btn:focus-visible,
.rtf-login-rtl-btn:focus-visible,
.rtf-login-eye:focus-visible,
.rtf-login-social:focus-visible,
.rtf-login-submit:focus-visible {
    outline: 2px solid var(--rtf-login-accent);
    outline-offset: 2px;
}

.rtf-login-icon-btn svg,
.rtf-login-rtl-btn svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rtf-login-sun { display: none; }

/* ---------- layout ---------- */
.rtf-login-main {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 84px 24px 32px;
}

.rtf-login-container {
    width: min(1180px, 100%);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    background: var(--rtf-login-card);
    border: 1px solid var(--rtf-login-line);
    border-radius: 32px;
    box-shadow: 0 24px 70px rgba(48, 36, 33, .12);
    overflow: hidden;
}

/* ---------- left half ---------- */
.rtf-login-visual {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 36px;
    background: var(--rtf-login-panel);
}

.rtf-login-brand {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--rtf-login-heading);
    text-decoration: none;
    white-space: nowrap;
}

.rtf-login-brand-mark {
    width: 29px;
    height: 34px;
    display: inline-block;
    flex: 0 0 auto;
}

.rtf-login-brand-mark img,
.rtf-signup-brand-mark img,
.rtf-404-brand-mark img,
.rtf-comingsoon-brand-mark img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rtf-login-brand-name {
    font-size: 16px;
    line-height: 1;
    font-weight: 500;
    color: var(--rtf-login-heading);
}

.rtf-login-image-frame {
    position: relative;
    flex: 1 1 auto;
    min-height: 240px;
    margin: 0;
    border-radius: 22px;
    overflow: hidden;
}

.rtf-login-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rtf-login-info { display: grid; gap: 12px; }

.rtf-login-eyebrow {
    color: var(--rtf-login-accent);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.rtf-login-info h2 { font-size: clamp(26px, 2.4vw, 34px); line-height: 1.12; }

.rtf-login-info p {
    color: var(--rtf-login-muted);
    font-size: 15px;
    line-height: 1.7;
}

.rtf-login-points {
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rtf-login-points li {
    padding: 7px 14px;
    border: 1px solid var(--rtf-login-line);
    border-radius: 999px;
    background: var(--rtf-login-card);
    color: var(--rtf-login-heading);
    font-size: 13px;
}

/* ---------- right half ---------- */
.rtf-login-form-side {
    display: flex;
    justify-content: center;
    padding: 36px 48px;
}

.rtf-login-form-wrap {
    width: min(440px, 100%);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 22px;
}

.rtf-login-heading { display: grid; gap: 10px; text-align: center; }
.rtf-login-heading h1 { font-size: clamp(30px, 3vw, 40px); line-height: 1.08; }
.rtf-login-heading p { color: var(--rtf-login-muted); font-size: 15px; line-height: 1.6; }

.rtf-login-form { display: grid; gap: 16px; }

.rtf-login-field { display: grid; gap: 7px; }

.rtf-login-field label,
.rtf-login-label-row label {
    color: var(--rtf-login-heading);
    font-size: 14px;
}

.rtf-login-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.rtf-login-forgot {
    color: var(--rtf-login-accent);
    font-size: 13px;
    text-decoration: none;
}

.rtf-login-forgot:hover,
.rtf-login-signup a:hover,
.rtf-login-check a:hover { text-decoration: underline; }

.rtf-login-field input[type="text"],
.rtf-login-field input[type="email"],
.rtf-login-field input[type="password"] {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    border: 1px solid var(--rtf-login-line);
    border-radius: 14px;
    background: var(--rtf-login-field);
    color: var(--rtf-login-text);
    font: inherit;
    font-size: 15px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.rtf-login-field input::placeholder { color: var(--rtf-login-muted); opacity: .8; }

.rtf-login-field input:focus {
    outline: none;
    border-color: var(--rtf-login-accent);
    box-shadow: 0 0 0 3px rgba(166, 83, 63, .18);
}

.rtf-login-password-wrap { position: relative; }
.rtf-login-password-wrap input { padding-right: 50px !important; }

.rtf-login-eye {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 38px;
    height: 38px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--rtf-login-muted);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rtf-login-eye:hover { color: var(--rtf-login-strong); }

.rtf-login-eye svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rtf-login-eye-slash { opacity: 0; transition: opacity .15s ease; }
.rtf-login-eye[aria-pressed="true"] .rtf-login-eye-slash { opacity: 1; }

/* validation (red, required fields) */
.rtf-login-error {
    display: none;
    color: var(--rtf-login-error);
    font-size: 13px;
    line-height: 1.4;
}

[data-field].is-invalid .rtf-login-error { display: block; }

[data-field].is-invalid input[type="text"],
[data-field].is-invalid input[type="email"],
[data-field].is-invalid input[type="password"] {
    border-color: var(--rtf-login-error);
    box-shadow: 0 0 0 3px rgba(179, 38, 30, .14);
}

.rtf-login-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--rtf-login-text);
    font-size: 14px;
    line-height: 1.5;
    cursor: pointer;
}

.rtf-login-check input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--rtf-login-accent);
    flex: 0 0 auto;
}

.rtf-login-check a { color: var(--rtf-login-accent); text-decoration: none; }

.rtf-login-terms { display: grid; gap: 6px; }

.rtf-login-submit {
    width: 100%;
    height: 54px;
    border: 0;
    border-radius: 999px;
    background: var(--rtf-login-accent);
    color: #FFF8F1;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: background .2s ease, transform .2s ease;
}

.rtf-login-submit:hover { background: var(--rtf-login-strong); transform: translateY(-1px); }
.rtf-login-arrow { transition: transform .2s ease; }
.rtf-login-submit:hover .rtf-login-arrow { transform: translateX(3px); }

.rtf-login-status {
    min-height: 0;
    color: var(--rtf-login-ok);
    font-size: 14px;
    text-align: center;
}

.rtf-login-status:empty { display: none; }
.rtf-login-status.is-error { color: var(--rtf-login-error); }

.rtf-login-alt { display: grid; gap: 16px; }

.rtf-login-divider {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--rtf-login-muted);
    font-size: 13px;
}

.rtf-login-divider::before,
.rtf-login-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--rtf-login-line);
}

.rtf-login-socials { display: flex; justify-content: center; gap: 12px; }

.rtf-login-social {
    width: 56px;
    height: 48px;
    border: 1px solid var(--rtf-login-line);
    border-radius: 14px;
    background: var(--rtf-login-field);
    color: var(--rtf-login-heading);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.rtf-login-social:hover {
    background: var(--rtf-login-panel);
    border-color: var(--rtf-login-accent);
    transform: translateY(-2px);
}

.rtf-login-social svg { width: 22px; height: 22px; }

.rtf-login-signup {
    color: var(--rtf-login-muted);
    font-size: 14px;
    text-align: center;
}

.rtf-login-signup a {
    color: var(--rtf-login-accent);
    font-weight: 600;
    text-decoration: none;
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
    .rtf-login-form-side { padding: 32px 32px; }
    .rtf-login-visual { padding: 28px; }
}

@media (max-width: 900px) {
    .rtf-login-main { padding: 76px 20px 24px; align-items: flex-start; }
    .rtf-login-container { grid-template-columns: 1fr; border-radius: 26px; }
    .rtf-login-image-frame { flex: none; height: 240px; min-height: 0; }
    .rtf-login-form-side { padding: 32px 28px 36px; }
    .rtf-login-form-wrap { width: min(520px, 100%); }
}

@media (max-width: 575px) {
    .rtf-login-controls { top: 14px; right: 14px; }
    .rtf-login-main { padding: 68px 12px 16px; }
    .rtf-login-container { border-radius: 22px; }
    .rtf-login-visual { padding: 20px; gap: 18px; }
    .rtf-login-image-frame { height: 200px; }
    .rtf-login-form-side { padding: 26px 18px 30px; }
    .rtf-login-info p { font-size: 14px; }
}

@media (max-width: 374px) {
    .rtf-login-main { padding: 64px 8px 12px; }
    .rtf-login-rtl-btn span { display: none; }
    .rtf-login-rtl-btn { width: 42px; padding: 0; }
    .rtf-login-form-side { padding: 22px 14px 26px; }
    .rtf-login-social { width: 48px; }
}

@media (prefers-reduced-motion: reduce) {
    .rtf-login-page * { transition: none !important; }
}


/* =========================================================
   ROOM TO FEEL — SIGN UP PAGE
   Scoped to .rtf-signup-page only. No navbar / footer on this page.
   ========================================================= */

.rtf-signup-page {
    --rtf-signup-bg: #F5E9DC;
    --rtf-signup-card: #FFF8F1;
    --rtf-signup-panel: #EBD6C5;
    --rtf-signup-field: #FFFDF9;
    --rtf-signup-text: #302421;
    --rtf-signup-heading: #4A2C26;
    --rtf-signup-muted: #795F55;
    --rtf-signup-accent: #A6533F;
    --rtf-signup-strong: #7D382E;
    --rtf-signup-line: rgba(74, 44, 38, .22);
    --rtf-signup-error: #B3261E;
    --rtf-signup-ok: #3F6B4A;

    position: relative;
    min-height: 100vh;
    background: var(--rtf-signup-bg);
    color: var(--rtf-signup-text);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
    overflow-x: clip;
}

.rtf-signup-page *,
.rtf-signup-page *::before,
.rtf-signup-page *::after { box-sizing: border-box; }

.rtf-signup-page h1,
.rtf-signup-page h2 {
    margin: 0;
    color: var(--rtf-signup-heading);
    font-weight: 600;
    letter-spacing: -.02em;
}

.rtf-signup-page p { margin: 0; }

/* ---------- top-right controls (outside the container) ---------- */
.rtf-signup-controls {
    position: absolute;
    top: 20px;
    right: 24px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rtf-signup-icon-btn,
.rtf-signup-rtl-btn {
    height: 42px;
    border: 1px solid var(--rtf-signup-line);
    border-radius: 12px;
    background: var(--rtf-signup-card);
    color: var(--rtf-signup-heading);
    font: inherit;
    font-size: 14px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.rtf-signup-icon-btn { width: 42px; }
.rtf-signup-rtl-btn { padding: 0 14px; }

.rtf-signup-icon-btn:hover,
.rtf-signup-rtl-btn:hover {
    background: var(--rtf-signup-panel);
    color: var(--rtf-signup-strong);
}

.rtf-signup-icon-btn:focus-visible,
.rtf-signup-rtl-btn:focus-visible,
.rtf-signup-eye:focus-visible,
.rtf-signup-social:focus-visible,
.rtf-signup-submit:focus-visible {
    outline: 2px solid var(--rtf-signup-accent);
    outline-offset: 2px;
}

.rtf-signup-icon-btn svg,
.rtf-signup-rtl-btn svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rtf-signup-sun { display: none; }

/* ---------- layout ---------- */
.rtf-signup-main {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 84px 24px 32px;
}

.rtf-signup-container {
    width: min(1180px, 100%);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    background: var(--rtf-signup-card);
    border: 1px solid var(--rtf-signup-line);
    border-radius: 32px;
    box-shadow: 0 24px 70px rgba(48, 36, 33, .12);
    overflow: hidden;
}

/* ---------- left half ---------- */
.rtf-signup-visual {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 36px;
    background: var(--rtf-signup-panel);
}

.rtf-signup-brand {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--rtf-signup-heading);
    text-decoration: none;
    white-space: nowrap;
}

.rtf-signup-brand-mark {
    width: 29px;
    height: 34px;
    display: inline-block;
    flex: 0 0 auto;
}

.rtf-signup-brand-name {
    font-size: 16px;
    line-height: 1;
    font-weight: 500;
    color: var(--rtf-signup-heading);
}

.rtf-signup-image-frame {
    position: relative;
    flex: 1 1 auto;
    min-height: 240px;
    margin: 0;
    border-radius: 22px;
    overflow: hidden;
}

.rtf-signup-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rtf-signup-info { display: grid; gap: 12px; }

.rtf-signup-eyebrow {
    color: var(--rtf-signup-accent);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.rtf-signup-info h2 { font-size: clamp(26px, 2.4vw, 34px); line-height: 1.12; }

.rtf-signup-info p {
    color: var(--rtf-signup-muted);
    font-size: 15px;
    line-height: 1.7;
}

.rtf-signup-points {
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rtf-signup-points li {
    padding: 7px 14px;
    border: 1px solid var(--rtf-signup-line);
    border-radius: 999px;
    background: var(--rtf-signup-card);
    color: var(--rtf-signup-heading);
    font-size: 13px;
}

/* ---------- right half ---------- */
.rtf-signup-form-side {
    display: flex;
    justify-content: center;
    padding: 36px 48px;
}

.rtf-signup-form-wrap {
    width: min(440px, 100%);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 22px;
}

.rtf-signup-heading { display: grid; gap: 10px; text-align: center; }
.rtf-signup-heading h1 { font-size: clamp(30px, 3vw, 40px); line-height: 1.08; }
.rtf-signup-heading p { color: var(--rtf-signup-muted); font-size: 15px; line-height: 1.6; }

.rtf-signup-form { display: grid; gap: 16px; }

.rtf-signup-field { display: grid; gap: 7px; }

.rtf-signup-field label,
.rtf-signup-label-row label {
    color: var(--rtf-signup-heading);
    font-size: 14px;
}

.rtf-signup-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.rtf-signup-forgot {
    color: var(--rtf-signup-accent);
    font-size: 13px;
    text-decoration: none;
}

.rtf-signup-forgot:hover,
.rtf-signup-signup a:hover,
.rtf-signup-check a:hover { text-decoration: underline; }

.rtf-signup-field input[type="text"],
.rtf-signup-field input[type="email"],
.rtf-signup-field input[type="password"] {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    border: 1px solid var(--rtf-signup-line);
    border-radius: 14px;
    background: var(--rtf-signup-field);
    color: var(--rtf-signup-text);
    font: inherit;
    font-size: 15px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.rtf-signup-field input::placeholder { color: var(--rtf-signup-muted); opacity: .8; }

.rtf-signup-field input:focus {
    outline: none;
    border-color: var(--rtf-signup-accent);
    box-shadow: 0 0 0 3px rgba(166, 83, 63, .18);
}

.rtf-signup-password-wrap { position: relative; }
.rtf-signup-password-wrap input { padding-right: 50px !important; }

.rtf-signup-eye {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 38px;
    height: 38px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--rtf-signup-muted);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rtf-signup-eye:hover { color: var(--rtf-signup-strong); }

.rtf-signup-eye svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rtf-signup-eye-slash { opacity: 0; transition: opacity .15s ease; }
.rtf-signup-eye[aria-pressed="true"] .rtf-signup-eye-slash { opacity: 1; }

/* validation (red, required fields) */
.rtf-signup-error {
    display: none;
    color: var(--rtf-signup-error);
    font-size: 13px;
    line-height: 1.4;
}

[data-field].is-invalid .rtf-signup-error { display: block; }

[data-field].is-invalid input[type="text"],
[data-field].is-invalid input[type="email"],
[data-field].is-invalid input[type="password"] {
    border-color: var(--rtf-signup-error);
    box-shadow: 0 0 0 3px rgba(179, 38, 30, .14);
}

.rtf-signup-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--rtf-signup-text);
    font-size: 14px;
    line-height: 1.5;
    cursor: pointer;
}

.rtf-signup-check input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--rtf-signup-accent);
    flex: 0 0 auto;
}

.rtf-signup-check a { color: var(--rtf-signup-accent); text-decoration: none; }

.rtf-signup-terms { display: grid; gap: 6px; }

.rtf-signup-submit {
    width: 100%;
    height: 54px;
    border: 0;
    border-radius: 999px;
    background: var(--rtf-signup-accent);
    color: #FFF8F1;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: background .2s ease, transform .2s ease;
}

.rtf-signup-submit:hover { background: var(--rtf-signup-strong); transform: translateY(-1px); }
.rtf-signup-arrow { transition: transform .2s ease; }
.rtf-signup-submit:hover .rtf-signup-arrow { transform: translateX(3px); }

.rtf-signup-status {
    min-height: 0;
    color: var(--rtf-signup-ok);
    font-size: 14px;
    text-align: center;
}

.rtf-signup-status:empty { display: none; }
.rtf-signup-status.is-error { color: var(--rtf-signup-error); }

.rtf-signup-alt { display: grid; gap: 16px; }

.rtf-signup-divider {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--rtf-signup-muted);
    font-size: 13px;
}

.rtf-signup-divider::before,
.rtf-signup-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--rtf-signup-line);
}

.rtf-signup-socials { display: flex; justify-content: center; gap: 12px; }

.rtf-signup-social {
    width: 56px;
    height: 48px;
    border: 1px solid var(--rtf-signup-line);
    border-radius: 14px;
    background: var(--rtf-signup-field);
    color: var(--rtf-signup-heading);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.rtf-signup-social:hover {
    background: var(--rtf-signup-panel);
    border-color: var(--rtf-signup-accent);
    transform: translateY(-2px);
}

.rtf-signup-social svg { width: 22px; height: 22px; }

.rtf-signup-signup {
    color: var(--rtf-signup-muted);
    font-size: 14px;
    text-align: center;
}

.rtf-signup-signup a {
    color: var(--rtf-signup-accent);
    font-weight: 600;
    text-decoration: none;
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
    .rtf-signup-form-side { padding: 32px 32px; }
    .rtf-signup-visual { padding: 28px; }
}

@media (max-width: 900px) {
    .rtf-signup-main { padding: 76px 20px 24px; align-items: flex-start; }
    .rtf-signup-container { grid-template-columns: 1fr; border-radius: 26px; }
    .rtf-signup-image-frame { flex: none; height: 240px; min-height: 0; }
    .rtf-signup-form-side { padding: 32px 28px 36px; }
    .rtf-signup-form-wrap { width: min(520px, 100%); }
}

@media (max-width: 575px) {
    .rtf-signup-controls { top: 14px; right: 14px; }
    .rtf-signup-main { padding: 68px 12px 16px; }
    .rtf-signup-container { border-radius: 22px; }
    .rtf-signup-visual { padding: 20px; gap: 18px; }
    .rtf-signup-image-frame { height: 200px; }
    .rtf-signup-form-side { padding: 26px 18px 30px; }
    .rtf-signup-info p { font-size: 14px; }
}

@media (max-width: 374px) {
    .rtf-signup-main { padding: 64px 8px 12px; }
    .rtf-signup-rtl-btn span { display: none; }
    .rtf-signup-rtl-btn { width: 42px; padding: 0; }
    .rtf-signup-form-side { padding: 22px 14px 26px; }
    .rtf-signup-social { width: 48px; }
}

@media (prefers-reduced-motion: reduce) {
    .rtf-signup-page * { transition: none !important; }
}


/* =========================================================
   ROOM TO FEEL — 404 PAGE
   Scoped to .rtf-404-page. Uses the shared #theme-toggle / #rtl-toggle.
   ========================================================= */

.rtf-404-page {
    --rtf-404-bg: #F5E9DC;
    --rtf-404-card: #FFF8F1;
    --rtf-404-text: #302421;
    --rtf-404-heading: #4A2C26;
    --rtf-404-muted: #795F55;
    --rtf-404-accent: #A6533F;
    --rtf-404-strong: #7D382E;
    --rtf-404-line: rgba(74, 44, 38, .22);
    --rtf-404-ring: rgba(166, 83, 63, .22);

    position: relative;
    min-height: 100vh;
    display: flex;
    background: var(--rtf-404-bg);
    color: var(--rtf-404-text);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
    overflow: hidden;
}

.rtf-404-page *,
.rtf-404-page *::before,
.rtf-404-page *::after { box-sizing: border-box; }

.rtf-404-page h1 {
    margin: 0;
    color: var(--rtf-404-heading);
    font-weight: 600;
    letter-spacing: -.02em;
}

.rtf-404-page p { margin: 0; }

.rtf-404-controls {
    position: absolute;
    top: 20px;
    right: 24px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rtf-404-controls .icon-button,
.rtf-404-controls .rtl-button {
    border: 1px solid var(--rtf-404-line);
    border-radius: 12px;
    background: var(--rtf-404-card);
}

.rtf-404-background { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }

.rtf-404-orbit {
    position: absolute;
    left: 50%;
    top: 50%;
    border: 1px solid var(--rtf-404-ring);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: rtf-404-spin 60s linear infinite;
}

.rtf-404-orbit-one { width: min(520px, 90vw); height: min(520px, 90vw); }
.rtf-404-orbit-two { width: min(820px, 140vw); height: min(820px, 140vw); animation-duration: 90s; animation-direction: reverse; }
.rtf-404-orbit-three { width: min(1160px, 190vw); height: min(1160px, 190vw); animation-duration: 120s; }

.rtf-404-orbit::after {
    content: "";
    position: absolute;
    top: -5px;
    left: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--rtf-404-accent);
    opacity: .55;
}

.rtf-404-dot {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--rtf-404-accent);
    opacity: .35;
    animation: rtf-404-float 7s ease-in-out infinite;
}

.rtf-404-dot-one { top: 18%; left: 14%; }
.rtf-404-dot-two { top: 26%; right: 16%; width: 14px; height: 14px; animation-delay: -2s; }
.rtf-404-dot-three { bottom: 22%; left: 20%; width: 8px; height: 8px; animation-delay: -4s; }
.rtf-404-dot-four { bottom: 16%; right: 22%; animation-delay: -1s; }

@keyframes rtf-404-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes rtf-404-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }

.rtf-404-brand-mark {
    width: 29px;
    height: 34px;
    display: inline-block;
    flex: 0 0 auto;
}

.rtf-404-page { align-items: center; justify-content: center; }

.rtf-404-container {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 88px 24px 28px;
    text-align: center;
}

.rtf-404-brand {
    position: absolute;
    top: 22px;
    left: 28px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--rtf-404-heading);
    text-decoration: none;
}

.rtf-404-brand-name { font-size: 16px; line-height: 1; color: var(--rtf-404-heading); }

.rtf-404-content {
    flex: 1 1 auto;
    width: min(720px, 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.rtf-404-number-wrap {
    font-size: clamp(96px, 20vw, 220px);
    line-height: 1;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: .08em;
}

.rtf-404-number {
    color: var(--rtf-404-heading);
    font-weight: 600;
    line-height: .9;
    letter-spacing: -.04em;
}

.rtf-404-door {
    position: relative;
    width: .5em;
    height: .8em;
    border: .035em solid var(--rtf-404-accent);
    border-bottom: 0;
    border-radius: .25em .25em 0 0;
    background: linear-gradient(180deg, rgba(166, 83, 63, .12), rgba(166, 83, 63, .02));
    animation: rtf-404-glow 4s ease-in-out infinite;
}

.rtf-404-door::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: .03em;
    height: 55%;
    background: var(--rtf-404-accent);
    transform: translateX(-50%);
    opacity: .6;
}

.rtf-404-door-knob {
    position: absolute;
    right: .08em;
    top: 52%;
    width: .06em;
    height: .06em;
    border-radius: 50%;
    background: var(--rtf-404-accent);
}

@keyframes rtf-404-glow {
    0%, 100% { box-shadow: 0 0 0 rgba(166, 83, 63, 0); }
    50% { box-shadow: 0 0 .25em rgba(166, 83, 63, .35); }
}

.rtf-404-eyebrow {
    color: var(--rtf-404-accent);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.rtf-404-content h1 { font-size: clamp(28px, 4.2vw, 46px); line-height: 1.12; }

.rtf-404-description {
    max-width: 540px;
    color: var(--rtf-404-muted);
    font-size: 16px;
    line-height: 1.75;
}

.rtf-404-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 6px; }

.rtf-404-button {
    min-height: 50px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 999px;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}

.rtf-404-button:hover { transform: translateY(-2px); }

.rtf-404-button-primary {
    border: 1px solid var(--rtf-404-accent);
    background: var(--rtf-404-accent);
    color: #FFF8F1;
}

.rtf-404-button-primary:hover { background: var(--rtf-404-strong); border-color: var(--rtf-404-strong); }

.rtf-404-button-secondary {
    border: 1px solid var(--rtf-404-line);
    background: transparent;
    color: var(--rtf-404-heading);
}

.rtf-404-button-secondary:hover { border-color: var(--rtf-404-accent); color: var(--rtf-404-accent); }

.rtf-404-note { color: var(--rtf-404-muted); font-size: 14px; font-style: italic; }

.rtf-404-bottom {
    width: min(720px, 100%);
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 28px;
    color: var(--rtf-404-muted);
    font-size: 13px;
}

.rtf-404-bottom-line { flex: 1; height: 1px; background: var(--rtf-404-line); }

@media (max-width: 575px) {
    .rtf-404-container { padding: 76px 16px 22px; }
    .rtf-404-brand { top: 18px; left: 16px; }
    .rtf-404-controls { top: 14px; right: 14px; }
    .rtf-404-actions { width: 100%; flex-direction: column; }
    .rtf-404-button { width: 100%; }
    .rtf-404-bottom-line { display: none; }
    .rtf-404-bottom { justify-content: center; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
    .rtf-404-page *, .rtf-comingsoon-page * { animation: none !important; transition: none !important; }
}


/* =========================================================
   ROOM TO FEEL — COMING SOON PAGE
   Scoped to .rtf-comingsoon-page. Uses the shared #theme-toggle / #rtl-toggle.
   ========================================================= */

.rtf-comingsoon-page {
    --rtf-comingsoon-bg: #F5E9DC;
    --rtf-comingsoon-card: #FFF8F1;
    --rtf-comingsoon-text: #302421;
    --rtf-comingsoon-heading: #4A2C26;
    --rtf-comingsoon-muted: #795F55;
    --rtf-comingsoon-accent: #A6533F;
    --rtf-comingsoon-strong: #7D382E;
    --rtf-comingsoon-line: rgba(74, 44, 38, .22);
    --rtf-comingsoon-ring: rgba(166, 83, 63, .22);

    position: relative;
    min-height: 100vh;
    display: flex;
    background: var(--rtf-comingsoon-bg);
    color: var(--rtf-comingsoon-text);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
    overflow: hidden;
}

.rtf-comingsoon-page *,
.rtf-comingsoon-page *::before,
.rtf-comingsoon-page *::after { box-sizing: border-box; }

.rtf-comingsoon-page h1 {
    margin: 0;
    color: var(--rtf-comingsoon-heading);
    font-weight: 600;
    letter-spacing: -.02em;
}

.rtf-comingsoon-page p { margin: 0; }

.rtf-comingsoon-controls {
    position: absolute;
    top: 20px;
    right: 24px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rtf-comingsoon-controls .icon-button,
.rtf-comingsoon-controls .rtl-button {
    border: 1px solid var(--rtf-comingsoon-line);
    border-radius: 12px;
    background: var(--rtf-comingsoon-card);
}

.rtf-comingsoon-background { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }

.rtf-comingsoon-orbit {
    position: absolute;
    left: 50%;
    top: 50%;
    border: 1px solid var(--rtf-comingsoon-ring);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: rtf-comingsoon-spin 60s linear infinite;
}

.rtf-comingsoon-orbit-one { width: min(520px, 90vw); height: min(520px, 90vw); }
.rtf-comingsoon-orbit-two { width: min(820px, 140vw); height: min(820px, 140vw); animation-duration: 90s; animation-direction: reverse; }
.rtf-comingsoon-orbit-three { width: min(1160px, 190vw); height: min(1160px, 190vw); animation-duration: 120s; }

.rtf-comingsoon-orbit::after {
    content: "";
    position: absolute;
    top: -5px;
    left: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--rtf-comingsoon-accent);
    opacity: .55;
}

.rtf-comingsoon-dot {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--rtf-comingsoon-accent);
    opacity: .35;
    animation: rtf-comingsoon-float 7s ease-in-out infinite;
}

.rtf-comingsoon-dot-one { top: 18%; left: 14%; }
.rtf-comingsoon-dot-two { top: 26%; right: 16%; width: 14px; height: 14px; animation-delay: -2s; }
.rtf-comingsoon-dot-three { bottom: 22%; left: 20%; width: 8px; height: 8px; animation-delay: -4s; }
.rtf-comingsoon-dot-four { bottom: 16%; right: 22%; animation-delay: -1s; }

@keyframes rtf-comingsoon-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes rtf-comingsoon-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }

.rtf-comingsoon-brand-mark {
    width: 29px;
    height: 34px;
    display: inline-block;
    flex: 0 0 auto;
}

.rtf-comingsoon-page { align-items: center; justify-content: center; }

.rtf-comingsoon-content {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 88px 24px 28px;
    text-align: center;
}

.rtf-comingsoon-main {
    flex: 1 1 auto;
    width: min(760px, 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.rtf-comingsoon-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    color: var(--rtf-comingsoon-heading);
    font-size: 16px;
    text-decoration: none;
}

.rtf-comingsoon-eyebrow {
    color: var(--rtf-comingsoon-accent);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.rtf-comingsoon-main h1 { font-size: clamp(44px, 9vw, 104px); line-height: 1; }

.rtf-comingsoon-description {
    max-width: 560px;
    color: var(--rtf-comingsoon-muted);
    font-size: 16px;
    line-height: 1.75;
}

.rtf-comingsoon-timer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 8px;
}

.rtf-comingsoon-time {
    min-width: 108px;
    padding: 18px 16px 14px;
    display: grid;
    gap: 6px;
    border: 1px solid var(--rtf-comingsoon-line);
    border-radius: 20px;
    background: var(--rtf-comingsoon-card);
}

.rtf-comingsoon-number {
    color: var(--rtf-comingsoon-heading);
    font-size: clamp(30px, 5vw, 52px);
    font-weight: 600;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.rtf-comingsoon-label {
    color: var(--rtf-comingsoon-muted);
    font-size: 11px;
    letter-spacing: .16em;
}

.rtf-comingsoon-separator { color: var(--rtf-comingsoon-accent); font-size: 28px; font-weight: 600; }

.rtf-comingsoon-countdown-note { color: var(--rtf-comingsoon-muted); font-size: 14px; font-style: italic; }

.rtf-comingsoon-home {
    min-height: 50px;
    padding: 0 26px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 999px;
    background: var(--rtf-comingsoon-accent);
    color: #FFF8F1;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}

.rtf-comingsoon-home:hover { background: var(--rtf-comingsoon-strong); transform: translateY(-2px); }
.rtf-comingsoon-home-arrow { transition: transform .2s ease; }
.rtf-comingsoon-home:hover .rtf-comingsoon-home-arrow { transform: translateX(3px); }

.rtf-comingsoon-bottom {
    width: min(760px, 100%);
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 28px;
    color: var(--rtf-comingsoon-muted);
    font-size: 13px;
}

.rtf-comingsoon-line { flex: 1; height: 1px; background: var(--rtf-comingsoon-line); }

@media (max-width: 767px) {
    .rtf-comingsoon-time { min-width: 72px; padding: 14px 8px 10px; border-radius: 16px; }
    .rtf-comingsoon-timer { gap: 6px; }
    .rtf-comingsoon-separator { font-size: 20px; }
}

@media (max-width: 575px) {
    .rtf-comingsoon-content { padding: 76px 14px 22px; }
    .rtf-comingsoon-controls { top: 14px; right: 14px; }
    .rtf-comingsoon-label { font-size: 9px; letter-spacing: .08em; }
    .rtf-comingsoon-line { display: none; }
    .rtf-comingsoon-bottom { justify-content: center; text-align: center; }
}

@media (max-width: 374px) {
    .rtf-comingsoon-time { min-width: 58px; padding: 12px 4px 8px; }
    .rtf-comingsoon-separator { display: none; }
}


/* =========================================================
   BACK TO TOP (about + contact)
   ========================================================= */

.rtf-back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 90;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(74, 44, 38, .22);
    border-radius: 50%;
    background: #A6533F;
    color: #FFF8F1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease, background .2s ease;
}

.rtf-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.rtf-back-to-top:hover { background: #7D382E; }
.rtf-back-to-top:focus-visible { outline: 2px solid #4A2C26; outline-offset: 3px; }

.rtf-back-to-top svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 575px) { .rtf-back-to-top { right: 16px; bottom: 16px; width: 44px; height: 44px; } }
@media (prefers-reduced-motion: reduce) { .rtf-back-to-top { transition: none; } }

.rtf-404-bottom-text { flex: 0 1 auto; text-align: center; }

/* =========================================================
   SECTION 07 "SMALL STEPS" — MOBILE-S / M / L ONLY (max 767px)
   Horizontal journey becomes a vertical timeline, so all four
   steps are visible without sideways scrolling.
   ========================================================= */
@media (max-width: 767px) {

    .rtf-progress-journey {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 0;
        overflow: visible;
    }

    /* each step: circle on the start side, text beside it */
    .rtf-progress-step {
        min-width: 0;
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        column-gap: 16px;
        align-content: start;
        padding-bottom: 28px;
    }
    .rtf-progress-step:last-child { padding-bottom: 0; }

    .rtf-progress-journey .rtf-step-dot {
        grid-column: 1;
        grid-row: 1 / span 2;
        margin: 0;
    }
    .rtf-progress-step b {
        grid-column: 2;
        align-self: center;
        min-height: 42px;
        display: flex;
        align-items: center;
        line-height: 1.3;
    }
    .rtf-progress-step p {
        grid-column: 2;
        max-width: none;
        margin-top: 2px;
    }

    /* vertical line: from this circle down to the next circle */
    .rtf-progress-journey .rtf-progress-step:not(:last-child)::after {
        top: 42px;
        inset-inline-start: 20px;
        width: 2px;
        height: calc(100% - 42px);
    }
}

/* HOME 2 · SECTION 03 — mobile-S/M/L + tablet: photo is static, titles sit below it */
@media (max-width: 1023px){
    main > section.rtf-jf-section .rtf-jf-photo{
        position: relative;
        top: auto;
        z-index: auto;
    }
}

/* =========================================================
   HOME 2 · SECTION 07 — TEXT VISIBILITY ON THE PHOTO
   Tablet + mobile-S/M/L only (max 1023px)
   ========================================================= */
@media (max-width: 1023px) {

    /* calmer, stronger veil so the copy never fights the photo */
    .rtf-q7.is-live .rtf-q7-scrim {
        background: linear-gradient(to bottom,
            rgba(var(--q7-bg-rgb), .70) 0%,
            rgba(var(--q7-bg-rgb), .82) 45%,
            rgba(var(--q7-bg-rgb), .70) 100%);
    }

    /* the answer: deeper brand colour, a little bigger */
    .rtf-q7-a {
        color: var(--q7-brand-strong);
        font-size: clamp(20px, 5.4vw, 30px);
        line-height: 1.3;
    }

    /* the small line under it: full-strength colour, bigger, bolder */
    .rtf-q7-a span:nth-child(2) {
        color: var(--q7-heading);
        font-size: .82em;
        font-weight: 600;
    }
}

/* =========================================================
   HOME 2 · SECTION 08 (final CTA) — PATHWAYS 01 / 02 / 03
   Mobile-S + Mobile-M only (max 389px): stack into one column,
   exactly like mobile-L.
   ========================================================= */
@media (max-width: 389px) {

    main > section.rtf-h2-cta8 .rtf-h2-cta8-pathways {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 36px;
    }

    main > section.rtf-h2-cta8 .rtf-h2-cta8-pathway {
        grid-template-columns: 28px minmax(0, 1fr) 20px;
        gap: 10px;
        padding: 16px 4px;
        border-inline-start: 0;
        border-bottom: 1px solid rgba(255, 249, 243, .22);
    }

    main > section.rtf-h2-cta8 .rtf-h2-cta8-pathway:last-child {
        border-bottom: 0;
    }

    main > section.rtf-h2-cta8 .rtf-h2-cta8-pathway strong {
        font-size: 15.5px;
        overflow-wrap: anywhere;
    }

    main > section.rtf-h2-cta8 .rtf-h2-cta8-pathway em {
        font-size: 13.5px;
        overflow-wrap: anywhere;
    }
}

/* =========================================================
   ABOUT · SECTION 2 — "1,200+ People supported" histogram
   Bars now grow to fill the whole card on every screen size.
   ========================================================= */
.rtf-ab-s2-stat { gap: clamp(14px, 2vw, 22px); }

.rtf-ab-s2-bars {
    flex: 1 1 auto;                 /* take ALL the space left under the number */
    height: auto;                   /* was a fixed clamp(64px, 9vw, 110px) */
    min-height: 64px;
    gap: clamp(6px, 1vw, 12px);
}

.rtf-ab-s2-bars span {
    border-radius: clamp(7px, 1vw, 12px) clamp(7px, 1vw, 12px) 4px 4px;
}

/* =========================================================
   ABOUT · SECTION 2 — PLAY BADGE, mobile-S / M / L only
   Sits on the bottom-left corner of the stat card and overlaps
   the group photo below (like tablet), so the bars stay visible.
   ========================================================= */
@media (max-width: 639px) {
    .rtf-ab-s2-play {
        margin-inline-start: -12px;
        margin-block-end: -40px;
    }
}

/* =========================================================
   HOME 2 — FEELINGS SECTION
   Typography refinement
   ========================================================= */

/* ---------- Desktop / Laptop ---------- */

main > section.rtf-fl-section .rtf-fl-head h2 {
    font-size: clamp(28px, 3.15vw, 48px);
    line-height: 1.15;
    font-weight: 500;
    letter-spacing: -0.025em;
}

main > section.rtf-fl-section .rtf-fl-sentence {
    font-size: 56px;
    line-height: 1.08;
    font-weight: 500;
    letter-spacing: -0.035em;
}


/* ---------- Tablet: 768px – 1023px ---------- */

@media (min-width: 768px) and (max-width: 1023px) {

    main > section.rtf-fl-section .rtf-fl-head h2 {
        font-size: clamp(30px, 4.8vw, 42px);
        line-height: 1.15;
        font-weight: 500;
    }

    main > section.rtf-fl-section .rtf-fl-sentence {
        font-size: 50px;
        line-height: 1.08;
        font-weight: 500;
        letter-spacing: -0.03em;
    }
}


/* ---------- Mobile-L: 390px – 767px ---------- */

@media (min-width: 390px) and (max-width: 767px) {

    main > section.rtf-fl-section .rtf-fl-head h2 {
        font-size: 30px;
        line-height: 1.18;
        font-weight: 500;
        letter-spacing: -0.02em;
    }

    main > section.rtf-fl-section .rtf-fl-sentence {
        font-size: 42px;
        line-height: 1.1;
        font-weight: 500;
        letter-spacing: -0.03em;
    }
}


/* ---------- Mobile-M: 360px – 389px ---------- */

@media (min-width: 360px) and (max-width: 389px) {

    main > section.rtf-fl-section .rtf-fl-head h2 {
        font-size: 28px;
        line-height: 1.18;
        font-weight: 500;
    }

    main > section.rtf-fl-section .rtf-fl-sentence {
        font-size: 38px;
        line-height: 1.1;
        font-weight: 500;
    }
}


/* ---------- Mobile-S: 320px – 359px ---------- */

@media (max-width: 359px) {

    main > section.rtf-fl-section .rtf-fl-head h2 {
        font-size: 26px;
        line-height: 1.2;
        font-weight: 500;
    }

    main > section.rtf-fl-section .rtf-fl-sentence {
        font-size: 34px;
        line-height: 1.1;
        font-weight: 500;
    }
}

/* =========================================================
   HOME 1 — SECTION 04
   FIND YOUR WAY BACK TO YOURSELF
   Layout / spacing refinement
   ========================================================= */

/* ---------------------------------------------------------
   DESKTOP + LAPTOP-L
   1280px+
   Three equal working areas
   --------------------------------------------------------- */

@media (min-width: 1280px) {

    .rtf-home1-page .rtf-way-layout {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr)
            minmax(0, 1fr);

        column-gap: 28px;
        row-gap: 0;

        align-items: stretch;
        min-height: 520px;
    }

    /* Left content */
    .rtf-home1-page .rtf-way-copy {
        min-width: 0;
        width: 100%;
        align-self: center;
    }

    .rtf-home1-page .rtf-way-copy h2 {
        max-width: 100%;
    }

    .rtf-home1-page .rtf-way-copy p {
        max-width: 100%;
    }

    /* Center image */
    .rtf-home1-page .rtf-way-visual {
        min-width: 0;
        width: 100%;

        justify-content: flex-start;
        align-items: center;
    }

    .rtf-home1-page .rtf-way-image-wrap {
        width: 100%;
        max-width: 390px;
    }

    /* Right content */
    .rtf-home1-page .rtf-way-steps {
        min-width: 0;
        width: 100%;

        height: 100%;

        display: flex;
        flex-direction: column;
        justify-content: stretch;
    }

    .rtf-home1-page .rtf-way-steps article {
        flex: 1 1 0;

        min-height: 0;

        display: grid;
        grid-template-columns: 52px minmax(0, 1fr);

        align-items: center;

        padding: 16px 0 16px 20px;
    }

    .rtf-home1-page .rtf-way-steps article:hover {
        padding-left: 28px;
    }

    .rtf-home1-page .rtf-way-steps strong {
        font-size: 25px;
    }

    .rtf-home1-page .rtf-way-steps p {
        max-width: none;
        width: 100%;

        font-size: 15px;
        line-height: 1.5;
    }
}


/* ---------------------------------------------------------
   LAPTOP
   1024px – 1279px
   Keep all three sections in one row, but tighter.
   --------------------------------------------------------- */

@media (min-width: 1024px) and (max-width: 1279px) {

    .rtf-home1-page .rtf-way-layout {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr)
            minmax(0, 1fr);

        column-gap: 22px;
        row-gap: 0;

        align-items: stretch;
        min-height: 480px;
    }

    .rtf-home1-page .rtf-way-copy {
        min-width: 0;
        width: 100%;
        align-self: center;
    }

    .rtf-home1-page .rtf-way-copy h2 {
        font-size: clamp(32px, 3.5vw, 44px);
        line-height: 1.04;

        margin-top: 22px;
        margin-bottom: 18px;
    }

    .rtf-home1-page .rtf-way-copy p {
        max-width: 100%;
        font-size: 17px;
        line-height: 1.62;
    }

    .rtf-home1-page .rtf-way-visual {
        min-width: 0;
        width: 100%;

        justify-content: flex-start;
        align-items: center;
    }

    .rtf-home1-page .rtf-way-image-wrap {
        width: 100%;
        max-width: 100%;

        aspect-ratio: 4 / 5;
    }

    .rtf-home1-page .rtf-way-steps {
        min-width: 0;
        width: 100%;

        height: 100%;

        display: flex;
        flex-direction: column;
    }

    .rtf-home1-page .rtf-way-steps article {
        flex: 1 1 0;

        min-height: 0;

        grid-template-columns: 42px minmax(0, 1fr);

        gap: 10px;

        padding: 14px 0 14px 16px;

        border-right: 0;
        border-bottom: 1px solid var(--rtf-border);
    }

    .rtf-home1-page .rtf-way-steps article:last-child {
        border-bottom: 0;
    }

    .rtf-home1-page .rtf-way-steps article:hover {
        padding-left: 22px;
    }

    .rtf-home1-page .rtf-way-steps strong {
        font-size: 23px;
    }

    .rtf-home1-page .rtf-way-steps b {
        font-size: 13px;
    }

    .rtf-home1-page .rtf-way-steps p {
        max-width: none;
        font-size: 14px;
        line-height: 1.48;
    }
}


/* ---------------------------------------------------------
   TABLET
   768px – 1023px
   Two balanced columns, with the three right-side
   information items immediately underneath.
   No oversized empty horizontal area.
   --------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1023px) {

    .rtf-home1-page .rtf-way-layout {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);

        column-gap: 24px;
        row-gap: 24px;

        min-height: 0;

        align-items: center;
    }

    .rtf-home1-page .rtf-way-copy {
        min-width: 0;
        width: 100%;
    }

    .rtf-home1-page .rtf-way-copy h2 {
        font-size: clamp(32px, 4.4vw, 42px);
        line-height: 1.05;

        margin-top: 22px;
        margin-bottom: 18px;
    }

    .rtf-home1-page .rtf-way-copy p {
        max-width: 100%;
        font-size: 17px;
        line-height: 1.62;
    }

    .rtf-home1-page .rtf-way-visual {
        min-width: 0;
        width: 100%;

        justify-content: center;
    }

    .rtf-home1-page .rtf-way-image-wrap {
        width: min(100%, 340px);
        max-width: 340px;
    }

    .rtf-home1-page .rtf-way-steps {
        grid-column: 1 / -1;

        width: 100%;

        display: grid;
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        border-left: 0;
        border-top: 1px solid var(--rtf-border);

        height: auto;
    }

    .rtf-home1-page .rtf-way-steps article {
        min-width: 0;

        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);

        gap: 10px;

        align-items: start;

        padding: 18px 16px 18px 0;

        border-right: 1px solid var(--rtf-border);
        border-bottom: 0;
    }

    .rtf-home1-page .rtf-way-steps article:last-child {
        border-right: 0;
    }

    .rtf-home1-page .rtf-way-steps article:hover {
        padding-left: 8px;
        padding-right: 8px;
    }

    .rtf-home1-page .rtf-way-steps strong {
        font-size: 23px;
    }

    .rtf-home1-page .rtf-way-steps b {
        font-size: 13px;
    }

    .rtf-home1-page .rtf-way-steps p {
        max-width: none;
        font-size: 14px;
        line-height: 1.5;
    }
}


/* ---------------------------------------------------------
   MOBILE-L
   390px – 767px
   --------------------------------------------------------- */

@media (min-width: 390px) and (max-width: 767px) {

    .rtf-home1-page .rtf-way-layout {
        grid-template-columns: 1fr;

        gap: 26px;

        min-height: 0;
    }

    .rtf-home1-page .rtf-way-copy {
        width: 100%;
        min-width: 0;
    }

    .rtf-home1-page .rtf-way-copy h2 {
        font-size: 34px;
        line-height: 1.07;

        margin-top: 20px;
        margin-bottom: 16px;
    }

    .rtf-home1-page .rtf-way-copy p {
        max-width: none;
        width: 100%;

        font-size: 17px;
        line-height: 1.62;
    }

    .rtf-home1-page .rtf-way-visual {
        width: 100%;
        justify-content: center;
    }

    .rtf-home1-page .rtf-way-image-wrap {
        width: min(100%, 330px);
        max-width: 330px;
    }

    .rtf-home1-page .rtf-way-steps {
        width: 100%;

        display: grid;
        grid-template-columns: 1fr;

        border-left: 0;
        border-top: 1px solid var(--rtf-border);
    }

    .rtf-home1-page .rtf-way-steps article {
        width: 100%;
        min-width: 0;

        grid-template-columns: 46px minmax(0, 1fr);

        gap: 10px;

        padding: 17px 0;

        border-right: 0;
        border-bottom: 1px solid var(--rtf-border);
    }

    .rtf-home1-page .rtf-way-steps article:last-child {
        border-bottom: 0;
    }

    .rtf-home1-page .rtf-way-steps strong {
        font-size: 24px;
    }

    .rtf-home1-page .rtf-way-steps p {
        max-width: none;
        font-size: 15px;
        line-height: 1.52;
    }
}


/* ---------------------------------------------------------
   MOBILE-M
   360px – 389px
   --------------------------------------------------------- */

@media (min-width: 360px) and (max-width: 389px) {

    .rtf-home1-page .rtf-way-layout {
        grid-template-columns: 1fr;
        gap: 24px;
        min-height: 0;
    }

    .rtf-home1-page .rtf-way-copy h2 {
        font-size: 31px;
        line-height: 1.08;

        margin-top: 18px;
        margin-bottom: 15px;
    }

    .rtf-home1-page .rtf-way-copy p {
        font-size: 16px;
        line-height: 1.62;
    }

    .rtf-home1-page .rtf-way-visual {
        width: 100%;
        justify-content: center;
    }

    .rtf-home1-page .rtf-way-image-wrap {
        width: min(100%, 310px);
        max-width: 310px;
    }

    .rtf-home1-page .rtf-way-steps article {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 9px;
        padding: 16px 0;
    }

    .rtf-home1-page .rtf-way-steps strong {
        font-size: 22px;
    }

    .rtf-home1-page .rtf-way-steps b {
        font-size: 13px;
    }

    .rtf-home1-page .rtf-way-steps p {
        font-size: 14px;
        line-height: 1.5;
    }
}


/* ---------------------------------------------------------
   MOBILE-S
   320px – 359px
   --------------------------------------------------------- */

@media (max-width: 359px) {

    .rtf-home1-page .rtf-way-layout {
        grid-template-columns: 1fr;
        gap: 22px;
        min-height: 0;
    }

    .rtf-home1-page .rtf-way-copy h2 {
        font-size: 29px;
        line-height: 1.08;

        margin-top: 17px;
        margin-bottom: 14px;
    }

    .rtf-home1-page .rtf-way-copy p {
        font-size: 16px;
        line-height: 1.6;
    }

    .rtf-home1-page .rtf-way-visual {
        width: 100%;
        justify-content: center;
    }

    .rtf-home1-page .rtf-way-image-wrap {
        width: min(100%, 285px);
        max-width: 285px;
    }

    .rtf-home1-page .rtf-way-steps article {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 8px;
        padding: 15px 0;
    }

    .rtf-home1-page .rtf-way-steps strong {
        font-size: 21px;
    }

    .rtf-home1-page .rtf-way-steps b {
        font-size: 12px;
    }

    .rtf-home1-page .rtf-way-steps p {
        font-size: 14px;
        line-height: 1.48;
    }
}

@media (max-width: 767.98px) {
    main.rtf-services-page .rtf-services-process::before {
        opacity: .25;
    }

    main.rtf-services-page .rtf-s5-thread {
        display: grid;
        gap: 24px;
    }

    main.rtf-services-page .rtf-s5-thread::before {
        left: 20px;
        right: auto;
        transform: none;
    }

    main.rtf-services-page .rtf-s5-exchange,
    main.rtf-services-page .rtf-s5-exchange.rtf-s5-reveal,
    main.rtf-services-page .rtf-s5-exchange:nth-child(even).rtf-s5-reveal {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        min-height: 0;
        padding: 20px 0 20px 52px;
        transform: none !important;
        opacity: 1;
        transition: none;
        will-change: auto;
    }

    main.rtf-services-page .rtf-s5-connector {
        top: 50%;
        left: 20px;
        width: 40px;
        height: 40px;
        transform: translate(-50%, -50%);
    }

    main.rtf-services-page .rtf-s5-speaker,
    main.rtf-services-page .rtf-s5-exchange:nth-child(odd) .rtf-s5-you,
    main.rtf-services-page .rtf-s5-exchange:nth-child(odd) .rtf-s5-therapist,
    main.rtf-services-page .rtf-s5-exchange:nth-child(even) .rtf-s5-you,
    main.rtf-services-page .rtf-s5-exchange:nth-child(even) .rtf-s5-therapist,
    main.rtf-services-page .rtf-s5-exchange.is-visible:nth-child(odd) .rtf-s5-you,
    main.rtf-services-page .rtf-s5-exchange.is-visible:nth-child(odd) .rtf-s5-therapist,
    main.rtf-services-page .rtf-s5-exchange.is-visible:nth-child(even) .rtf-s5-you,
    main.rtf-services-page .rtf-s5-exchange.is-visible:nth-child(even) .rtf-s5-therapist {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 16px 12px;
        transform: none !important;
        text-align: left;
        box-sizing: border-box;
    }
}

/* =========================================================
   ROOM TO FEEL
   HOME 2 HERO — COUNTER / PROGRESS METER FIX
   ========================================================= */

.h2hero .h2hero-ctrl {
    gap: 16px;
    align-items: center;
}

.h2hero .h2hero-count {
    flex: 0 0 auto;
    min-width: 64px;
    width: 64px;

    display: inline-flex;
    align-items: center;

    white-space: nowrap;
    overflow: visible;

    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.10em;
}

.h2hero .h2hero-bar {
    flex: 0 0 88px;
    width: 88px;
    min-width: 88px;

    margin-inline-start: 2px;
}


/* =========================================================
   MOBILE-S
   320px – 359px
   ========================================================= */

@media (max-width: 359px) {

    .h2hero .h2hero-ctrl {
        gap: 10px;
    }

    .h2hero .h2hero-count {
        min-width: 58px;
        width: 58px;

        font-size: 12px;
        letter-spacing: 0.08em;
    }

    .h2hero .h2hero-bar {
        flex: 0 0 58px;
        width: 58px;
        min-width: 58px;
    }
}


/* =========================================================
   MOBILE-M
   360px – 389px
   ========================================================= */

@media (min-width: 360px) and (max-width: 389px) {

    .h2hero .h2hero-ctrl {
        gap: 11px;
    }

    .h2hero .h2hero-count {
        min-width: 60px;
        width: 60px;

        font-size: 12px;
        letter-spacing: 0.09em;
    }

    .h2hero .h2hero-bar {
        flex: 0 0 64px;
        width: 64px;
        min-width: 64px;
    }
}


/* =========================================================
   MOBILE-L
   390px – 767px
   ========================================================= */

@media (min-width: 390px) and (max-width: 767px) {

    .h2hero .h2hero-ctrl {
        gap: 12px;
    }

    .h2hero .h2hero-count {
        min-width: 62px;
        width: 62px;

        font-size: 13px;
    }

    .h2hero .h2hero-bar {
        flex: 0 0 72px;
        width: 72px;
        min-width: 72px;
    }
}


/* =========================================================
   TABLET
   768px – 1023px
   ========================================================= */

@media (min-width: 768px) and (max-width: 1023px) {

    .h2hero .h2hero-ctrl {
        gap: 14px;
    }

    .h2hero .h2hero-count {
        min-width: 64px;
        width: 64px;

        font-size: 14px;
    }

    .h2hero .h2hero-bar {
        flex: 0 0 96px;
        width: 96px;
        min-width: 96px;
    }
}


/* =========================================================
   LAPTOP
   1024px – 1279px
   ========================================================= */

@media (min-width: 1024px) and (max-width: 1279px) {

    .h2hero .h2hero-ctrl {
        gap: 16px;
    }

    .h2hero .h2hero-count {
        min-width: 66px;
        width: 66px;
    }

    .h2hero .h2hero-bar {
        flex: 0 0 96px;
        width: 96px;
        min-width: 96px;
    }
}


/* =========================================================
   LAPTOP-L
   1280px – 1439px
   ========================================================= */

@media (min-width: 1280px) and (max-width: 1439px) {

    .h2hero .h2hero-ctrl {
        gap: 17px;
    }

    .h2hero .h2hero-count {
        min-width: 68px;
        width: 68px;
    }

    .h2hero .h2hero-bar {
        flex: 0 0 104px;
        width: 104px;
        min-width: 104px;
    }
}


/* =========================================================
   DESKTOP
   1440px+
   ========================================================= */

@media (min-width: 1440px) {

    .h2hero .h2hero-ctrl {
        gap: 18px;
    }

    .h2hero .h2hero-count {
        min-width: 70px;
        width: 70px;

        font-size: 14px;
    }

    .h2hero .h2hero-bar {
        flex: 0 0 110px;
        width: 110px;
        min-width: 110px;
    }
}

/* =========================================================
   ROOM TO FEEL
   HOME 1 — SECTION 08 FINAL CTA
   IMAGE + CONTENT SPACING FIX
   ========================================================= */

/* ---------------------------------------------------------
   DESKTOP
   1440px+
   --------------------------------------------------------- */

@media (min-width: 1440px) {

    .rtf-home1-page .rtf-final-cta-simple__inner {
        width: min(1380px, calc(100% - 72px));

        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);

        gap: 56px;

        padding: 72px 0;
    }

    .rtf-home1-page .rtf-final-cta-simple__media {
        width: 100%;
    }

    .rtf-home1-page .rtf-final-cta-simple__image-wrap {
        width: 100%;
        max-width: 600px;

        aspect-ratio: 1 / 0.88;
    }

    .rtf-home1-page .rtf-final-cta-simple__content {
        width: 100%;
        max-width: 620px;
    }

    .rtf-home1-page .rtf-final-cta-simple__text {
        max-width: 560px;
    }
}


/* ---------------------------------------------------------
   LAPTOP-L
   1280px – 1439px
   --------------------------------------------------------- */

@media (min-width: 1280px) and (max-width: 1439px) {

    .rtf-home1-page .rtf-final-cta-simple__inner {
        width: min(1320px, calc(100% - 64px));

        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);

        gap: 48px;

        padding: 68px 0;
    }

    .rtf-home1-page .rtf-final-cta-simple__media {
        width: 100%;
    }

    .rtf-home1-page .rtf-final-cta-simple__image-wrap {
        width: 100%;
        max-width: 570px;

        aspect-ratio: 1 / 0.88;
    }

    .rtf-home1-page .rtf-final-cta-simple__content {
        width: 100%;
        max-width: 600px;
    }

    .rtf-home1-page .rtf-final-cta-simple__text {
        max-width: 540px;
    }
}


/* ---------------------------------------------------------
   LAPTOP
   1024px – 1279px
   --------------------------------------------------------- */

@media (min-width: 1024px) and (max-width: 1279px) {

    .rtf-home1-page .rtf-final-cta-simple__inner {
        width: calc(100% - 48px);

        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);

        gap: 36px;

        padding: 60px 0;
    }

    .rtf-home1-page .rtf-final-cta-simple__media {
        width: 100%;
    }

    .rtf-home1-page .rtf-final-cta-simple__image-wrap {
        width: 100%;
        max-width: 520px;

        aspect-ratio: 1 / 0.86;
    }

    .rtf-home1-page .rtf-final-cta-simple__content {
        width: 100%;
        max-width: 560px;
    }

    .rtf-home1-page .rtf-final-cta-simple__content h2 {
        font-size: clamp(40px, 4.5vw, 56px);
    }

    .rtf-home1-page .rtf-final-cta-simple__text {
        max-width: 500px;
    }
}


/* ---------------------------------------------------------
   TABLET
   768px – 1023px
   --------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1023px) {

    .rtf-home1-page .rtf-final-cta-simple__inner {
        width: calc(100% - 40px);

        grid-template-columns: 1fr;

        gap: 34px;

        padding: 58px 0 64px;
    }

    .rtf-home1-page .rtf-final-cta-simple__media {
        width: 100%;
        max-width: 700px;

        margin: 0 auto;
    }

    .rtf-home1-page .rtf-final-cta-simple__image-wrap {
        width: 100%;
        max-width: none;

        aspect-ratio: 16 / 9;
    }

    .rtf-home1-page .rtf-final-cta-simple__content {
        width: 100%;
        max-width: 700px;

        margin: 0 auto;
    }

    .rtf-home1-page .rtf-final-cta-simple__text {
        max-width: 620px;
    }
}


/* ---------------------------------------------------------
   MOBILE-L
   390px – 767px
   --------------------------------------------------------- */

@media (min-width: 390px) and (max-width: 767px) {

    .rtf-home1-page .rtf-final-cta-simple__inner {
        width: calc(100% - 28px);

        grid-template-columns: 1fr;

        gap: 28px;

        padding: 48px 0 54px;
    }

    .rtf-home1-page .rtf-final-cta-simple__media {
        width: 100%;
        max-width: none;

        margin: 0 auto;
    }

    .rtf-home1-page .rtf-final-cta-simple__image-wrap {
        width: 100%;
        max-width: none;

        aspect-ratio: 1 / 0.78;

        border-radius: 16px;
    }

    .rtf-home1-page .rtf-final-cta-simple__content {
        width: 100%;
        max-width: none;
    }

    .rtf-home1-page .rtf-final-cta-simple__text {
        max-width: none;
        width: 100%;
    }
}


/* ---------------------------------------------------------
   MOBILE-M
   360px – 389px
   --------------------------------------------------------- */

@media (min-width: 360px) and (max-width: 389px) {

    .rtf-home1-page .rtf-final-cta-simple__inner {
        width: calc(100% - 24px);

        grid-template-columns: 1fr;

        gap: 26px;

        padding: 44px 0 50px;
    }

    .rtf-home1-page .rtf-final-cta-simple__media {
        width: 100%;
        max-width: none;
    }

    .rtf-home1-page .rtf-final-cta-simple__image-wrap {
        width: 100%;
        max-width: none;

        aspect-ratio: 1 / 0.78;

        border-radius: 15px;
    }

    .rtf-home1-page .rtf-final-cta-simple__content {
        width: 100%;
        max-width: none;
    }

    .rtf-home1-page .rtf-final-cta-simple__text {
        width: 100%;
        max-width: none;
    }
}


/* ---------------------------------------------------------
   MOBILE-S
   320px – 359px
   --------------------------------------------------------- */

@media (max-width: 359px) {

    .rtf-home1-page .rtf-final-cta-simple__inner {
        width: calc(100% - 20px);

        grid-template-columns: 1fr;

        gap: 24px;

        padding: 40px 0 46px;
    }

    .rtf-home1-page .rtf-final-cta-simple__media {
        width: 100%;
        max-width: none;
    }

    .rtf-home1-page .rtf-final-cta-simple__image-wrap {
        width: 100%;
        max-width: none;

        aspect-ratio: 1 / 0.76;

        border-radius: 14px;
    }

    .rtf-home1-page .rtf-final-cta-simple__content {
        width: 100%;
        max-width: none;
    }

    .rtf-home1-page .rtf-final-cta-simple__content h2 {
        font-size: 34px;
        line-height: 1.04;
    }

    .rtf-home1-page .rtf-final-cta-simple__text {
        width: 100%;
        max-width: none;

        font-size: 15px;
        line-height: 1.62;
    }
}


/* =========================================================
   THERAPISTS · SECTION 06 — RESPONSIVE GRID
   Replaces the sideways-scrolling track with a layout that
   fits every screen: 5 columns (laptop-L) -> 3+2 (laptop)
   -> 2 columns (tablet) -> 1 column (mobile-S/M/L).
   ========================================================= */
.rtf-tp-s06 .rtf-tp-s06-track-wrap { overflow: visible; }

.rtf-tp-s06 .rtf-tp-s06-track {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: min(1380px, 92%);
    margin-inline: auto;
    transform: none !important;          /* stops the old scroll script moving it */
    will-change: auto;
    border-top: 1px solid #5A3B33;
    border-bottom: 0;
    border-left: 1px solid #5A3B33;
}

.rtf-tp-s06 .rtf-tp-s06-item,
.rtf-tp-s06 .rtf-tp-s06-item:first-child {
    width: auto;
    min-width: 0;
    min-height: 0;
    padding: clamp(26px, 3vw, 40px) clamp(22px, 2.4vw, 34px);
    border-left: 0;
    border-right: 1px solid #5A3B33;
    border-bottom: 1px solid #5A3B33;
}

.rtf-tp-s06 .rtf-tp-s06-count { margin-bottom: clamp(28px, 4vw, 55px); }
.rtf-tp-s06 .rtf-tp-s06-item h3 { font-size: clamp(21px, 1.9vw, 25px); overflow-wrap: anywhere; }
.rtf-tp-s06 .rtf-tp-s06-item p  { font-size: clamp(15px, 1.2vw, 16px); }

/* the progress dashes belonged to the sideways scroll */
.rtf-tp-s06 .rtf-tp-s06-progress { display: none; }

/* tablet: 2 columns, last card full width */
@media (min-width: 768px) {
    .rtf-tp-s06 .rtf-tp-s06-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rtf-tp-s06 .rtf-tp-s06-item:nth-child(5) { grid-column: 1 / -1; }
}

/* laptop: 3 + 2 */
@media (min-width: 1024px) {
    .rtf-tp-s06 .rtf-tp-s06-track { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .rtf-tp-s06 .rtf-tp-s06-item { grid-column: span 2; }
    .rtf-tp-s06 .rtf-tp-s06-item:nth-child(4),
    .rtf-tp-s06 .rtf-tp-s06-item:nth-child(5) { grid-column: span 3; }
}

/* laptop-L and wider: all five in one row */
@media (min-width: 1280px) {
    .rtf-tp-s06 .rtf-tp-s06-track { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .rtf-tp-s06 .rtf-tp-s06-item,
    .rtf-tp-s06 .rtf-tp-s06-item:nth-child(4),
    .rtf-tp-s06 .rtf-tp-s06-item:nth-child(5) { grid-column: auto; }
}

/* =========================================================
   ROOM TO FEEL — HOME 1 · NEW SECTION "ROOM TO SETTLE"
   Structured mind-map. APPEND to the VERY END of assets/css/styles.css
   Everything is scoped to .rtf-h1-mm (no existing rule is touched).
   ========================================================= */

.rtf-h1-section.rtf-h1-mm {
    --m-card: #FFF8F0;
    --m-card2: #F7E3D6;
    --m-ink: #3B211C;
    --m-head: #4A2C26;
    --m-soft: #6A4A40;
    --m-brand: #A6533F;
    --m-line: #B9705E;
    --m-edge: rgba(166, 83, 63, .30);
    --m-dot: rgba(166, 83, 63, .18);
    --m-hub1: #5A332B;
    --m-hub2: #3A211C;
    --m-hubink: #F5E9DC;
    --m-hubsoft: #E3C9BA;
    --m-g: clamp(48px, 6vw, 92px);
    --m-rg: 18px;

    padding: clamp(58px, 7vw, 100px) 0;
    background: var(--rtf-bg, #F5E9DC);
    isolation: isolate;
}

/* faded dot field behind everything */
.rtf-h1-mm::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: radial-gradient(circle, var(--m-dot) 1.2px, transparent 1.7px);
    background-size: 26px 26px;
    -webkit-mask-image: radial-gradient(ellipse 80% 85% at 50% 58%, #000 35%, transparent 100%);
            mask-image: radial-gradient(ellipse 80% 85% at 50% 58%, #000 35%, transparent 100%);
    pointer-events: none;
}

/* ---------- heading ---------- */
.rtf-h1-mm .rtf-h1-mm-head {
    max-width: 760px;
    margin: 0 auto clamp(32px, 5vw, 58px);
    text-align: center;
}
.rtf-h1-mm .rtf-h1-mm-head .rtf-h1-section-head { justify-content: center; }
.rtf-h1-mm .rtf-h1-mm-head h2 {
    margin: 16px 0 14px;
    color: var(--m-head);
    font-size: clamp(30px, 4.2vw, 54px);
    line-height: 1.1;
}
.rtf-h1-mm .rtf-h1-mm-head p {
    color: var(--m-soft);
    font-size: clamp(16px, 1.5vw, 18px);
}

/* ---------- map grid (laptop + desktop) ---------- */
.rtf-h1-mm .rtf-h1-mm-map {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, .78fr) minmax(0, 1fr);
    column-gap: var(--m-g);
    row-gap: var(--m-rg);
    align-items: stretch;
}

/* ---------- cards ---------- */
.rtf-h1-mm .rtf-h1-mm-node {
    --stub: calc(var(--m-g) / 2);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    padding: 20px 22px;
    border-radius: 18px;
    border: 1.5px solid var(--m-edge);
    background: var(--m-card);
    box-shadow: 0 16px 32px -22px rgba(74, 44, 38, .55);
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.rtf-h1-mm .rtf-h1-mm-node.is-r { background: var(--m-card2); }
.rtf-h1-mm .rtf-h1-mm-node:hover {
    transform: translateY(-4px);
    border-color: var(--m-brand);
    box-shadow: 0 20px 38px -18px rgba(166, 83, 63, .55);
}
.rtf-h1-mm .rtf-h1-mm-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rtf-h1-mm .rtf-h1-mm-no { color: var(--m-brand); font-size: 13px; font-weight: 600; letter-spacing: .12em; }
.rtf-h1-mm .rtf-h1-mm-tag {
    padding: 4px 10px;
    border: 1px solid var(--m-edge);
    border-radius: 999px;
    color: var(--m-soft);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap;
}
.rtf-h1-mm .rtf-h1-mm-node h3 {
    color: var(--m-ink);
    font-size: clamp(19px, 1.7vw, 23px);
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1.25;
}
.rtf-h1-mm .rtf-h1-mm-node p {
    color: var(--m-soft);
    font-size: clamp(14px, 1.2vw, 15.5px);
    line-height: 1.6;
}

/* ---------- connectors (pure CSS) ---------- */
.rtf-h1-mm .rtf-h1-mm-node::before,
.rtf-h1-mm .rtf-h1-mm-node::after { content: ""; position: absolute; pointer-events: none; background: var(--m-line); }

/* stub from the card toward the trunk */
.rtf-h1-mm .rtf-h1-mm-node::before {
    top: 50%;
    width: var(--stub);
    height: 2px;
    margin-top: -1px;
    background: linear-gradient(90deg, var(--m-line) 0 40%, var(--m-brand) 50%, var(--m-line) 60% 100%);
    background-size: 250% 100%;
}
.rtf-h1-mm .rtf-h1-mm-node.is-l::before { left: 100%; transform-origin: left; }
.rtf-h1-mm .rtf-h1-mm-node.is-r::before { right: 100%; transform-origin: right; }

/* vertical trunk, from this card's centre down to the next card's centre */
.rtf-h1-mm .rtf-h1-mm-node::after {
    top: 50%;
    width: 2px;
    height: calc(100% + var(--m-rg));
    transform-origin: top;
}
.rtf-h1-mm .rtf-h1-mm-node.is-l::after { left: calc(100% + var(--m-g) / 2 - 1px); }
.rtf-h1-mm .rtf-h1-mm-node.is-r::after { right: calc(100% + var(--m-g) / 2 - 1px); }
.rtf-h1-mm .rtf-h1-mm-node.c3::after { display: none; }

/* joint dot on the card edge */
.rtf-h1-mm .rtf-h1-mm-node i {
    position: absolute;
    top: 50%;
    width: 11px;
    height: 11px;
    margin-top: -5.5px;
    border-radius: 50%;
    background: var(--m-brand);
    box-shadow: 0 0 0 4px var(--m-card);
}
.rtf-h1-mm .rtf-h1-mm-node.is-r i { box-shadow: 0 0 0 4px var(--m-card2); }
.rtf-h1-mm .rtf-h1-mm-node.is-l i { right: -6px; }
.rtf-h1-mm .rtf-h1-mm-node.is-r i { left: -6px; }
.rtf-h1-mm .rtf-h1-mm-node i::after {
    content: "";
    position: absolute;
    inset: -6px;
    border: 1.5px solid var(--m-brand);
    border-radius: 50%;
    opacity: 0;
}

/* grid placement */
.rtf-h1-mm .is-l.c1 { grid-column: 1; grid-row: 1; }
.rtf-h1-mm .is-l.c2 { grid-column: 1; grid-row: 2; }
.rtf-h1-mm .is-l.c3 { grid-column: 1; grid-row: 3; }
.rtf-h1-mm .is-r.c1 { grid-column: 3; grid-row: 1; }
.rtf-h1-mm .is-r.c2 { grid-column: 3; grid-row: 2; }
.rtf-h1-mm .is-r.c3 { grid-column: 3; grid-row: 3; }

/* the middle cards reach all the way to the hub */
.rtf-h1-mm .rtf-h1-mm-node.c2 { --stub: var(--m-g); }

/* ---------- hub ---------- */
.rtf-h1-mm .rtf-h1-mm-hub {
    position: relative;
    grid-column: 2;
    grid-row: 1 / 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-width: 0;
    padding: clamp(22px, 2.6vw, 34px);
    border-radius: 26px;
    background: radial-gradient(120% 90% at 50% 0%, var(--m-hub1), var(--m-hub2));
    box-shadow: 0 30px 60px -28px rgba(58, 33, 28, .8);
    color: var(--m-hubink);
    text-align: center;
}
.rtf-h1-mm .rtf-h1-mm-mark { position: relative; width: 96px; height: 96px; display: grid; place-items: center; flex: 0 0 auto; }
.rtf-h1-mm .rtf-h1-mm-mark::before,
.rtf-h1-mm .rtf-h1-mm-mark::after { content: ""; position: absolute; inset: 0; border: 1px solid var(--m-hubsoft); border-radius: 50%; opacity: 0; }
.rtf-h1-mm .rtf-h1-mm-mark svg { width: 56px; height: 56px; fill: none; stroke: var(--m-hubink); stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; }
.rtf-h1-mm .rtf-h1-mm-hubtext h3 {
    color: var(--m-hubink);
    font-size: clamp(22px, 2.1vw, 30px);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.2;
}
.rtf-h1-mm .rtf-h1-mm-hubtext p {
    margin: 12px auto 0;
    max-width: 30ch;
    color: var(--m-hubsoft);
    font-size: clamp(14px, 1.2vw, 15.5px);
    line-height: 1.6;
}
.rtf-h1-mm .rtf-h1-mm-steps { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.rtf-h1-mm .rtf-h1-mm-steps span {
    padding: 7px 14px;
    border: 1px solid var(--m-hubsoft);
    border-radius: 999px;
    color: var(--m-hubsoft);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* =========================================================
   ANIMATION — only after JS adds .is-ready (so no-JS stays visible)
   ========================================================= */
.rtf-h1-mm.is-ready .rtf-h1-mm-node,
.rtf-h1-mm.is-ready .rtf-h1-mm-hub { opacity: 0; }
.rtf-h1-mm.is-ready .rtf-h1-mm-node::before { transform: scaleX(0); }
.rtf-h1-mm.is-ready .rtf-h1-mm-node::after  { transform: scaleY(0); }

.rtf-h1-mm.is-live .rtf-h1-mm-hub { animation: rtfMmRise .9s cubic-bezier(.2,.8,.2,1) .1s forwards; }
.rtf-h1-mm.is-live .rtf-h1-mm-node { animation: rtfMmRise .8s cubic-bezier(.2,.8,.2,1) calc(var(--i) * .12s + .25s) forwards; }
.rtf-h1-mm.is-live .rtf-h1-mm-node::before {
    animation: rtfMmDraw .7s ease calc(var(--i) * .12s + .75s) forwards, rtfMmShimmer 3.4s linear 2.6s infinite;
}
.rtf-h1-mm.is-live .rtf-h1-mm-node::after { animation: rtfMmDrawV .6s ease calc(var(--i) * .12s + 1s) forwards; }
.rtf-h1-mm.is-live .rtf-h1-mm-node i::after { animation: rtfMmPing 3.6s ease-out calc(var(--i) * .6s + 1.6s) infinite; }
.rtf-h1-mm.is-live .rtf-h1-mm-mark::before { animation: rtfMmRipple 5s ease-out 1s infinite; }
.rtf-h1-mm.is-live .rtf-h1-mm-mark::after  { animation: rtfMmRipple 5s ease-out 3.5s infinite; }
.rtf-h1-mm.is-live .rtf-h1-mm-mark svg { animation: rtfMmBreathe 6s ease-in-out infinite; transform-origin: center; }
.rtf-h1-mm.is-live .rtf-h1-mm-steps span { animation: rtfMmStep 9s infinite; }
.rtf-h1-mm.is-live .rtf-h1-mm-steps span:nth-child(2) { animation-delay: 3s; }
.rtf-h1-mm.is-live .rtf-h1-mm-steps span:nth-child(3) { animation-delay: 6s; }

@keyframes rtfMmRise     { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes rtfMmDraw     { to { transform: scaleX(1); } }
@keyframes rtfMmDrawV    { to { transform: scaleY(1); } }
@keyframes rtfMmShimmer  { to { background-position: -250% 0; } }
@keyframes rtfMmPing     { 0% { transform: scale(.5); opacity: .8; } 60%, 100% { transform: scale(1.6); opacity: 0; } }
@keyframes rtfMmRipple   { 0% { transform: scale(.55); opacity: .8; } 100% { transform: scale(1.7); opacity: 0; } }
@keyframes rtfMmBreathe  { 50% { transform: scale(1.1); } }
@keyframes rtfMmStep {
    0%, 30%, 100% { background: transparent; color: var(--m-hubsoft); border-color: var(--m-hubsoft); }
    8%, 24%       { background: var(--m-hubink); color: var(--m-hub2); border-color: var(--m-hubink); }
}

/* =========================================================
   TABLET (768 – 1023): hub banner on top, two columns, one spine
   ========================================================= */
@media (max-width: 1023px) {
    .rtf-h1-section.rtf-h1-mm { --m-g: 48px; }

    .rtf-h1-mm .rtf-h1-mm-map { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

    .rtf-h1-mm .rtf-h1-mm-hub {
        grid-column: 1 / -1;
        grid-row: 1;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 20px 26px;
        text-align: left;
    }
    .rtf-h1-mm .rtf-h1-mm-hubtext { flex: 1 1 260px; min-width: 0; }
    .rtf-h1-mm .rtf-h1-mm-hubtext p { margin-left: 0; max-width: none; }
    .rtf-h1-mm .rtf-h1-mm-hub::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 100%;
        width: 2px;
        height: calc(var(--m-rg) + 150px);
        margin-left: -1px;
        background: var(--m-line);
    }

    .rtf-h1-mm .is-l.c1 { grid-column: 1; grid-row: 2; }
    .rtf-h1-mm .is-l.c2 { grid-column: 1; grid-row: 3; }
    .rtf-h1-mm .is-l.c3 { grid-column: 1; grid-row: 4; }
    .rtf-h1-mm .is-r.c1 { grid-column: 2; grid-row: 2; }
    .rtf-h1-mm .is-r.c2 { grid-column: 2; grid-row: 3; }
    .rtf-h1-mm .is-r.c3 { grid-column: 2; grid-row: 4; }

    .rtf-h1-mm .rtf-h1-mm-node.c2 { --stub: calc(var(--m-g) / 2); }
    .rtf-h1-mm .rtf-h1-mm-node { padding: 18px 20px; }
}

/* =========================================================
   MOBILE-S / M / L (up to 767): single column + left spine
   ========================================================= */
@media (max-width: 767px) {
    .rtf-h1-mm .rtf-h1-mm-map { grid-template-columns: minmax(0, 1fr); padding-left: 38px; row-gap: 16px; }

    .rtf-h1-mm .rtf-h1-mm-hub {
        grid-column: 1;
        grid-row: 1;
        margin-left: -38px;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 18px;
        text-align: center;
    }
    .rtf-h1-mm .rtf-h1-mm-hubtext { flex: 0 0 auto; }
    .rtf-h1-mm .rtf-h1-mm-hubtext p { margin-left: auto; max-width: 30ch; }
    .rtf-h1-mm .rtf-h1-mm-hub::after { left: 11px; margin-left: 0; height: calc(var(--m-rg) + 70px); }

    .rtf-h1-mm .is-l.c1 { grid-column: 1; grid-row: 2; }
    .rtf-h1-mm .is-l.c2 { grid-column: 1; grid-row: 3; }
    .rtf-h1-mm .is-l.c3 { grid-column: 1; grid-row: 4; }
    .rtf-h1-mm .is-r.c1 { grid-column: 1; grid-row: 5; }
    .rtf-h1-mm .is-r.c2 { grid-column: 1; grid-row: 6; }
    .rtf-h1-mm .is-r.c3 { grid-column: 1; grid-row: 7; }

    .rtf-h1-mm .rtf-h1-mm-node { --stub: 26px; padding: 17px 18px; }

    .rtf-h1-mm .rtf-h1-mm-node.is-l::before,
    .rtf-h1-mm .rtf-h1-mm-node.is-r::before { left: -26px; right: auto; transform-origin: left; }

    .rtf-h1-mm .rtf-h1-mm-node.is-l::after,
    .rtf-h1-mm .rtf-h1-mm-node.is-r::after { display: block; left: -27px; right: auto; height: calc(100% + 16px); }
    .rtf-h1-mm .rtf-h1-mm-node.is-r.c3::after { display: none; }

    .rtf-h1-mm .rtf-h1-mm-node.is-l i,
    .rtf-h1-mm .rtf-h1-mm-node.is-r i { left: -32px; right: auto; box-shadow: 0 0 0 4px var(--rtf-bg, #F5E9DC); }
}

/* small phones: tighter */
@media (max-width: 389px) {
    .rtf-h1-mm .rtf-h1-mm-map { padding-left: 32px; }
    .rtf-h1-mm .rtf-h1-mm-hub { margin-left: -32px; }
    .rtf-h1-mm .rtf-h1-mm-hub::after { left: 9px; }
    .rtf-h1-mm .rtf-h1-mm-node { --stub: 22px; padding: 15px 16px; }
    .rtf-h1-mm .rtf-h1-mm-node.is-l::before,
    .rtf-h1-mm .rtf-h1-mm-node.is-r::before { left: -22px; }
    .rtf-h1-mm .rtf-h1-mm-node.is-l::after,
    .rtf-h1-mm .rtf-h1-mm-node.is-r::after { left: -23px; }
    .rtf-h1-mm .rtf-h1-mm-node.is-l i,
    .rtf-h1-mm .rtf-h1-mm-node.is-r i { left: -28px; }
    .rtf-h1-mm .rtf-h1-mm-tag { font-size: 10px; padding: 3px 8px; }
}

@media (prefers-reduced-motion: reduce) {
    .rtf-h1-mm *, .rtf-h1-mm *::before, .rtf-h1-mm *::after { animation: none !important; }
    .rtf-h1-mm.is-ready .rtf-h1-mm-node,
    .rtf-h1-mm.is-ready .rtf-h1-mm-hub { opacity: 1; }
    .rtf-h1-mm.is-ready .rtf-h1-mm-node::before { transform: none; }
    .rtf-h1-mm.is-ready .rtf-h1-mm-node::after  { transform: none; }
}

.rtf-back-to-top {
    --p: 0;
    --rtf-btt-ring: #A6533F;
    --rtf-btt-track: rgba(166, 83, 63, .22);
    bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    right: calc(24px + env(safe-area-inset-right, 0px));
    padding: 0;
    -webkit-tap-highlight-color: transparent;
}
.rtf-back-to-top::before {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    pointer-events: none;
    background: conic-gradient(var(--rtf-btt-ring) calc(var(--p) * 1%), var(--rtf-btt-track) 0);
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
            mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
}
.rtf-back-to-top svg { transition: transform .25s ease; }
.rtf-back-to-top:hover svg { transform: translateY(-3px); }
.rtf-back-to-top:active { transform: scale(.94); }
.rtf-back-to-top.is-visible:active { transform: scale(.94); }

@media (max-width: 575px) {
    .rtf-back-to-top {
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        right: calc(16px + env(safe-area-inset-right, 0px));
    }
}
@media print { .rtf-back-to-top { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
    .rtf-back-to-top svg { transition: none; }
}

/* =========================================================
   SERVICES · SECTION 03 "OTHER WAYS WE CAN SUPPORT YOU"
   EQUAL-HEIGHT CARDS (mobile-S/M/L, tablet, laptop, laptop-L)
   ========================================================= */
.rtf-services-other__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
}

.rtf-services-other__grid {
    align-items: stretch;
    grid-auto-rows: 1fr;          /* every row = the same height */
}

.rtf-services-other__card { height: 100%; }
.rtf-services-other__content { flex: 1 1 auto; }

/* laptop + laptop-L: give the text a little more width so no card grows */
@media (min-width: 1024px) {
    .rtf-services-other__card { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
}

@media (max-width: 479px) {
    main.rtf-services-page .rtf-s6-arrow {
        display: none;
    }
}

/* =========================================================
   ROOM TO FEEL — ABOUT PAGE
   SECTION 06 — THE EDITORIAL LEDGER
   Add to the END of assets/css/styles.css
   Uses its own prefix (.rtf-ab-ledger) so it cannot clash
   with any existing section.
   ========================================================= */

.rtf-about-page .rtf-ab-ledger,
.rtf-about-page .rtf-ab-ledger *,
.rtf-about-page .rtf-ab-ledger *::before,
.rtf-about-page .rtf-ab-ledger *::after{
    box-sizing:border-box;
}

.rtf-about-page .rtf-ab-ledger{
    --led-bg:#EBD6C5;
    --led-heading:#4A2C26;
    --led-label:#7D382E;
    --led-copy:#795F55;
    --led-accent:#A6533F;
    --led-from:#6B4A40;
    --led-rule:rgba(74,44,38,.28);
    --led-tint:rgba(166,83,63,.11);
    --led-mark:rgba(166,83,63,.26);

    position:relative;width:100%;overflow:hidden;
    padding:clamp(90px,9vw,140px) 0 clamp(75px,8vw,120px);
    background:var(--led-bg);color:#302421;
    font-family:"Plus Jakarta Sans",sans-serif;font-weight:500;
}


.rtf-about-page .rtf-ab-ledger-shell{width:min(1380px,calc(100% - 80px));margin-inline:auto}

/* heading (same wording, same size as before) */
.rtf-about-page .rtf-ab-ledger-heading{
    width:min(760px,100%);margin-inline:auto;text-align:center;
    opacity:0;transform:translateY(18px);
    transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1);
}
.rtf-about-page .rtf-ab-ledger.is-visible .rtf-ab-ledger-heading{opacity:1;transform:none}
.rtf-about-page .rtf-ab-ledger-label{
    display:block;color:var(--led-label);font-size:14px;line-height:1.4;
    font-weight:500;letter-spacing:.16em;text-transform:uppercase;
}
.rtf-about-page .rtf-ab-ledger-heading h2{
    margin:17px 0;color:var(--led-heading);
    font-size:clamp(36px,4.1vw,58px);line-height:1.1;font-weight:600;letter-spacing:-.035em;
}
.rtf-about-page .rtf-ab-ledger-heading h2 .rtf-ab-ledger-mark{
    color:var(--led-accent);font-weight:600;
    background:linear-gradient(transparent 64%,var(--led-mark) 64%,var(--led-mark) 92%,transparent 92%) no-repeat 0 0 / 0% 100%;
    -webkit-box-decoration-break:clone;box-decoration-break:clone;
    transition:background-size 1.1s cubic-bezier(.22,1,.36,1) .55s;
}
.rtf-about-page .rtf-ab-ledger.is-visible .rtf-ab-ledger-mark{background-size:100% 100%}
.rtf-about-page .rtf-ab-ledger-heading p{
    width:min(650px,100%);margin-inline:auto;color:var(--led-copy);
    font-size:clamp(16px,1.35vw,19px);line-height:1.75;font-weight:500;
}

/* ---------- ledger ---------- */
.rtf-about-page .rtf-ab-ledger-ledger{
    list-style:none;margin:clamp(44px,5vw,72px) 0 0;padding:0;
    border-bottom:1px solid var(--led-rule);
}
.rtf-about-page .rtf-ab-ledger-row{
    --d:calc(var(--i) * .8s);
    position:relative;isolation:isolate;
    display:grid;
    grid-template-columns:clamp(32px,4vw,60px) auto minmax(40px,1fr) auto;
    align-items:center;
    column-gap:clamp(16px,2.4vw,36px);
    padding:clamp(22px,2.8vw,40px) 0;
    border-top:1px solid var(--led-rule);
}

/* hover tint sweep */
.rtf-about-page .rtf-ab-ledger-row::before{
    content:"";position:absolute;z-index:-1;inset-block:0;inset-inline:-18px;
    background:linear-gradient(90deg,var(--led-tint),transparent 92%);
    transform:scaleX(0);transform-origin:left center;
    transition:transform .65s cubic-bezier(.22,1,.36,1);
}
@media (hover:hover){
    .rtf-about-page .rtf-ab-ledger-row:hover::before{transform:scaleX(1)}
}

.rtf-about-page .rtf-ab-ledger-num{
    color:var(--led-accent);font-size:13px;line-height:1;font-weight:600;
    letter-spacing:.16em;font-variant-numeric:tabular-nums;
    opacity:0;transition:opacity .6s ease calc(var(--d) + .1s);
}

/* words */
.rtf-about-page .rtf-ab-ledger-from,
.rtf-about-page .rtf-ab-ledger-to{
    font-size:clamp(28px,4.6vw,80px);line-height:1.05;white-space:nowrap;
}
.rtf-about-page .rtf-ab-ledger-from{
    position:relative;display:inline-block;color:var(--led-from);
    font-weight:500;letter-spacing:-.035em;
}
/* invisible copy keeps the final width so the connector never jumps */
.rtf-about-page .rtf-ab-ledger-from::before{
    content:attr(data-text);display:block;visibility:hidden;
}
.rtf-about-page .rtf-ab-ledger-from-live{
    position:absolute;inset:0 auto auto 0;display:block;
    opacity:0;transform:translateY(16px);letter-spacing:.14em;
    transition:
        opacity .7s ease var(--d),
        transform .9s cubic-bezier(.22,1,.36,1) var(--d),
        letter-spacing 1s cubic-bezier(.22,1,.36,1) var(--d);
}

/* connector: hairline track + terracotta line + traveling dot */
.rtf-about-page .rtf-ab-ledger-link{position:relative;align-self:center;height:11px}
.rtf-about-page .rtf-ab-ledger-link::before,
.rtf-about-page .rtf-ab-ledger-link::after{
    content:"";position:absolute;inset-inline:0;top:5px;height:1px;
}
.rtf-about-page .rtf-ab-ledger-link::before{background:var(--led-rule)}
.rtf-about-page .rtf-ab-ledger-link::after{
    height:2px;top:4.5px;background:var(--led-accent);
    transform:scaleX(0);transform-origin:left center;
    transition:transform .95s cubic-bezier(.65,0,.35,1) calc(var(--d) + .5s);
}
.rtf-about-page .rtf-ab-ledger-dot{
    position:absolute;top:5.5px;inset-inline-start:0;
    width:11px;height:11px;border-radius:50%;background:var(--led-accent);
    box-shadow:0 0 0 5px var(--led-tint);
    transform:translate(-50%,-50%) scale(0);opacity:0;
    transition:
        inset-inline-start .95s cubic-bezier(.65,0,.35,1) calc(var(--d) + .5s),
        transform .4s ease calc(var(--d) + .5s),
        opacity .3s ease calc(var(--d) + .5s);
}

/* understanding word: clean wipe */
.rtf-about-page .rtf-ab-ledger-to{font-weight:600;letter-spacing:-.035em;color:var(--led-accent)}
.rtf-about-page .rtf-ab-ledger-to-text{
    display:inline-block;padding-inline:.04em;font-weight:600;
    background:linear-gradient(transparent 68%,var(--led-mark) 68%,var(--led-mark) 92%,transparent 92%);
    clip-path:inset(0 100% 0 0);
    transition:clip-path .75s cubic-bezier(.65,0,.35,1) calc(var(--d) + 1.05s);
}

/* play when visible */
.rtf-about-page .rtf-ab-ledger.is-visible .rtf-ab-ledger-num{opacity:1}
.rtf-about-page .rtf-ab-ledger.is-visible .rtf-ab-ledger-from-live{
    opacity:1;transform:none;letter-spacing:-.035em;
}
.rtf-about-page .rtf-ab-ledger.is-visible .rtf-ab-ledger-link::after{transform:scaleX(1)}
.rtf-about-page .rtf-ab-ledger.is-visible .rtf-ab-ledger-dot{
    inset-inline-start:100%;opacity:1;transform:translate(-50%,-50%) scale(1);
}
.rtf-about-page .rtf-ab-ledger.is-visible .rtf-ab-ledger-to-text{clip-path:inset(0 0 0 0)}

.rtf-ab-ledger-sr{
    position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
    clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ---------- mobile: stacked rows (<640px) ---------- */
@media (max-width:639px){
    .rtf-about-page .rtf-ab-ledger-shell{width:calc(100% - 40px)}
    .rtf-about-page .rtf-ab-ledger-row{
        grid-template-columns:1fr;row-gap:10px;padding:22px 0 24px;
    }
    .rtf-about-page .rtf-ab-ledger-from,
    .rtf-about-page .rtf-ab-ledger-to{font-size:clamp(26px,8.4vw,44px)}
    .rtf-about-page .rtf-ab-ledger-from{justify-self:start}
    .rtf-about-page .rtf-ab-ledger-to{justify-self:end}
    .rtf-about-page .rtf-ab-ledger-row::before{inset-inline:-12px}
}

/* ---------- reduced motion: finished state, no movement ---------- */
@media (prefers-reduced-motion:reduce){
    .rtf-about-page .rtf-ab-ledger *,
    .rtf-about-page .rtf-ab-ledger *::before,
    .rtf-about-page .rtf-ab-ledger *::after{transition:none !important;animation:none !important}
    .rtf-about-page .rtf-ab-ledger-heading,
    .rtf-about-page .rtf-ab-ledger-num{opacity:1;transform:none}
    .rtf-about-page .rtf-ab-ledger-from-live{opacity:1;transform:none;letter-spacing:-.035em}
    .rtf-about-page .rtf-ab-ledger-link::after{transform:scaleX(1)}
    .rtf-about-page .rtf-ab-ledger-dot{inset-inline-start:100%;opacity:1;transform:translate(-50%,-50%) scale(1)}
    .rtf-about-page .rtf-ab-ledger-to-text{clip-path:inset(0 0 0 0)}
    .rtf-about-page .rtf-ab-ledger-mark{background-size:100% 100%}
}

/* Section 06: no highlighter underline */
.rtf-about-page .rtf-ab-ledger-to-text,
.rtf-about-page .rtf-ab-ledger-heading h2 .rtf-ab-ledger-mark {
    background: none;
}

/* =========================================================
   ROOM TO FEEL — CONTACT SECTION 04 ONLY
   FIND YOUR WAY IN
   Paste into assets/css/styles.css.
   Everything is scoped to .rtf-contact-findway.
   ========================================================= */

.rtf-contact-page .rtf-contact-findway {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: clamp(90px, 9vw, 135px) 0 82px;
    background: #F5E9DC;
    color: #302421;
}

.rtf-contact-page .rtf-contact-findway__shell {
    width: min(1280px, calc(100% - 80px));
    margin: 0 auto;
}

.rtf-contact-page .rtf-contact-findway__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr);
    gap: clamp(45px, 7vw, 105px);
    align-items: center;
    max-width: 1120px;
    margin: 0 auto;
}

.rtf-contact-page .rtf-contact-findway__copy {
    max-width: 720px;
}

.rtf-contact-page .rtf-contact-findway__label {
    display: block;
    margin-bottom: 18px;
    color: #7D382E;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: .12em;
}

.rtf-contact-page .rtf-contact-findway__copy h2 {
    margin: 0;
    max-width: 760px;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: clamp(30px, 3.2vw, 42px);
    line-height: 1.18;
    font-weight: 600;
    color: #302421;
}

.rtf-contact-page .rtf-contact-findway__accent {
    color: #A6533F;
}

.rtf-contact-page .rtf-contact-findway__copy > p {
    max-width: 680px;
    margin: 22px 0 0;
    color: #795F55;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 18px;
    line-height: 1.75;
    font-weight: 500;
}

.rtf-contact-page .rtf-contact-findway__image-wrap {
    position: relative;
    width: min(100%, 390px);
    justify-self: end;
    aspect-ratio: .9 / 1;
    overflow: hidden;
    border-radius: 110px 110px 12px 12px;
    background: #EBD6C5;
}

.rtf-contact-page .rtf-contact-findway__image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .8s cubic-bezier(.2,.75,.2,1), filter .5s ease;
}

.rtf-contact-page .rtf-contact-findway__image-wrap:hover img {
    transform: scale(1.035);
}

.rtf-contact-page .rtf-contact-findway__image-line {
    position: absolute;
    width: 105px;
    height: 105px;
    right: -18px;
    bottom: -18px;
    border: 1px solid #A6533F;
    border-left: 0;
    border-bottom: 0;
    border-radius: 0 80px 0 0;
    transform: rotate(18deg);
    pointer-events: none;
}

.rtf-contact-page .rtf-contact-findway__path-area {
    position: relative;
    margin: 76px auto 0;
    max-width: 1160px;
}

.rtf-contact-page .rtf-contact-findway__path {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 54px;
    overflow: visible;
    pointer-events: none;
}

.rtf-contact-page .rtf-contact-findway__path path {
    fill: none;
    stroke: #CDB5A4;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-dasharray: 1600;
    stroke-dashoffset: 1600;
    transition: stroke-dashoffset 1.6s cubic-bezier(.2,.75,.2,1);
}

.rtf-contact-page .rtf-contact-findway__path-mobile {
    display: none;
}

.rtf-contact-page .rtf-contact-findway.is-active .rtf-contact-findway__path path {
    stroke-dashoffset: 0;
}

.rtf-contact-page .rtf-contact-findway__steps {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

.rtf-contact-page .rtf-contact-findway__step {
    min-width: 0;
}

.rtf-contact-page .rtf-contact-findway__marker {
    width: 54px;
    height: 54px;
    justify-self: center;
    padding: 0;
    border: 1px solid #D6A18F;
    border-radius: 50%;
    background: #D6A18F;
    color: #302421;
    display: grid;
    place-items: center;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: .06em;
    cursor: pointer;
    transition:
        transform .35s ease,
        background .35s ease,
        border-color .35s ease,
        color .35s ease,
        box-shadow .35s ease;
}

.rtf-contact-page .rtf-contact-findway__marker:hover,
.rtf-contact-page .rtf-contact-findway__marker:focus-visible,
.rtf-contact-page .rtf-contact-findway__step.is-active .rtf-contact-findway__marker {
    background: #A6533F;
    border-color: #A6533F;
    color: #F5E9DC;
    transform: scale(1.08);
    box-shadow: 0 0 0 7px rgba(166,83,63,.10);
    outline: none;
}

.rtf-contact-page .rtf-contact-findway__step-copy {
    max-width: 330px;
    margin-top: 22px;
}

.rtf-contact-page .rtf-contact-findway__step-label {
    display: block;
    margin-bottom: 12px;
    color: #7D382E;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: .10em;
}

.rtf-contact-page .rtf-contact-findway__step-copy p {
    margin: 0;
    color: #4A2C26;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    line-height: 1.7;
    font-weight: 500;
}

.rtf-contact-page .rtf-contact-findway__step-copy a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 20px;
    color: #7D382E;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 600;
    text-decoration: none;
}

.rtf-contact-page .rtf-contact-findway__step-copy a span {
    transition: transform .3s ease;
}

.rtf-contact-page .rtf-contact-findway__step-copy a:hover span {
    transform: translateX(5px);
}

.rtf-contact-page .rtf-contact-findway__ending {
    display: grid;
    grid-template-columns: 1fr auto auto 1fr;
    align-items: center;
    gap: 18px;
    max-width: 720px;
    margin: 76px auto 0;
}

.rtf-contact-page .rtf-contact-findway__ending-line {
    height: 1px;
    background: #CDB5A4;
}

.rtf-contact-page .rtf-contact-findway__ending-mark {
    width: 34px;
    height: 34px;
    border: 1px solid #A6533F;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #A6533F;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
}

.rtf-contact-page .rtf-contact-findway__ending p {
    margin: 0;
    color: #4A2C26;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    white-space: nowrap;
}

.rtf-contact-page .rtf-contact-findway-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity .75s ease,
        transform .75s cubic-bezier(.2,.75,.2,1);
    transition-delay: var(--rtf-findway-delay, 0ms);
}

.rtf-contact-page .rtf-contact-findway-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* TABLET — 768–1023 */
@media (max-width:1023px) {
    .rtf-contact-page .rtf-contact-findway {
        padding: 82px 0 72px;
    }

    .rtf-contact-page .rtf-contact-findway__shell {
        width: min(100% - 48px, 900px);
    }

    .rtf-contact-page .rtf-contact-findway__intro {
        grid-template-columns: minmax(0, 1fr) 260px;
        gap: 42px;
    }

    .rtf-contact-page .rtf-contact-findway__copy h2 {
        font-size: 36px;
    }

    .rtf-contact-page .rtf-contact-findway__copy > p {
        font-size: 17px;
    }

    .rtf-contact-page .rtf-contact-findway__path-area {
        margin-top: 65px;
    }

    .rtf-contact-page .rtf-contact-findway__steps {
        gap: 28px;
    }

    .rtf-contact-page .rtf-contact-findway__step-copy p {
        font-size: 16px;
    }
}

/* LAPTOP — 1024–1279 */
@media (min-width:1024px) and (max-width:1279px) {
    .rtf-contact-page .rtf-contact-findway {
        padding-top: 64px;
    }

    .rtf-contact-page .rtf-contact-findway__shell {
        width: min(1150px, calc(100% - 64px));
    }

    .rtf-contact-page .rtf-contact-findway__intro {
        max-width: 1050px;
        align-items: stretch;
    }

    .rtf-contact-page .rtf-contact-findway__copy {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .rtf-contact-page .rtf-contact-findway__step-copy {
        padding-inline: 16px;
    }
}

/* LAPTOP-L / DESKTOP — 1280+ */
@media (min-width:1280px) {
    .rtf-contact-page .rtf-contact-findway {
        padding-top: 78px;
    }

    .rtf-contact-page .rtf-contact-findway__intro {
        max-width: 1180px;
        align-items: stretch;
    }

    .rtf-contact-page .rtf-contact-findway__copy {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .rtf-contact-page .rtf-contact-findway__path-area {
        margin-top: 82px;
    }
}

/* MOBILE-L — 390–767 */
@media (max-width:767px) {
    .rtf-contact-page .rtf-contact-findway {
        padding: 76px 0 62px;
    }

    .rtf-contact-page .rtf-contact-findway__shell {
        width: calc(100% - 32px);
    }

    .rtf-contact-page .rtf-contact-findway__intro {
        display: flex;
        flex-direction: column;
        gap: 36px;
        align-items: stretch;
    }

    .rtf-contact-page .rtf-contact-findway__copy {
        max-width: none;
    }

    .rtf-contact-page .rtf-contact-findway__copy h2 {
        font-size: 30px;
    }

    .rtf-contact-page .rtf-contact-findway__copy > p {
        margin-top: 18px;
        font-size: 17px;
    }

    .rtf-contact-page .rtf-contact-findway__image-wrap {
        width: min(100%, 300px);
        align-self: flex-end;
        border-radius: 85px 85px 10px 10px;
    }

    .rtf-contact-page .rtf-contact-findway__path-area {
        margin-top: 52px;
        padding-left: 31px;
    }

    .rtf-contact-page .rtf-contact-findway__path {
        top: 0;
        display: none;
    }

    .rtf-contact-page .rtf-contact-findway__path-desktop {
        display: none;
    }

    .rtf-contact-page .rtf-contact-findway__path-mobile {
        display: none;
    }

    .rtf-contact-page .rtf-contact-findway__path-area::before {
        position: absolute;
        z-index: 1;
        top: 27px;
        bottom: 0;
        left: 57.25px;
        width: 1.5px;
        background: #CDB5A4;
        content: "";
    }

    [dir="rtl"] .rtf-contact-page .rtf-contact-findway__path-area::before {
        left: auto;
        right: 26.25px;
    }

    .rtf-contact-page .rtf-contact-findway__steps {
        display: flex;
        flex-direction: column;
        gap: 46px;
    }

    .rtf-contact-page .rtf-contact-findway__step {
        display: grid;
        grid-template-columns: 54px minmax(0, 1fr);
        column-gap: 20px;
        align-items: start;
    }

    .rtf-contact-page .rtf-contact-findway__step-copy {
        max-width: none;
        margin-top: 2px;
    }

    .rtf-contact-page .rtf-contact-findway__step-copy p {
        font-size: 17px;
    }

    .rtf-contact-page .rtf-contact-findway__ending {
        grid-template-columns: 1fr auto 1fr;
        gap: 12px;
        margin-top: 58px;
    }

    .rtf-contact-page .rtf-contact-findway__ending p {
        font-size: 12px;
        letter-spacing: .10em;
        text-align: center;
        white-space: normal;
    }
}

/* MOBILE-S / MOBILE-M — 320–389 */
@media (max-width:389px) {
    .rtf-contact-page .rtf-contact-findway__shell {
        width: calc(100% - 24px);
    }

    .rtf-contact-page .rtf-contact-findway__copy h2 {
        font-size: 30px;
    }

    .rtf-contact-page .rtf-contact-findway__copy > p,
    .rtf-contact-page .rtf-contact-findway__step-copy p {
        font-size: 16px;
    }

    .rtf-contact-page .rtf-contact-findway__image-wrap {
        width: 250px;
    }

    .rtf-contact-page .rtf-contact-findway__step {
        grid-template-columns: 48px minmax(0, 1fr);
        column-gap: 16px;
    }

    .rtf-contact-page .rtf-contact-findway__marker {
        width: 48px;
        height: 48px;
        font-size: 13px;
    }

    .rtf-contact-page .rtf-contact-findway__path {
        display: none;
    }

    .rtf-contact-page .rtf-contact-findway__path-area::before {
        top: 24px;
        left: 54.25px;
    }

    [dir="rtl"] .rtf-contact-page .rtf-contact-findway__path-area::before {
        right: 23.25px;
    }

    .rtf-contact-page .rtf-contact-findway__step-label {
        font-size: 12px;
    }
}

/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
    .rtf-contact-page .rtf-contact-findway__path path,
    .rtf-contact-page .rtf-contact-findway-reveal,
    .rtf-contact-page .rtf-contact-findway__image-wrap img,
    .rtf-contact-page .rtf-contact-findway__marker,
    .rtf-contact-page .rtf-contact-findway__step-copy a span {
        transition: none;
    }

    .rtf-contact-page .rtf-contact-findway-reveal {
        opacity: 1;
        transform: none;
    }

    .rtf-contact-page .rtf-contact-findway__path path {
        stroke-dashoffset: 0;
    }
}
