.elementor-7 .elementor-element.elementor-element-9ab584b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-5174a7e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-37cbe4d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-3135fd8{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-572168c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-c62b9f1{--display:flex;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-ec3080b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-3f3f16e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-7 .elementor-element.elementor-element-c62b9f1{--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}@media(max-width:767px){.elementor-7 .elementor-element.elementor-element-c62b9f1{--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}/* Start custom CSS for html, class: .elementor-element-b51c940 *//* ==========================================================
   RE4 REAL ESTATE HERO
   Primary: #8F6779
   All visible text is 17px or larger
   UPDATED: mobile stats (Sq. Ft. / Bedrooms / Jubilee Hills)
   now centered and evenly aligned
   ========================================================== */

@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400&family=Figtree:wght@600;700&display=swap");

/* ==========================================================
   RESET AND VARIABLES
   ========================================================== */

.re4-hero,
.re4-hero *,
.re4-hero *::before,
.re4-hero *::after {
    box-sizing: border-box;
}

.re4-hero {
    --re4-primary: #8F6779;
    --re4-primary-dark: #755363;
    --re4-black: #171417;
    --re4-body: #4F474B;
    --re4-muted: #70666B;
    --re4-surface: #FBF8F7;
    --re4-white: #FFFFFF;
    --re4-border: rgba(23, 20, 23, 0.12);

    /* Override Elementor colours in this section */
    --e-global-color-primary: #8F6779;
    --e-global-color-accent: #8F6779;
    --e-global-color-secondary: #171417;
    --e-global-color-text: #171417;

    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;

    color: var(--re4-black);
    background:
        radial-gradient(
            circle at 85% 12%,
            rgba(143, 103, 121, 0.18),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #181316 0%,
            #21191D 50%,
            #171215 100%
        );

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

.re4-hero h1,
.re4-hero h2,
.re4-hero p,
.re4-hero dl,
.re4-hero dt,
.re4-hero dd {
    margin-top: 0;
}

.re4-hero button {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
    padding: 0;

    border: 0;
    color: inherit;
    background: none;
    box-shadow: none;

    font: inherit;
    cursor: pointer;
}

.re4-hero button:hover,
.re4-hero button:focus,
.re4-hero button:active {
    color: inherit;
}

.re4-hero button:focus-visible {
    outline: 3px solid var(--re4-white);
    outline-offset: 4px;
}

/* ==========================================================
   OUTER CONTAINER
   ========================================================== */

.re4-hero__inner {
    width: 100%;
    max-width: 1540px;
    margin-inline: auto;

    /* Required desktop padding */
    padding: 80px 50px 50px 50px;
}

.re4-hero__frame {
    display: grid;
    grid-template-columns:
        minmax(0, 0.92fr)
        minmax(520px, 1.08fr);

    width: 100%;
    min-height: 660px;
    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: 30px 30px 0 0;

    background-color: var(--re4-surface);

    box-shadow:
        0 35px 100px rgba(0, 0, 0, 0.36),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

/* ==========================================================
   LEFT CONTENT
   ========================================================== */

.re4-hero__left {
    min-width: 0;
    background-color: var(--re4-surface);
}

.re4-hero__panel {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: center;

    width: 100%;
    min-height: 660px;
    padding: clamp(48px, 5vw, 76px);

    border-left: 7px solid var(--re4-primary);
}

/* Decorative soft gradient—no number */
.re4-hero__panel::after {
    content: "";
    position: absolute;
    right: -120px;
    bottom: -140px;

    width: 330px;
    height: 330px;
    border-radius: 50%;

    background-color: rgba(143, 103, 121, 0.07);
    filter: blur(3px);

    pointer-events: none;
}

/* Top label */

.re4-hero__label {
    position: relative;
    z-index: 1;

    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 34px;

    color: var(--re4-primary);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.re4-hero__dot {
    display: block;

    width: 10px;
    height: 10px;
    flex: 0 0 10px;

    border-radius: 50%;
    background-color: var(--re4-primary);

    box-shadow: 0 0 0 6px rgba(143, 103, 121, 0.13);
}

/* Main title */

.re4-hero__title {
    position: relative;
    z-index: 1;

    max-width: 620px;
    margin-bottom: 22px;

    color: var(--re4-black);

    font-family: "Figtree", sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.035em;

    text-wrap: balance;
}

/* Subheading */

.re4-hero__sub {
    position: relative;
    z-index: 1;

    max-width: 560px;
    margin-bottom: 20px;

    color: var(--re4-primary-dark);

    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.018em;
}

/* Paragraph */

.re4-hero__body {
    position: relative;
    z-index: 1;

    max-width: 570px;
    margin-bottom: 36px;

    color: var(--re4-body);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
}

/* Property specifications */

.re4-hero__specs {
    position: relative;
    z-index: 1;

    display: flex;
    align-items: stretch;
    gap: 24px;

    width: 100%;
    max-width: 590px;
    margin-bottom: 0;
    padding-top: 28px;

    border-top: 1px solid var(--re4-border);
}

.re4-hero__spec-item {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    justify-content: space-between;
    gap: 6px;

    min-width: 0;
}

.re4-hero__spec-item dt {
    margin-bottom: 0;

    color: var(--re4-black);

    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.re4-hero__spec-item dd {
    margin: 0;

    color: var(--re4-muted);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.35;
}

.re4-hero__spec-rule {
    display: block;
    align-self: stretch;

    width: 1px;
    flex: 0 0 1px;

    background-color: var(--re4-border);
}

/* ==========================================================
   RIGHT VIDEO CARD
   ========================================================== */

.re4-hero__right {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    min-width: 0;
    min-height: 660px;

    color: var(--re4-white);
    background-color: #211A1E;
}

.re4-hero__video {
    position: absolute;
    inset: 0;

    display: block;
    width: 100%;
    height: 100%;

    border: 0;

    object-fit: cover;
    object-position: center;

    cursor: pointer;
}

/* Video readability overlay */

.re4-hero__video-shade {
    position: absolute;
    inset: 0;
    z-index: 1;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(14, 10, 12, 0.62) 0%,
            rgba(14, 10, 12, 0.07) 34%,
            rgba(14, 10, 12, 0.08) 55%,
            rgba(14, 10, 12, 0.86) 100%
        );
}

/* ==========================================================
   TOP VIDEO INFORMATION
   ========================================================== */

.re4-hero__top {
    position: absolute;
    z-index: 3;
    top: 26px;
    right: 26px;
    left: 26px;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;

    pointer-events: none;
}

.re4-hero__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;
    padding: 10px 17px;

    border: 1px solid rgba(255, 255, 255, 0.27);
    border-radius: 100px;

    color: var(--re4-white);
    background-color: rgba(20, 15, 18, 0.58);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.06em;
    text-transform: uppercase;

    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

/* Rating */

.re4-hero__rating {
    display: flex;
    align-items: center;
    gap: 14px;

    min-height: 64px;
    padding: 11px 16px;

    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 17px;

    color: var(--re4-black);
    background-color: var(--re4-white);

    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.24);
}

.re4-hero__rating-score {
    color: var(--re4-black);

    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1;
}

.re4-hero__rating-side {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.re4-hero__stars {
    color: var(--re4-primary);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    line-height: 1;
    letter-spacing: 1px;
    white-space: nowrap;
}

.re4-hero__rating-text {
    color: var(--re4-body);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.2;
    white-space: nowrap;
}

/* ==========================================================
   PLAY BUTTON
   ========================================================== */

.re4-hero__play-btn {
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 50%;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 82px;
    height: 82px;

    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    border-radius: 50% !important;

    color: var(--re4-white) !important;
    background-color: var(--re4-primary) !important;

    box-shadow:
        0 18px 48px rgba(0, 0, 0, 0.34),
        0 0 0 11px rgba(255, 255, 255, 0.1) !important;

    transform: translate(-50%, -50%);

    transition:
        width 180ms ease,
        height 180ms ease,
        background-color 180ms ease,
        transform 180ms ease,
        opacity 180ms ease;
}

.re4-hero__play-btn:hover {
    color: var(--re4-white) !important;
    background-color: var(--re4-primary-dark) !important;
    transform: translate(-50%, -50%) scale(1.06);
}

.re4-hero__play-btn:active {
    transform: translate(-50%, -50%) scale(0.97);
}

.re4-hero__play-btn span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.re4-hero__play-btn svg {
    display: block;
    width: 29px;
    height: 29px;

    fill: currentColor;
}

.re4-hero__play-icon {
    margin-left: 3px;
}

.re4-hero__pause-icon {
    display: none !important;
}

/* Playing state */

.re4-hero__right.is-playing .re4-hero__play-btn {
    width: 60px;
    height: 60px;

    background-color: rgba(20, 15, 18, 0.61) !important;

    box-shadow:
        0 14px 36px rgba(0, 0, 0, 0.25),
        0 0 0 7px rgba(255, 255, 255, 0.08) !important;

    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);

    opacity: 0.78;
}

.re4-hero__right.is-playing:hover .re4-hero__play-btn,
.re4-hero__right.is-playing .re4-hero__play-btn:focus-visible {
    opacity: 1;
}

.re4-hero__right.is-playing .re4-hero__play-icon {
    display: none !important;
}

.re4-hero__right.is-playing .re4-hero__pause-icon {
    display: inline-flex !important;
}

/* Buffering animation */

.re4-hero__right.is-buffering .re4-hero__play-btn {
    cursor: wait;
}

.re4-hero__right.is-buffering .re4-hero__play-btn::after {
    content: "";
    position: absolute;
    inset: -8px;

    border: 3px solid rgba(255, 255, 255, 0.24);
    border-top-color: var(--re4-white);
    border-radius: 50%;

    animation: re4-spin 0.8s linear infinite;
}

@keyframes re4-spin {
    to {
        transform: rotate(360deg);
    }
}

/* ==========================================================
   BOTTOM VIDEO INFORMATION
   ========================================================== */

.re4-hero__bottom {
    position: absolute;
    z-index: 3;
    right: 26px;
    bottom: 26px;
    left: 26px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;

    pointer-events: none;
}

.re4-hero__info {
    min-width: 0;
    max-width: calc(100% - 76px);
}

.re4-hero__prop-label {
    margin-bottom: 9px;

    color: rgba(255, 255, 255, 0.79);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.re4-hero__prop-title {
    margin-bottom: 6px;

    color: var(--re4-white);

    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.018em;
}

.re4-hero__prop-meta {
    margin-bottom: 0;

    color: rgba(255, 255, 255, 0.86);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.45;
}

/* ==========================================================
   SOUND BUTTON
   ========================================================== */

.re4-hero__sound-btn {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;

    width: 52px;
    height: 52px;

    border: 1px solid rgba(255, 255, 255, 0.31) !important;
    border-radius: 50% !important;

    color: var(--re4-white) !important;
    background-color: rgba(20, 15, 18, 0.61) !important;

    pointer-events: auto;

    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);

    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}

.re4-hero__sound-btn:hover {
    color: var(--re4-white) !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
    background-color: var(--re4-primary) !important;
    transform: translateY(-2px);
}

.re4-hero__sound-btn span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.re4-hero__sound-btn svg {
    display: block;
    width: 23px;
    height: 23px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.re4-hero__sound-off {
    display: none !important;
}

.re4-hero__right.is-muted .re4-hero__sound-on {
    display: none !important;
}

.re4-hero__right.is-muted .re4-hero__sound-off {
    display: inline-flex !important;
}

/* ==========================================================
   VIDEO ERROR FALLBACK
   ========================================================== */

.re4-hero__video-fallback {
    position: absolute;
    inset: 0;
    z-index: 7;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 40px;

    color: var(--re4-white);
    background:
        linear-gradient(
            rgba(23, 18, 21, 0.9),
            rgba(23, 18, 21, 0.9)
        ),
        var(--re4-primary);

    text-align: center;
}

.re4-hero__video-fallback[hidden] {
    display: none !important;
}

.re4-hero__video-fallback p {
    max-width: 480px;
    margin-bottom: 0;

    color: var(--re4-white);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

/* Keep controls available above the fallback */
.re4-hero__right.has-error .re4-hero__play-btn {
    display: none;
}

/* ==========================================================
   TABLET: 50px 30px 0 30px
   ========================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
    .re4-hero__inner {
        padding: 50px 30px 50px 30px;
    }

    .re4-hero__frame {
        grid-template-columns:
            minmax(0, 0.92fr)
            minmax(400px, 1.08fr);

        min-height: 610px;
    }

    .re4-hero__panel,
    .re4-hero__right {
        min-height: 610px;
    }

    .re4-hero__panel {
        padding: 44px 38px;
    }

    .re4-hero__title {
        font-size: 40px;
    }

    .re4-hero__sub {
        font-size: 25px;
    }

    .re4-hero__specs {
        gap: 18px;
    }

    .re4-hero__top {
        top: 20px;
        right: 20px;
        left: 20px;
    }

    .re4-hero__bottom {
        right: 20px;
        bottom: 20px;
        left: 20px;
    }
}

/* Stack narrow tablets */

@media (max-width: 880px) {
    .re4-hero__frame {
        grid-template-columns: minmax(0, 1fr);
    }

    .re4-hero__panel {
        min-height: auto;
    }

    .re4-hero__right {
        min-height: 540px;
    }
}

/* ==========================================================
   MOBILE: 30px 10px 0 10px
   UPDATED: specs now centered + evenly aligned
   ========================================================== */

@media (max-width: 767px) {
    .re4-hero__inner {
        padding: 30px 10px 30px 10px;
    }

    .re4-hero__frame {
        grid-template-columns: 1fr;
        min-height: 0;

        border-radius: 22px 22px 0 0;
    }

    .re4-hero__panel {
        min-height: auto;
        padding: 38px 24px 34px;

        border-top: 6px solid var(--re4-primary);
        border-left: 0;
    }

    .re4-hero__label {
        margin-bottom: 28px;

        font-size: 17px;
        letter-spacing: 0.05em;
    }

    .re4-hero__title {
        margin-bottom: 20px;
        font-size: 40px;
    }

    .re4-hero__sub {
        margin-bottom: 18px;
        font-size: 25px;
    }

    .re4-hero__body {
        margin-bottom: 30px;
        font-size: 17px;
    }

    /* ---- FIX: centered + evenly aligned stats ---- */
    .re4-hero__specs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;

        padding-top: 26px;

        text-align: center;
        justify-items: center;
    }

    .re4-hero__spec-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 6px;

        flex: none;
        min-width: 0;

        text-align: center;
    }

    .re4-hero__spec-item dt {
        font-size: 25px;
        text-align: center;
    }

    .re4-hero__spec-item dd {
        font-size: 17px;
        text-align: center;
    }

    .re4-hero__spec-rule {
        display: none;
    }
    /* ---- END FIX ---- */

    .re4-hero__right {
        min-height: 500px;
    }

    .re4-hero__top {
        top: 16px;
        right: 16px;
        left: 16px;

        align-items: flex-start;
    }

    .re4-hero__badge {
        min-height: 42px;
        padding: 9px 13px;

        font-size: 17px;
    }

    .re4-hero__rating {
        min-height: 58px;
        gap: 10px;
        padding: 9px 12px;
    }

    .re4-hero__rating-score {
        font-size: 22px;
    }

    .re4-hero__stars,
    .re4-hero__rating-text {
        font-size: 17px;
    }

    .re4-hero__play-btn {
        width: 70px;
        height: 70px;
    }

    .re4-hero__right.is-playing .re4-hero__play-btn {
        width: 54px;
        height: 54px;
    }

    .re4-hero__bottom {
        right: 16px;
        bottom: 18px;
        left: 16px;

        gap: 16px;
    }

    .re4-hero__prop-label {
        font-size: 17px;
    }

    .re4-hero__prop-title {
        font-size: 25px;
    }

    .re4-hero__prop-meta {
        font-size: 17px;
    }

    .re4-hero__sound-btn {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
    }
}

/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 520px) {
    .re4-hero__right {
        min-height: 480px;
    }

    .re4-hero__top {
        flex-direction: column;
        align-items: flex-start;
    }

    .re4-hero__rating {
        align-self: flex-end;
    }

    .re4-hero__spec-rule {
        display: none;
    }

    /* Keep stats evenly centered on small screens too */
    .re4-hero__specs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;

        text-align: center;
        justify-items: center;
    }

    .re4-hero__spec-item {
        flex: none;
        min-width: 0;
        text-align: center;
    }

    .re4-hero__spec-item dt {
        font-size: 25px;
    }

    .re4-hero__spec-item dd {
        font-size: 17px;
    }
}

@media (max-width: 420px) {
    .re4-hero__panel {
        padding-inline: 20px;
    }

    .re4-hero__title {
        font-size: 40px;
    }

    .re4-hero__right {
        min-height: 460px;
    }

    .re4-hero__rating {
        max-width: 100%;
    }

    .re4-hero__rating-text {
        white-space: normal;
    }

    .re4-hero__info {
        max-width: calc(100% - 64px);
    }
}

/* ==========================================================
   REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
    .re4-hero *,
    .re4-hero *::before,
    .re4-hero *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-45a6c8e *//* =====================================================
   RE8 ABOUT US — PREMIUM POINT OF VIEW SECTION
   Desktop: 80px 50px 0px 50px
   Tablet:  50px 30px 0px 30px
   Mobile:  30px 10px 0px 10px

   Text:
   Heading: 40px / 700 Figtree
   Subheading: 25px / 600 Figtree
   Everything else: 17px minimum
   ===================================================== */

/* Load once only if fonts are not already added globally */
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400&family=Figtree:wght@600;700&display=swap");

#re8-about,
#re8-about *,
#re8-about *::before,
#re8-about *::after {
    box-sizing: border-box;
}

#re8-about {
    --re8-primary: #8F6779;
    --re8-primary-dark: #755363;
    --re8-primary-deep: #523B47;
    --re8-black: #171417;
    --re8-text: #4B4347;
    --re8-muted: #70666B;
    --re8-white: #FFFFFF;
    --re8-background: #FFFFFF;
    --re8-soft: #F8F5F4;
    --re8-border: rgba(23, 20, 23, 0.12);

    /* Remove Elementor default blue inside this section */
    --e-global-color-primary: #8F6779;
    --e-global-color-accent: #8F6779;
    --e-global-color-secondary: #171417;
    --e-global-color-text: #171417;

    width: 100%;
    overflow: hidden;

    color: var(--re8-black);
    background-color: var(--re8-background);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

/* Reset Elementor margins */
#re8-about h2,
#re8-about h3,
#re8-about p,
#re8-about figure {
    margin: 0;
}

/* =====================================================
   MAIN SECTION CONTAINER
   ===================================================== */

.re8-about__inner {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;

    /* Desktop padding */
    padding: 80px 50px 0px 50px;
}

/* =====================================================
   CENTERED INTRO
   ===================================================== */

.re8-about__intro {
    width: 100%;
    max-width: 780px;
    margin: 0 auto 48px;
    text-align: center;
}

/* Subheading: 25px / 600 */
.re8-about__subheading {
    margin-bottom: 14px;

    color: var(--re8-primary);

    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.015em;
}

/* Heading: 40px / 700 */
.re8-about__title {
    margin-bottom: 16px;

    color: var(--re8-black);

    font-family: "Figtree", sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.035em;

    text-wrap: balance;
}

/* Text: 17px */
.re8-about__intro-text {
    max-width: 720px;
    margin-inline: auto;

    color: var(--re8-text);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
}

/* =====================================================
   MAIN PREMIUM STAGE
   ===================================================== */

.re8-about__stage {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(410px, 0.92fr);
    gap: 22px;
    align-items: stretch;

    width: 100%;
    max-width: 1240px;
    min-height: 560px;
    margin-inline: auto;
}

/* =====================================================
   LEFT IMAGE PANEL
   ===================================================== */

.re8-about__visual {
    position: relative;
    overflow: hidden;

    min-height: 560px;

    border-radius: 28px;
    background-color: var(--re8-primary);

    box-shadow: 0 28px 70px -32px rgba(23, 20, 23, 0.28);
}

.re8-about__visual img {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 560px;

    object-fit: cover;
    object-position: center;

    transition: transform 700ms ease;
}

.re8-about__visual:hover img {
    transform: scale(1.035);
}

/* Dark image overlay for white text readability */
.re8-about__image-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(23, 20, 23, 0.03) 35%,
            rgba(23, 20, 23, 0.78) 100%
        );
}

/* Text shown on image */
.re8-about__image-caption {
    position: absolute;
    z-index: 2;
    right: 30px;
    bottom: 30px;
    left: 30px;
}

.re8-about__caption-label {
    margin-bottom: 10px;

    color: rgba(255, 255, 255, 0.82);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.re8-about__caption-text {
    max-width: 500px;

    color: var(--re8-white);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.6;
}

/* =====================================================
   RIGHT CONTENT AREA
   ===================================================== */

.re8-about__content {
    display: grid;
    grid-template-rows: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 22px;

    min-width: 0;
    min-height: 560px;
}

/* =====================================================
   PRIMARY GRADIENT STATEMENT
   ===================================================== */

.re8-about__statement {
    position: relative;
    overflow: hidden;

    display: flex;
    flex-direction: column;
    justify-content: center;

    min-height: 0;
    padding: 34px;

    border-radius: 28px;

    color: var(--re8-white);

    background:
        linear-gradient(
            135deg,
            var(--re8-primary) 0%,
            var(--re8-primary-dark) 58%,
            var(--re8-primary-deep) 100%
        );

    box-shadow: 0 22px 52px -30px rgba(82, 59, 71, 0.46);
}

/* Soft decorative gradient glow */
.re8-about__statement::after {
    content: "";

    position: absolute;
    top: -80px;
    right: -80px;

    width: 220px;
    height: 220px;

    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.10);

    pointer-events: none;
}

.re8-about__statement-line {
    display: block;

    width: 56px;
    height: 3px;
    margin-bottom: 20px;

    border-radius: 10px;
    background-color: var(--re8-white);
}

.re8-about__statement-title {
    position: relative;
    z-index: 1;

    margin-bottom: 16px;

    color: var(--re8-white);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.6;
}

.re8-about__statement-text {
    position: relative;
    z-index: 1;

    color: rgba(255, 255, 255, 0.86);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

/* =====================================================
   PRINCIPLES PANEL
   ===================================================== */

.re8-about__principles {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-height: 0;
    padding: 12px 30px;

    border: 1px solid var(--re8-border);
    border-radius: 28px;

    background-color: var(--re8-soft);

    box-shadow: 0 18px 45px -32px rgba(23, 20, 23, 0.18);
}

.re8-about__principle {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    align-items: start;

    padding: 16px 0;

    border-bottom: 1px solid var(--re8-border);
}

.re8-about__principle:last-child {
    border-bottom: 0;
}

/* Primary circular icon */
.re8-about__principle-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border-radius: 50%;

    color: var(--re8-white);
    background-color: var(--re8-primary);
}

.re8-about__principle-mark svg {
    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.re8-about__principle-content {
    min-width: 0;
}

.re8-about__principle h3 {
    margin-bottom: 4px;

    color: var(--re8-black);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
}

.re8-about__principle p {
    color: var(--re8-text);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.55;
}

/* =====================================================
   TABLET
   Padding: 50px 30px 0px 30px
   ===================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

    .re8-about__inner {
        padding: 50px 30px 0px 30px;
    }

    .re8-about__stage {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr);
        gap: 18px;
        min-height: 520px;
    }

    .re8-about__visual,
    .re8-about__visual img {
        min-height: 520px;
    }

    .re8-about__content {
        min-height: 520px;
        gap: 18px;
    }

    .re8-about__statement {
        padding: 28px;
    }

    .re8-about__principles {
        padding: 10px 24px;
    }
}

/* Stack layout before it becomes too narrow */
@media (max-width: 900px) {

    .re8-about__stage {
        grid-template-columns: 1fr;
        max-width: 620px;
    }

    .re8-about__visual,
    .re8-about__visual img {
        min-height: 420px;
    }

    .re8-about__content {
        min-height: auto;
        grid-template-rows: auto auto;
    }

    .re8-about__statement {
        min-height: 280px;
    }
}

/* =====================================================
   MOBILE
   Padding: 30px 10px 0px 10px
   ===================================================== */

@media (max-width: 767px) {

    .re8-about__inner {
        padding: 30px 10px 0px 10px;
    }

    .re8-about__intro {
        margin-bottom: 30px;
    }

    .re8-about__subheading {
        font-size: 25px;
    }

    .re8-about__title {
        font-size: 40px;
        line-height: 1.08;
    }

    .re8-about__stage {
        gap: 16px;
    }

    .re8-about__visual,
    .re8-about__visual img {
        min-height: 340px;
    }

    .re8-about__visual {
        border-radius: 22px;
    }

    .re8-about__image-caption {
        right: 22px;
        bottom: 22px;
        left: 22px;
    }

    .re8-about__content {
        gap: 16px;
    }

    .re8-about__statement {
        min-height: auto;
        padding: 28px 24px;
        border-radius: 22px;
    }

    .re8-about__principles {
        padding: 8px 20px;
        border-radius: 22px;
    }

    .re8-about__principle {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 12px;
        padding: 18px 0;
    }

    .re8-about__principle-mark {
        width: 36px;
        height: 36px;
    }
}

/* Accessibility: reduce animations */
@media (prefers-reduced-motion: reduce) {

    .re8-about *,
    .re8-about *::before,
    .re8-about *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }

    .re8-about__visual:hover img {
        transform: none;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9a27726 *//* =====================================================
   PREMIUM FEATURED PROPERTIES — GALLERY SELECTOR
   Updated: Fixed spacing + Button style for View Property
   ===================================================== */

@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400&family=Figtree:wght@600;700&display=swap");

#re-property-gallery,
#re-property-gallery *,
#re-property-gallery *::before,
#re-property-gallery *::after {
    box-sizing: border-box;
}

#re-property-gallery {
    --repg-primary: #8F6779;
    --repg-primary-dark: #755363;
    --repg-black: #171417;
    --repg-text: #4B4347;
    --repg-muted: #70666B;
    --repg-white: #FFFFFF;
    --repg-soft: #F8F5F3;
    --repg-border: rgba(23, 20, 23, 0.12);

    --e-global-color-primary: #8F6779;
    --e-global-color-accent: #8F6779;
    --e-global-color-secondary: #171417;
    --e-global-color-text: #171417;

    position: relative;
    width: 100%;
    overflow: hidden;
    isolation: isolate;
    background: radial-gradient(circle at 90% 20%, rgba(143, 103, 121, 0.08), transparent 28%), #FFFFFF;
    color: var(--repg-black);
    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

#re-property-gallery h2,
#re-property-gallery h3,
#re-property-gallery p {
    margin: 0;
}

#re-property-gallery button {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    margin: 0;
    padding: 0;
    color: inherit;
    background: transparent;
    box-shadow: none;
    font: inherit;
    cursor: pointer;
}

#re-property-gallery a {
    color: inherit;
    text-decoration: none;
}

#re-property-gallery button:focus-visible,
#re-property-gallery a:focus-visible {
    outline: 3px solid rgba(143, 103, 121, 0.42);
    outline-offset: 4px;
}

/* Section container */
.re-property-gallery__inner {
    width: 100%;
    max-width: 1540px;
    margin-inline: auto;
    padding: 80px 50px 0 50px;
}

/* Intro */
.re-property-gallery__intro {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 44px;
    text-align: center;
}

.re-property-gallery__subheading {
    margin-bottom: 14px;
    color: var(--repg-primary);
    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.015em;
}

.re-property-gallery__title {
    margin-bottom: 16px;
    color: var(--repg-black);
    font-family: "Figtree", sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.10;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

.re-property-gallery__intro-text {
    max-width: 760px;
    margin-inline: auto;
    color: var(--repg-text);
    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
}

/* Layout */
.re-property-gallery__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(360px, 1fr);
    align-items: stretch;
    gap: 24px;
    width: 100%;
    max-width: 1240px;
    margin-inline: auto;
}

/* LEFT GALLERY */
.re-property-gallery__gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    min-width: 0;
}

.re-property-gallery__item {
    position: relative;
    display: block;
    width: 100%;
    height: 250px;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 20px;
    background: var(--repg-primary);
    text-align: left;
    box-shadow: 0 16px 40px -26px rgba(23, 20, 23, 0.25);
    transition: transform 250ms ease, border-color 250ms ease, box-shadow 250ms ease;
}

.re-property-gallery__item:hover {
    transform: translateY(-4px);
}

.re-property-gallery__item.is-active {
    border-color: var(--repg-primary);
    box-shadow: 0 18px 45px -20px rgba(143, 103, 121, 0.42), 0 0 0 2px rgba(143, 103, 121, 0.18);
}

.re-property-gallery__item img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1);
    transition: transform 700ms ease, filter 250ms ease;
}

.re-property-gallery__item:hover img,
.re-property-gallery__item.is-active img {
    transform: scale(1.06);
}

.re-property-gallery__image-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(23, 20, 23, 0.06) 10%, rgba(23, 20, 23, 0.16) 48%, rgba(23, 20, 23, 0.82) 100%);
    pointer-events: none;
}

/* Item name only */
.re-property-gallery__item-name {
    position: absolute;
    z-index: 2;
    right: 16px;
    bottom: 16px;
    left: 16px;
    overflow: hidden;
    color: var(--repg-white);
    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.re-property-gallery__active-icon {
    position: absolute;
    z-index: 3;
    top: 16px;
    right: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: var(--repg-primary);
    background: var(--repg-white);
    opacity: 0;
    transform: scale(0.75);
    transition: opacity 220ms ease, transform 220ms ease;
}

.re-property-gallery__item.is-active .re-property-gallery__active-icon {
    opacity: 1;
    transform: scale(1);
}

.re-property-gallery__active-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =====================================================
   RIGHT DETAILS
   ===================================================== */

.re-property-gallery__details {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--repg-border);
    border-radius: 22px;
    color: var(--repg-black);
    background: var(--repg-soft);
    box-shadow: 0 24px 55px -32px rgba(23, 20, 23, 0.20);
    transition: opacity 180ms ease, transform 180ms ease;
}

.re-property-gallery__details.is-switching {
    opacity: 0.45;
    transform: translateY(5px);
}

.re-property-gallery__details-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--repg-border);
}

.re-property-gallery__category {
    color: var(--repg-primary);
    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.re-property-gallery__count {
    color: var(--repg-muted);
    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.35;
}

.re-property-gallery__detail-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 24px 22px 22px;
}

/* === SPACING FIXES === */
.re-property-gallery__property-title {
    margin-bottom: 8px;
    color: var(--repg-black);
    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.018em;
}

.re-property-gallery__location {
    margin-bottom: 18px;          /* Increased space below location */
    color: var(--repg-primary);
    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
}

.re-property-gallery__description {
    margin-bottom: 24px;          /* Increased space below paragraph */
    color: var(--repg-text);
    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
}

.re-property-gallery__specs {
    display: flex;
    flex-direction: column;
    margin-top: auto;
    border-top: 1px solid var(--repg-border);
}

.re-property-gallery__spec {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 11px 0;
    border-bottom: 1px solid var(--repg-border);
}

.re-property-gallery__spec span {
    color: var(--repg-black);
    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
}

.re-property-gallery__spec p {
    color: var(--repg-muted);
    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
    text-align: right;
}

/* =====================================================
   FOOTER + BUTTON STYLE
   ===================================================== */

.re-property-gallery__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px 0;
}

.re-property-gallery__footer p {
    color: var(--repg-text);
    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.45;
}

/* View Property — Now a proper button */
.re-property-gallery__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 10px 18px;
    border-radius: 8px;
    background-color: var(--repg-primary);
    color: var(--repg-white) !important;

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;

    transition: background-color 200ms ease, transform 200ms ease;
}

.re-property-gallery__link:hover {
    background-color: var(--repg-primary-dark);
    transform: translateY(-1px);
}

.re-property-gallery__link svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =====================================================
   TABLET — 50px 30px 0 30px
   ===================================================== */

@media (max-width: 1024px) {
    .re-property-gallery__inner {
        padding: 50px 30px 0 30px;
    }

    .re-property-gallery__layout {
        grid-template-columns: minmax(0, 1.35fr) minmax(300px, 1fr);
        gap: 18px;
    }

    .re-property-gallery__gallery {
        gap: 14px;
    }

    .re-property-gallery__item {
        height: 220px;
    }

    .re-property-gallery__detail-content {
        padding: 20px 18px;
    }
}

/* Stack */
@media (max-width: 880px) {
    .re-property-gallery__layout {
        grid-template-columns: 1fr;
        max-width: 700px;
    }

    .re-property-gallery__details {
        min-height: auto;
    }
}

/* =====================================================
   MOBILE — 30px 10px 0 10px
   ===================================================== */

@media (max-width: 767px) {
    .re-property-gallery__inner {
        padding: 30px 10px 0 10px;
    }

    .re-property-gallery__intro {
        margin-bottom: 30px;
    }

    .re-property-gallery__subheading {
        font-size: 25px;
    }

    .re-property-gallery__title {
        font-size: 40px;
        line-height: 1.1;
    }

    .re-property-gallery__layout {
        gap: 18px;
    }

    .re-property-gallery__gallery {
        gap: 10px;
    }

    .re-property-gallery__item {
        height: 190px;
        border-radius: 16px;
    }

    .re-property-gallery__item-name {
        font-size: 17px;
    }

    .re-property-gallery__details {
        border-radius: 18px;
    }

    .re-property-gallery__details-top {
        padding: 16px 18px;
    }

    .re-property-gallery__detail-content {
        padding: 20px 18px;
    }

    .re-property-gallery__property-title {
        font-size: 25px;
    }

    .re-property-gallery__footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 420px) {
    .re-property-gallery__item {
        height: 165px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #re-property-gallery,
    #re-property-gallery * {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4d674b7 *//* =====================================================
   RE SERVICES — STICKY STACKING DECK
   UPDATED: Mobile chip layout fix
   - First two chips side by side
   - Third chip centered below
   All supporting text minimum 17px

   Desktop: 80px 50px 0 50px
   Tablet:  50px 30px 0 30px
   Mobile:  30px 10px 0 10px
   ===================================================== */

@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400&family=Figtree:wght@600;700&display=swap");

/* =====================================================
   RESET
   ===================================================== */

#re-services-stack,
#re-services-stack *,
#re-services-stack *::before,
#re-services-stack *::after {
    box-sizing: border-box;
}

#re-services-stack {
    --st-prim: #8F6779;
    --st-prim-dark: #755363;
    --st-prim-deep: #523B47;
    --st-black: #171417;
    --st-text-dark: #2E282A;
    --st-text-light: #FFFFFF;
    --st-muted: #000000;
    --st-white: #FFFFFF;
    --st-soft: #F6F1F0;
    --st-border: rgba(23, 20, 23, 0.12);

    /* Elementor colour overrides */
    --e-global-color-primary: #8F6779;
    --e-global-color-accent: #8F6779;
    --e-global-color-secondary: #171417;
    --e-global-color-text: #171417;

    position: relative;
    width: 100%;
    overflow: visible;
    isolation: isolate;

    color: var(--st-black);
    background: var(--st-white);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

#re-services-stack h2,
#re-services-stack h3,
#re-services-stack p,
#re-services-stack ul,
#re-services-stack li,
#re-services-stack figure {
    margin: 0;
    padding: 0;
}

#re-services-stack ul {
    list-style: none;
}

#re-services-stack a {
    color: inherit;
    text-decoration: none;
}

#re-services-stack a:focus-visible {
    outline: 3px solid rgba(143, 103, 121, 0.50);
    outline-offset: 4px;
}

/* =====================================================
   CONTAINER
   ===================================================== */

.re-stack__inner {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
    padding: 80px 50px 0 50px;
}

/* =====================================================
   CENTERED INTRO
   ===================================================== */

.re-stack__intro {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 54px;
    text-align: center;
}

.re-stack__sub {
    margin: 0 0 14px !important;

    color: var(--st-prim);

    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.015em;
}

.re-stack__title {
    margin: 0 0 16px !important;

    color: var(--st-black);

    font-family: "Figtree", sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.035em;

    text-wrap: balance;
}

.re-stack__text {
    margin: 0 !important;

    color: var(--st-text-dark);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.75;
}

/* =====================================================
   STICKY DECK
   ===================================================== */

.re-stack__deck {
    display: flex;
    flex-direction: column;
    gap: 28px;

    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
}

.re-stack__card {
    position: sticky;
    top: calc(96px + (var(--i) * 18px));

    width: 100%;
    overflow: hidden;

    border-radius: 26px;

    transform-origin: top center;
    will-change: transform, filter;

    box-shadow:
        0 28px 60px -28px rgba(23, 20, 23, 0.32);
}

/* =====================================================
   CARD THEMES
   ===================================================== */

.re-stack__card--primary {
    color: var(--st-white);

    background:
        linear-gradient(
            135deg,
            var(--st-prim) 0%,
            var(--st-prim-dark) 100%
        );
}

.re-stack__card--white {
    color: var(--st-black);
    background: var(--st-white);
    border: 1px solid var(--st-border);
}

.re-stack__card--soft {
    color: var(--st-black);
    background: var(--st-soft);
    border: 1px solid var(--st-border);
}

.re-stack__card--dark {
    color: var(--st-white);

    background:
        linear-gradient(
            135deg,
            #2D2328 0%,
            var(--st-black) 100%
        );
}

/* =====================================================
   CARD GRID
   ===================================================== */

.re-stack__card-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    align-items: stretch;
    gap: 32px;

    min-height: 330px;
    padding: 38px 42px;
}

/* =====================================================
   CARD MAIN CONTENT
   ===================================================== */

.re-stack__card-main {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 0;
}

/* =====================================================
   SOLID ICON
   ===================================================== */

.re-stack__card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 56px;
    height: 56px;
    min-width: 56px;
    min-height: 56px;

    margin: 0 0 22px !important;

    border-radius: 16px;

    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.08);
}

.re-stack__card--primary .re-stack__card-icon,
.re-stack__card--dark .re-stack__card-icon {
    color: var(--st-prim);
    background: var(--st-white);
}

.re-stack__card--white .re-stack__card-icon,
.re-stack__card--soft .re-stack__card-icon {
    color: var(--st-white);
    background: var(--st-prim);
}

.re-stack__card-icon svg {
    display: block;

    width: 27px;
    height: 27px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =====================================================
   CARD LABEL
   ===================================================== */

.re-stack__card-label {
    margin: 0 0 10px !important;

    color: var(--st-prim);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.re-stack__card--primary .re-stack__card-label,
.re-stack__card--dark .re-stack__card-label {
    color: rgba(255, 255, 255, 0.88);
}

/* =====================================================
   CARD HEADING
   ===================================================== */

.re-stack__card-main h3 {
    margin: 0 0 13px !important;

    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.018em;
}

.re-stack__card--primary .re-stack__card-main h3,
.re-stack__card--dark .re-stack__card-main h3 {
    color: var(--st-white);
}

.re-stack__card--white .re-stack__card-main h3,
.re-stack__card--soft .re-stack__card-main h3 {
    color: var(--st-black);
}

/* =====================================================
   CARD PARAGRAPH
   ===================================================== */

.re-stack__card-main > p:not(.re-stack__card-label) {
    max-width: 560px;
    margin: 0 0 26px !important;

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.75;
}

.re-stack__card--primary
.re-stack__card-main > p:not(.re-stack__card-label),
.re-stack__card--dark
.re-stack__card-main > p:not(.re-stack__card-label) {
    color: var(--st-white);
}

.re-stack__card--white
.re-stack__card-main > p:not(.re-stack__card-label),
.re-stack__card--soft
.re-stack__card-main > p:not(.re-stack__card-label) {
    color: var(--st-text-dark);
}

/* =====================================================
   CHIP GROUP
   ===================================================== */

.re-stack__chips {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px !important;

    width: 100%;
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

/* =====================================================
   CHIP PILLS
   ===================================================== */

#re-services-stack .re-stack__chips > li,
#re-services-stack .re-stack__chips li {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: max-content !important;
    min-width: max-content !important;
    max-width: 100% !important;
    min-height: 52px !important;
    height: auto !important;

    margin: 0 !important;

    padding: 13px 30px !important;

    border-radius: 999px !important;

    font-family: "Figtree", sans-serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;

    text-align: center !important;
    white-space: nowrap !important;
    vertical-align: middle !important;

    overflow: visible !important;
}

/* Remove accidental spacing from nested elements */
#re-services-stack .re-stack__chips > li *,
#re-services-stack .re-stack__chips li span {
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit !important;
}

/* Dark card chips */

#re-services-stack
.re-stack__card--primary
.re-stack__chips > li,

#re-services-stack
.re-stack__card--dark
.re-stack__chips > li {
    color: var(--st-white) !important;

    background: rgba(255, 255, 255, 0.16) !important;

    border: 1px solid rgba(255, 255, 255, 0.42) !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

/* Light card chips */

#re-services-stack
.re-stack__card--white
.re-stack__chips > li,

#re-services-stack
.re-stack__card--soft
.re-stack__chips > li {
    color: var(--st-prim) !important;

    background: rgba(143, 103, 121, 0.10) !important;

    border: 1px solid rgba(143, 103, 121, 0.30) !important;
}

/* Chip hover */

#re-services-stack .re-stack__chips > li:hover {
    transform: translateY(-2px);

    transition:
        transform 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease;
}

#re-services-stack
.re-stack__card--primary
.re-stack__chips > li:hover,

#re-services-stack
.re-stack__card--dark
.re-stack__chips > li:hover {
    background: rgba(255, 255, 255, 0.24) !important;
    border-color: rgba(255, 255, 255, 0.65) !important;
}

#re-services-stack
.re-stack__card--white
.re-stack__chips > li:hover,

#re-services-stack
.re-stack__card--soft
.re-stack__chips > li:hover {
    background: rgba(143, 103, 121, 0.17) !important;
    border-color: var(--st-prim) !important;
}

/* =====================================================
   RIGHT IMAGE
   ===================================================== */

.re-stack__card-media {
    position: relative;

    width: 100%;
    height: 100%;
    min-height: 250px;
    overflow: hidden;

    margin: 0 !important;

    border-radius: 20px;
    background: var(--st-prim-dark);

    box-shadow:
        0 16px 36px -18px rgba(23, 20, 23, 0.35);
}

.re-stack__card-media::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(23, 20, 23, 0.02),
            rgba(23, 20, 23, 0.24)
        );

    pointer-events: none;
}

.re-stack__card-media img {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transform: scale(1);

    transition:
        transform 700ms ease,
        filter 300ms ease;
}

.re-stack__card:hover .re-stack__card-media img {
    transform: scale(1.06);
    filter: saturate(1.06);
}

/* =====================================================
   BOTTOM NOTE
   ===================================================== */

.re-stack__note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    width: 100%;
    max-width: 1180px;
    margin: 42px auto 0 !important;
    padding-bottom: 60px;

    text-align: center;
}

.re-stack__note-dot {
    display: block;

    width: 10px;
    height: 10px;
    flex: 0 0 10px;

    border-radius: 50%;
    background: var(--st-prim);

    box-shadow:
        0 0 0 6px rgba(143, 103, 121, 0.13);
}

.re-stack__note p {
    margin: 0 !important;

    color: var(--st-muted);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.6;
}

/* =====================================================
   TABLET
   ===================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
    .re-stack__inner {
        padding: 50px 30px 0 30px;
    }

    .re-stack__card {
        top: calc(80px + (var(--i) * 14px));
    }

    .re-stack__card-grid {
        grid-template-columns: minmax(0, 1fr) 260px;
        gap: 24px;

        min-height: 300px;
        padding: 32px 30px;
    }

    .re-stack__card-media {
        min-height: 220px;
    }

    #re-services-stack .re-stack__chips {
        gap: 12px !important;
    }

    #re-services-stack .re-stack__chips > li,
    #re-services-stack .re-stack__chips li {
        min-height: 52px !important;
        padding: 13px 26px !important;
        font-size: 17px !important;
    }
}

/* =====================================================
   SMALL TABLET
   ===================================================== */

@media (max-width: 900px) {
    .re-stack__deck {
        max-width: 640px;
    }

    .re-stack__card {
        position: relative;
        top: auto !important;
    }

    .re-stack__card-grid {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 32px 26px;
    }

    .re-stack__card-media {
        width: 100%;
        height: 240px;
        min-height: 240px;

        order: -1;
    }
}

/* =====================================================
   MOBILE — UPDATED CHIP LAYOUT
   First two chips side by side, third centered below
   ===================================================== */

@media (max-width: 767px) {
    .re-stack__inner {
        padding: 30px 10px 0 10px;
    }

    .re-stack__intro {
        margin-bottom: 34px;
    }

    .re-stack__sub {
        font-size: 25px;
    }

    .re-stack__title {
        font-size: 40px;
        line-height: 1.08;
    }

    .re-stack__deck {
        gap: 16px;
    }

    .re-stack__card {
        border-radius: 20px;
    }

    .re-stack__card-grid {
        gap: 22px;
        padding: 26px 20px;
    }

    .re-stack__card-icon {
        width: 50px;
        height: 50px;
        min-width: 50px;
        min-height: 50px;
    }

    .re-stack__card-icon svg {
        width: 24px;
        height: 24px;
    }

    .re-stack__card-main h3 {
        font-size: 25px;
    }

    .re-stack__card-media {
        height: 220px;
        min-height: 220px;
        border-radius: 16px;
    }

    /* Mobile chip layout: 2+1 grid */
    #re-services-stack .re-stack__chips {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 10px !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        align-items: center;
        justify-items: center;
    }

    /* First two chips: side by side */
    #re-services-stack .re-stack__chips > li:nth-child(1),
    #re-services-stack .re-stack__chips > li:nth-child(2) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 48px !important;
        padding: 12px 16px !important;
        font-size: 16px !important;
        white-space: normal !important;
        text-align: center !important;
        justify-self: center !important;
    }

    /* Third chip: centered below, full width */
    #re-services-stack .re-stack__chips > li:nth-child(3) {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 48px !important;
        padding: 12px 24px !important;
        font-size: 16px !important;
        white-space: normal !important;
        text-align: center !important;
    }

    .re-stack__note {
        align-items: flex-start;
        justify-content: flex-start;

        margin-top: 30px !important;
        padding-bottom: 40px;

        text-align: left;
    }

    .re-stack__note-dot {
        margin-top: 7px;
    }
}

/* =====================================================
   SMALL MOBILE
   ===================================================== */

@media (max-width: 420px) {
    .re-stack__card-grid {
        padding: 24px 18px;
    }

    #re-services-stack .re-stack__chips > li:nth-child(1),
    #re-services-stack .re-stack__chips > li:nth-child(2) {
        min-height: 46px !important;
        padding: 11px 14px !important;
        font-size: 15px !important;
    }

    #re-services-stack .re-stack__chips > li:nth-child(3) {
        min-height: 46px !important;
        padding: 11px 20px !important;
        font-size: 15px !important;
    }
}

/* =====================================================
   REDUCED MOTION
   ===================================================== */

@media (prefers-reduced-motion: reduce) {
    #re-services-stack *,
    #re-services-stack *::before,
    #re-services-stack *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    #re-services-stack .re-stack__card,
    #re-services-stack .re-stack__card-media img,
    #re-services-stack .re-stack__chips > li {
        transform: none !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c4498d0 *//* =====================================================
   TEAM 04 — EXPANDING PORTRAIT PANELS
   Image height: 380px
   Open state: white name + primary shade behind text
   White bg | Black text | Accent #8F6779
   ===================================================== */

#re-team-04,
#re-team-04 *,
#re-team-04 *::before,
#re-team-04 *::after {
    box-sizing: border-box;
}

#re-team-04 {
    --p: #8F6779;
    --p-dark: #755363;
    --black: #171417;
    --text: #4B4347;

    --e-global-color-primary: #8F6779;
    --e-global-color-accent: #8F6779;
    --e-global-color-secondary: #171417;
    --e-global-color-text: #171417;

    width: 100%;
    overflow: hidden;
    isolation: isolate;

    background: #FFFFFF;
    color: var(--black);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

#re-team-04 h2,
#re-team-04 h3,
#re-team-04 p {
    margin: 0;
}

#re-team-04 button {
    appearance: none;
    -webkit-appearance: none;

    border: 0;
    margin: 0;
    padding: 0;

    color: inherit;
    background: transparent;
    box-shadow: none;

    font: inherit;
    cursor: pointer;
}

#re-team-04 button:hover,
#re-team-04 button:focus,
#re-team-04 button:active {
    color: inherit;
    background: transparent;
}

/* =====================================================
   CONTAINER
   ===================================================== */

.re-team-04__inner {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;

    /* Desktop padding */
    padding: 0px 50px 0 50px;
}

/* =====================================================
   CENTERED HEADER
   ===================================================== */

.re-team-04__header {
    width: 100%;
    max-width: 760px;
    margin: 0 auto 44px;
    text-align: center;
}

.re-team-04__sub {
    margin-bottom: 14px;

    color: var(--p);

    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.015em;
}

.re-team-04__title {
    margin-bottom: 16px;

    color: var(--black);

    font-family: "Figtree", sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.035em;

    text-wrap: balance;
}

.re-team-04__text {
    max-width: 700px;
    margin-inline: auto;

    color: var(--text);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
}

/* =====================================================
   PANELS ROW
   ===================================================== */

.re-team-04__panels {
    display: flex;
    gap: 14px;

    width: 100%;
    max-width: 1240px;
    margin-inline: auto;
}

.re-team-04__panel {
    position: relative;
    flex: 1 1 0;

    /* Image height */
    height: 400px;
    min-height: 400px;

    overflow: hidden;
    border-radius: 24px;
    background: var(--p);
    cursor: pointer;

    box-shadow:
        0 24px 55px -30px rgba(23, 20, 23, 0.32);

    transition:
        flex-grow 600ms cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 400ms ease;
}

.re-team-04__panel:hover,
.re-team-04__panel.is-open {
    flex-grow: 2.8;
    box-shadow:
        0 30px 66px -32px rgba(23, 20, 23, 0.40);
}

.re-team-04__panel:focus-visible {
    outline: 3px solid var(--p);
    outline-offset: 4px;
}

/* Image */

.re-team-04__panel img {
    position: absolute;
    inset: 0;
    z-index: 0;

    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center top;

    transition: transform 800ms ease;
}

.re-team-04__panel:hover img,
.re-team-04__panel.is-open img {
    transform: scale(1.05);
}

/* =====================================================
   SHADES
   Base dark shade + primary shade on open
   ===================================================== */

.re-team-04__shade {
    position: absolute;
    inset: 0;
    z-index: 1;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(23, 20, 23, 0.05) 38%,
            rgba(23, 20, 23, 0.78) 100%
        );

    transition: opacity 400ms ease;
}

/* Primary colour shade appears behind the name and designation */
.re-team-04__shade::after {
    content: "";

    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    height: 62%;

    background:
        linear-gradient(
            180deg,
            rgba(143, 103, 121, 0) 0%,
            rgba(143, 103, 121, 0.55) 45%,
            rgba(117, 83, 99, 0.92) 100%
        );

    opacity: 0;
    transform: translateY(14px);

    transition:
        opacity 420ms ease,
        transform 420ms ease;

    pointer-events: none;
}

.re-team-04__panel:hover .re-team-04__shade::after,
.re-team-04__panel.is-open .re-team-04__shade::after {
    opacity: 1;
    transform: translateY(0);
}

/* =====================================================
   INDEX NUMBER
   ===================================================== */

.re-team-04__index {
    position: absolute;
    z-index: 3;
    top: 20px;
    left: 22px;

    color: rgba(255, 255, 255, 0.88);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}

/* =====================================================
   VERTICAL LABEL (CLOSED STATE)
   ===================================================== */

.re-team-04__vlabel {
    position: absolute;
    z-index: 3;
    left: 20px;
    bottom: 26px;

    writing-mode: vertical-rl;
    transform: rotate(180deg);

    color: #FFFFFF;

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.06em;

    text-shadow: 0 2px 10px rgba(23, 20, 23, 0.35);

    transition: opacity 300ms ease;
}

.re-team-04__panel:hover .re-team-04__vlabel,
.re-team-04__panel.is-open .re-team-04__vlabel {
    opacity: 0;
}

/* =====================================================
   INFO (OPEN STATE)
   Name in white above the primary shade
   ===================================================== */

.re-team-04__info {
    position: absolute;
    z-index: 3;
    right: 24px;
    bottom: 22px;
    left: 24px;

    color: #FFFFFF;

    opacity: 0;
    transform: translateY(16px);

    transition:
        opacity 400ms ease 120ms,
        transform 400ms ease 120ms;
}

.re-team-04__panel:hover .re-team-04__info,
.re-team-04__panel.is-open .re-team-04__info {
    opacity: 1;
    transform: translateY(0);
}

.re-team-04__info h3 {
    margin-bottom: 5px;

    color: #FFFFFF;

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}

.re-team-04__role {
    margin-bottom: 6px;

    color: rgba(255, 255, 255, 0.94);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.45;
}

.re-team-04__spec {
    color: rgba(255, 255, 255, 0.82);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.45;
}

/* =====================================================
   TABLET — 50px 30px 0 30px
   ===================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
    .re-team-04__inner {
        padding: 0px 30px 0 30px;
    }

    .re-team-04__header {
        margin-bottom: 38px;
    }

    .re-team-04__panels {
        gap: 12px;
    }

    .re-team-04__panel {
        height: 380px;
        min-height: 380px;
    }

    .re-team-04__panel:hover,
    .re-team-04__panel.is-open {
        flex-grow: 2.4;
    }
}

/* =====================================================
   MOBILE — 30px 10px 0 10px
   Stacked, info always visible
   ===================================================== */

@media (max-width: 767px) {
    .re-team-04__inner {
        padding: 0px 10px 0 10px;
    }

    .re-team-04__header {
        margin-bottom: 30px;
    }

    .re-team-04__sub {
        font-size: 25px;
    }

    .re-team-04__title {
        font-size: 40px;
    }

    .re-team-04__panels {
        flex-direction: column;
        gap: 12px;
        max-width: 560px;
    }

    .re-team-04__panel,
    .re-team-04__panel:hover,
    .re-team-04__panel.is-open {
        flex: none;
        height: 380px;
        min-height: 380px;
        border-radius: 20px;
    }

    .re-team-04__vlabel {
        display: none;
    }

    /* Primary shade always visible on mobile */
    .re-team-04__shade::after,
    .re-team-04__panel:hover .re-team-04__shade::after,
    .re-team-04__panel.is-open .re-team-04__shade::after {
        opacity: 1;
        transform: translateY(0);
        height: 56%;
    }

    .re-team-04__info,
    .re-team-04__panel:hover .re-team-04__info,
    .re-team-04__panel.is-open .re-team-04__info {
        opacity: 1;
        transform: none;
    }

    .re-team-04__index {
        top: 18px;
        left: 20px;
    }

    .re-team-04__info {
        right: 20px;
        bottom: 20px;
        left: 20px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3e8338c *//* =====================================================
   RE7 TESTIMONIALS — PREMIUM SIDE BY SIDE SHOWCASE
   Background image changes with every review set
   Primary gradient overlay
   All supporting text = 17px
   ===================================================== */

.re7-testi,
.re7-testi * {
    box-sizing: border-box;
}

.re7-testi {
    --re7-primary: #8F6779;
    --re7-primary-dark: #755363;
    --re7-black: #171417;
    --re7-text: #4B4347;
    --re7-muted: #70666B;
    --re7-white: #FFFFFF;
    --re7-border: rgba(255, 255, 255, 0.18);

    --e-global-color-primary: #8F6779;
    --e-global-color-accent: #8F6779;
    --e-global-color-secondary: #171417;
    --e-global-color-text: #FFFFFF;

    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;

    color: var(--re7-white);
    background-color: var(--re7-primary-dark);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

.re7-testi h2,
.re7-testi h3,
.re7-testi p,
.re7-testi figure,
.re7-testi article {
    margin: 0;
}

.re7-testi button {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    margin: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

/* =====================================================
   BACKGROUND IMAGES
   ===================================================== */

.re7-testi__bg {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.re7-testi__bg-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 900ms ease;
}

.re7-testi__bg-slide.is-active {
    opacity: 1;
}

.re7-testi__bg-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;

    transform: scale(1.03);
    transition: transform 7200ms linear;
}

.re7-testi__bg-slide.is-active img {
    transform: scale(1.09);
}

/* Primary gradient overlay */
.re7-testi__overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;

    background:
        linear-gradient(
            135deg,
            rgba(143, 103, 121, 0.92) 0%,
            rgba(130, 92, 108, 0.86) 45%,
            rgba(117, 83, 99, 0.88) 72%,
            rgba(49, 35, 42, 0.82) 100%
        );
}

/* =====================================================
   INNER LAYOUT
   ===================================================== */

.re7-testi__inner {
    position: relative;
    z-index: 1;

    width: 100%;
    max-width: 1440px;
    margin-inline: auto;

    padding: 50px 50px 40px 50px;
}

/* Centered intro */
.re7-testi__intro {
    width: 100%;
    max-width: 760px;
    margin: 0 auto 46px;
    text-align: center;
}

.re7-testi__subheading {
    margin-bottom: 14px;

    color: rgba(255, 255, 255, 0.92);

    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 2.3;
}

.re7-testi__title {
    margin-bottom: 16px;

    color: var(--re7-white);

    font-family: "Figtree", sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.re7-testi__intro-text {
    color: rgba(255, 255, 255, 1);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.9;
}

/* =====================================================
   MAIN STAGE
   ===================================================== */

.re7-testi__stage {
    width: 100%;
    max-width: 1240px;
    margin-inline: auto;
    padding: 26px;

    border: 1px solid var(--re7-border);
    border-radius: 30px;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.10),
            rgba(255, 255, 255, 0.06)
        );

    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.20);

    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.re7-testi__stage-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    margin-bottom: 22px;
}

/* Badge */
.re7-testi__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    min-height: 44px;
    padding: 8px 16px;

    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 100px;

    background-color: rgba(255, 255, 255, 0.08);

    color: var(--re7-white);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1;
}

.re7-testi__badge-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: var(--re7-white);

    box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.16);
}

/* Counter */
.re7-testi__counter {
    display: flex;
    align-items: center;
    gap: 12px;

    color: var(--re7-white);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
}

.re7-testi__counter-line {
    width: 26px;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.45);
}

/* =====================================================
   SLIDES
   ===================================================== */

.re7-testi__slides {
    display: grid;
    grid-template-areas: "stack";
}

.re7-testi__slide {
    grid-area: stack;

    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);

    transition:
        opacity 550ms ease,
        transform 550ms ease,
        visibility 550ms;
}

.re7-testi__slide.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Cards row */
.re7-testi__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
}

/* Card */
.re7-testi__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;

    padding: 28px;
    border-radius: 24px;

    background-color: rgba(255, 255, 255, 0.96);
    color: var(--re7-black);

    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

/* Top row */
.re7-testi__card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;

    margin-bottom: 22px;
}

.re7-testi__client {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.re7-testi__client img {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;

    border-radius: 50%;
    object-fit: cover;
}

.re7-testi__client-text {
    min-width: 0;
}

.re7-testi__client-text h3 {
    margin-bottom: 4px;

    color: var(--re7-black);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}

.re7-testi__client-text p {
    color: var(--re7-muted);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.3;
}

.re7-testi__stars {
    color: var(--re7-primary);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 2px;
    white-space: nowrap;
}

/* Quote */
.re7-testi__quote {
    color: var(--re7-black);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.75;

    margin-bottom: 22px;
}

/* Property line */
.re7-testi__property {
    margin-top: auto;
    padding-top: 18px;

    border-top: 1px solid rgba(23, 20, 23, 0.10);

    color: var(--re7-text);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
}

/* =====================================================
   CONTROLS
   ===================================================== */

.re7-testi__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;

    margin-top: 24px;
}

/* Arrows */
.re7-testi__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 50%;

    color: var(--re7-white);
    background-color: rgba(255, 255, 255, 0.08);

    transition:
        background-color 220ms ease,
        border-color 220ms ease,
        color 220ms ease,
        transform 220ms ease;
}

.re7-testi__arrow:hover {
    background-color: var(--re7-white);
    border-color: var(--re7-white);
    color: var(--re7-primary);
    transform: translateY(-2px);
}

.re7-testi__arrow svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.re7-testi__arrow:focus-visible,
.re7-testi__dot:focus-visible {
    outline: 3px solid var(--re7-white);
    outline-offset: 3px;
}

/* Dots */
.re7-testi__dots {
    display: flex;
    align-items: center;
    gap: 10px;
}

.re7-testi__dot {
    width: 10px;
    height: 10px;
    padding: 0;

    border-radius: 100px;
    background-color: rgba(255, 255, 255, 0.45);

    transition:
        width 280ms ease,
        background-color 280ms ease;
}

.re7-testi__dot.is-active {
    width: 30px;
    background-color: var(--re7-white);
}

/* =====================================================
   TABLET
   ===================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

    .re7-testi__inner {
        padding: 30px 30px 40px 30px;
    }

    .re7-testi__stage {
        padding: 22px;
    }

    .re7-testi__cards {
        gap: 16px;
    }

    .re7-testi__card {
        padding: 24px;
    }
}

/* Stack cards before they get too tight */
@media (max-width: 900px) {

    .re7-testi__cards {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 767px) {

    .re7-testi__inner {
        padding: 30px 10px 30px 10px;
    }

    .re7-testi__intro {
        margin-bottom: 30px;
    }

    .re7-testi__title {
        font-size: 40px;
    }

    .re7-testi__stage {
        padding: 18px;
        border-radius: 22px;
    }

    .re7-testi__stage-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .re7-testi__card {
        padding: 22px;
        border-radius: 20px;
    }

    .re7-testi__card-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .re7-testi__controls {
        gap: 14px;
    }

    .re7-testi__arrow {
        width: 42px;
        height: 42px;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {

    .re7-testi *,
    .re7-testi *::before,
    .re7-testi *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }

    .re7-testi__bg-slide img,
    .re7-testi__bg-slide.is-active img {
        transform: scale(1.03);
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a87b629 *//* =====================================================
   CTA — LEFT IMAGE SLIDER + RIGHT GRADIENT PANEL
   Desktop: 80px 50px 0px 50px
   Tablet:  50px 30px 0px 30px
   Mobile:  30px 10px 0px 10px
   ===================================================== */

@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400&family=Figtree:wght@600;700&display=swap");

#re-cta-slider,
#re-cta-slider *,
#re-cta-slider *::before,
#re-cta-slider *::after {
    box-sizing: border-box;
}

#re-cta-slider {
    --cta-primary: #8F6779;
    --cta-primary-dark: #755363;
    --cta-primary-deep: #523B47;
    --cta-black: #171417;
    --cta-white: #FFFFFF;
    --cta-border: rgba(255, 255, 255, 0.20);

    --e-global-color-primary: #8F6779;
    --e-global-color-accent: #8F6779;
    --e-global-color-secondary: #171417;
    --e-global-color-text: #171417;

    width: 100%;
    overflow: hidden;

    color: var(--cta-black);
    background-color: #FFFFFF;

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

#re-cta-slider h2,
#re-cta-slider p,
#re-cta-slider figure {
    margin: 0;
}

#re-cta-slider button {
    appearance: none;
    -webkit-appearance: none;

    margin: 0;
    padding: 0;

    border: 0;
    background: transparent;
    color: inherit;

    font: inherit;
    cursor: pointer;
}

#re-cta-slider a {
    text-decoration: none;
}

#re-cta-slider button:focus-visible,
#re-cta-slider a:focus-visible {
    outline: 3px solid #FFFFFF;
    outline-offset: 4px;
}

/* =====================================================
   SECTION CONTAINER
   ===================================================== */

.re-cta-slider__inner {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;

    padding: 80px 50px 0 50px;
}

/* =====================================================
   MAIN FRAME
   Equal height columns
   ===================================================== */

.re-cta-slider__frame {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;

    width: 100%;
    max-width: 1240px;
    min-height: 560px;
    margin-inline: auto;

    overflow: hidden;

    border-radius: 30px;
    background: var(--cta-primary-dark);

    box-shadow: 0 30px 70px -30px rgba(23, 20, 23, 0.34);
}

/* =====================================================
   LEFT IMAGE SLIDER
   ===================================================== */

.re-cta-slider__visual {
    position: relative;
    min-width: 0;
    min-height: 560px;
    overflow: hidden;

    background-color: var(--cta-black);
}

.re-cta-slider__slides {
    position: absolute;
    inset: 0;
}

.re-cta-slider__slide {
    position: absolute;
    inset: 0;

    opacity: 0;
    visibility: hidden;

    transform: scale(1.03);

    transition:
        opacity 700ms ease,
        visibility 700ms ease,
        transform 1000ms ease;
}

.re-cta-slider__slide.is-active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

.re-cta-slider__slide img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}

/* Dark shade ensures white caption visibility */
.re-cta-slider__slide::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(23, 20, 23, 0.08) 35%,
            rgba(23, 20, 23, 0.76) 100%
        );

    pointer-events: none;
}

/* Caption */
.re-cta-slider__caption {
    position: absolute;
    z-index: 2;

    right: 30px;
    bottom: 32px;
    left: 30px;
}

.re-cta-slider__caption p {
    max-width: 370px;

    color: var(--cta-white);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
}

/* Slider controls */
.re-cta-slider__controls {
    position: absolute;
    z-index: 3;

    top: 28px;
    right: 28px;

    display: flex;
    align-items: center;
    gap: 12px;
}

.re-cta-slider__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    border: 1px solid rgba(255, 255, 255, 0.42) !important;
    border-radius: 50% !important;

    color: var(--cta-white) !important;
    background-color: rgba(23, 20, 23, 0.42) !important;

    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);

    transition:
        background-color 220ms ease,
        color 220ms ease,
        transform 220ms ease;
}

.re-cta-slider__arrow:hover {
    color: var(--cta-primary-dark) !important;
    background-color: var(--cta-white) !important;
    transform: translateY(-2px);
}

.re-cta-slider__arrow svg {
    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.re-cta-slider__dots {
    display: flex;
    align-items: center;
    gap: 8px;
}

.re-cta-slider__dot {
    width: 10px;
    height: 10px;

    border-radius: 100px !important;

    background-color: rgba(255, 255, 255, 0.52) !important;

    transition:
        width 250ms ease,
        background-color 250ms ease;
}

.re-cta-slider__dot.is-active {
    width: 28px;
    background-color: var(--cta-white) !important;
}

/* =====================================================
   RIGHT GRADIENT CONTENT
   ===================================================== */

.re-cta-slider__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 0;
    min-height: 560px;

    padding: 48px 46px;

    color: var(--cta-white);

    background:
        radial-gradient(
            circle at 92% 8%,
            rgba(255, 255, 255, 0.18),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--cta-primary) 0%,
            var(--cta-primary-dark) 58%,
            var(--cta-primary-deep) 100%
        );
}

/* Subheading: 25px */
.re-cta-slider__subheading {
    margin-bottom: 16px !important;

    color: rgba(255, 255, 255, 0.90);

    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.3;
}

/* Main heading: 40px */
.re-cta-slider__title {
    max-width: 500px;
    margin-bottom: 18px !important;

    color: var(--cta-white);

    font-family: "Figtree", sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.035em;

    text-wrap: balance;
}

/* Standard text: 17px */
.re-cta-slider__text {
    max-width: 510px;
    margin-bottom: 30px !important;

    color: rgba(255, 255, 255, 0.88);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
}

/* Assurance list */
.re-cta-slider__highlights {
    display: flex;
    flex-direction: column;
    gap: 14px;

    margin-bottom: 30px;
    padding-top: 24px;

    border-top: 1px solid var(--cta-border);
}

.re-cta-slider__highlight {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
}

.re-cta-slider__highlight-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 50%;

    color: var(--cta-white);
    background: rgba(255, 255, 255, 0.12);
}

.re-cta-slider__highlight-icon svg {
    width: 20px;
    height: 20px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.re-cta-slider__highlight p {
    color: rgba(255, 255, 255, 0.91);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
}

/* CTA Button */
#re-cta-slider .re-cta-slider__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    width: 100%;
    max-width: 420px;
    min-height: 58px;

    padding: 15px 22px;

    border: 1px solid var(--cta-white);
    border-radius: 14px;

    color: var(--cta-primary-dark);
    background-color: var(--cta-white);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;

    box-shadow: 0 16px 34px -18px rgba(0, 0, 0, 0.34);

    transition:
        transform 220ms ease,
        color 220ms ease,
        background-color 220ms ease,
        box-shadow 220ms ease;
}

#re-cta-slider .re-cta-slider__button:hover {
    color: var(--cta-white);
    background-color: var(--cta-primary-deep);
    border-color: var(--cta-primary-deep);

    transform: translateY(-3px);

    box-shadow: 0 22px 42px -18px rgba(0, 0, 0, 0.46);
}

.re-cta-slider__button svg {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 220ms ease;
}

.re-cta-slider__button:hover svg {
    transform: translateX(4px);
}

.re-cta-slider__note {
    margin-top: 14px !important;

    color: rgba(255, 255, 255, 0.76);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
}

/* =====================================================
   TABLET
   ===================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

    .re-cta-slider__inner {
        padding: 50px 30px 0 30px;
    }

    .re-cta-slider__frame,
    .re-cta-slider__visual,
    .re-cta-slider__content {
        min-height: 540px;
    }

    .re-cta-slider__content {
        padding: 38px 32px;
    }

    .re-cta-slider__controls {
        top: 20px;
        right: 20px;
    }

    .re-cta-slider__caption {
        right: 22px;
        bottom: 24px;
        left: 22px;
    }
}

/* Stack layout when screen gets narrow */
@media (max-width: 900px) {

    .re-cta-slider__frame {
        grid-template-columns: 1fr;
        max-width: 640px;
    }

    .re-cta-slider__visual {
        min-height: 400px;
    }

    .re-cta-slider__content {
        min-height: auto;
    }
}

/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 767px) {

    .re-cta-slider__inner {
        padding: 30px 10px 0 10px;
    }

    .re-cta-slider__frame {
        border-radius: 22px;
    }

    .re-cta-slider__visual {
        min-height: 320px;
    }

    .re-cta-slider__content {
        padding: 34px 24px;
    }

    .re-cta-slider__subheading {
        font-size: 25px;
    }

    .re-cta-slider__title {
        font-size: 40px;
        line-height: 1.08;
    }

    .re-cta-slider__controls {
        top: 16px;
        right: 16px;
        gap: 8px;
    }

    .re-cta-slider__arrow {
        width: 40px;
        height: 40px;
    }

    .re-cta-slider__caption {
        right: 20px;
        bottom: 20px;
        left: 20px;
    }

    .re-cta-slider__highlights {
        gap: 16px;
        margin-bottom: 26px;
        padding-top: 20px;
    }

    .re-cta-slider__highlight {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 12px;
    }

    .re-cta-slider__highlight-icon {
        width: 38px;
        height: 38px;
    }

    #re-cta-slider .re-cta-slider__button {
        max-width: none;
        min-height: 56px;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {

    #re-cta-slider *,
    #re-cta-slider *::before,
    #re-cta-slider *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-32c3e33 *//* =====================================================
   RE INSIGHTS — PREMIUM EDITORIAL JOURNAL
   3 category cards | White bg | Black text | Primary accent
   Sub 25/600 | Title 40/700 | Card title 25/700 | Body 17px
   Desktop: 80px 50px 0 50px
   Tablet:  50px 30px 0 30px
   Mobile:  30px 10px 0 10px
   ===================================================== */

@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400&family=Figtree:wght@600;700&display=swap");

#re-insights,
#re-insights *,
#re-insights *::before,
#re-insights *::after {
    box-sizing: border-box;
}

#re-insights {
    --ins-prim: #8F6779;
    --ins-prim-dark: #755363;
    --ins-black: #171417;
    --ins-text: #4B4347;
    --ins-muted: #000000;
    --ins-white: #FFFFFF;
    --ins-soft: #F8F5F3;
    --ins-border: rgba(23, 20, 23, 0.11);

    --e-global-color-primary: #8F6779;
    --e-global-color-accent: #8F6779;
    --e-global-color-secondary: #171417;
    --e-global-color-text: #171417;

    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;

    color: var(--ins-black);
    background:
        radial-gradient(
            circle at 10% 0%,
            rgba(143, 103, 121, 0.06),
            transparent 30%
        ),
        var(--ins-white);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

#re-insights h2,
#re-insights h3,
#re-insights p,
#re-insights figure {
    margin: 0;
}

#re-insights a {
    color: inherit;
    text-decoration: none;
}

#re-insights a:focus-visible {
    outline: 3px solid rgba(143, 103, 121, 0.5);
    outline-offset: 4px;
}

/* =====================================================
   CONTAINER + CENTERED HEADER
   ===================================================== */

.re-insights__inner {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
    padding: 80px 50px 60px 50px;
}

.re-insights__intro {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 50px;
}

.re-insights__sub {
    margin-bottom: 14px;
    color: var(--ins-prim);
    font-family: "Figtree", sans-serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.015em;
}

.re-insights__title {
    margin-bottom: 16px;
    color: var(--ins-black);
    font-family: "Figtree", sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

.re-insights__text {
    color: var(--ins-text);
    font-size: 17px;
    line-height: 1.7;
}

/* =====================================================
   CARD GRID — 3 EQUAL COLUMNS, SAME START & END LINES
   ===================================================== */

.re-insights__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;

    width: 100%;
    max-width: 1240px;
    margin-inline: auto;
}

/* =====================================================
   INSIGHT CARD
   ===================================================== */

.re-insights__card {
    display: flex;
    flex-direction: column;
    min-width: 0;

    border: 1px solid var(--ins-border);
    border-radius: 24px;
    overflow: hidden;

    background: var(--ins-white);

    box-shadow: 0 18px 44px -30px rgba(23, 20, 23, 0.22);

    transition:
        transform 280ms ease,
        box-shadow 280ms ease,
        border-color 280ms ease;
}

.re-insights__card:hover {
    transform: translateY(-6px);
    border-color: rgba(143, 103, 121, 0.35);
    box-shadow: 0 30px 60px -28px rgba(23, 20, 23, 0.30);
}

/* =====================================================
   CARD MEDIA
   ===================================================== */

.re-insights__media {
    position: relative;
    display: block;

    width: 100%;
    height: 240px;
    overflow: hidden;

    background: var(--ins-prim-dark);
}

.re-insights__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;

    transition: transform 700ms ease;
}

.re-insights__card:hover .re-insights__media img {
    transform: scale(1.06);
}

/* Category badge on image */
.re-insights__badge {
    position: absolute;
    top: 18px;
    left: 18px;

    display: inline-flex;
    align-items: center;

    min-height: 40px;
    padding: 8px 16px;

    border-radius: 100px;

    color: var(--ins-white);
    background: linear-gradient(135deg, var(--ins-prim) 0%, var(--ins-prim-dark) 100%);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1;

    box-shadow: 0 10px 24px -10px rgba(82, 59, 71, 0.6);
}

/* Read time chip */
.re-insights__read-time {
    position: absolute;
    top: 18px;
    right: 18px;

    display: inline-flex;
    align-items: center;

    min-height: 36px;
    padding: 7px 13px;

    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 100px;

    color: var(--ins-white);
    background: rgba(23, 20, 23, 0.5);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;

    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

/* =====================================================
   CARD BODY
   ===================================================== */

.re-insights__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;

    padding: 26px 26px 28px;
}

/* Meta row */
.re-insights__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;

    margin-bottom: 14px;

    color: var(--ins-muted);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.3;
}

.re-insights__meta-dot {
    width: 5px;
    height: 5px;
    flex: 0 0 5px;

    border-radius: 50%;
    background: var(--ins-prim);
}

/* Card title */
.re-insights__card-title {
    margin-bottom: 12px;

    color: var(--ins-black);

    font-family: "Figtree", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    magin-top:25px 0px 0px 0px;
    letter-spacing: .018em;

    transition: color 220ms ease;
}

.re-insights__card:hover .re-insights__card-title {
    color: var(--ins-prim);
}

/* Excerpt */
.re-insights__excerpt {
    margin-bottom: 22px;

    color: var(--ins-text);

    font-family: "Barlow", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

/* Read link pinned to bottom */
.re-insights__link {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-top: auto;
    padding-top: 18px;

    border-top: 1px solid var(--ins-border);

    color: var(--ins-prim);

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;

    transition: gap 220ms ease, color 220ms ease;
}

.re-insights__link:hover {
    gap: 13px;
    color: var(--ins-prim-dark);
}

.re-insights__link svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =====================================================
   BOTTOM STRIP
   ===================================================== */

.re-insights__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;

    width: 100%;
    max-width: 1240px;
    margin: 44px auto 0;
    padding-bottom: 70px;
}

.re-insights__footer-line {
    flex: 1 1 auto;
    max-width: 220px;
    height: 1px;
    background: var(--ins-border);
}

.re-insights__footer-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    min-height: 54px;
    padding: 14px 30px;

    border: 1px solid var(--ins-prim);
    border-radius: 100px;

    color: var(--ins-prim);
    background: transparent;

    font-family: "Figtree", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;

    transition:
        background-color 220ms ease,
        color 220ms ease,
        transform 220ms ease,
        box-shadow 220ms ease;
}

.re-insights__footer-btn:hover {
    color: var(--ins-white);
    background: linear-gradient(135deg, var(--ins-prim) 0%, var(--ins-prim-dark) 100%);
    transform: translateY(-2px);
    box-shadow: 0 18px 36px -18px rgba(117, 83, 99, 0.6);
}

.re-insights__footer-btn svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 220ms ease;
}

.re-insights__footer-btn:hover svg {
    transform: translateX(4px);
}

/* =====================================================
   SCROLL REVEAL STATES
   ===================================================== */

.re-insights__intro.is-waiting,
.re-insights__card.is-waiting,
.re-insights__footer.is-waiting {
    opacity: 0;
    transform: translateY(26px);
}

.re-insights__intro,
.re-insights__card,
.re-insights__footer {
    transition-property: opacity, transform, box-shadow, border-color;
    transition-duration: 600ms;
}

.re-insights__intro.is-visible,
.re-insights__card.is-visible,
.re-insights__footer.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Keep hover lift after reveal */
.re-insights__card.is-visible:hover {
    transform: translateY(-6px);
}

/* =====================================================
   TABLET — 50px 30px 0 30px
   ===================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

    .re-insights__inner {
        padding: 50px 30px 50px 30px;
    }

    .re-insights__grid {
        gap: 18px;
    }

    .re-insights__media {
        height: 210px;
    }

    .re-insights__body {
        padding: 22px 22px 24px;
    }

    .re-insights__footer {
        margin-top: 36px;
        padding-bottom: 50px;
    }
}

/* Stack before columns get too narrow */
@media (max-width: 900px) {

    .re-insights__grid {
        grid-template-columns: 1fr;
        max-width: 560px;
    }

    .re-insights__media {
        height: 260px;
    }
}

/* =====================================================
   MOBILE — 30px 10px 0 10px
   ===================================================== */

@media (max-width: 767px) {

    .re-insights__inner {
        padding: 30px 10px 30px 10px;
    }

    .re-insights__intro {
        margin-bottom: 32px;
    }

    .re-insights__sub {
        font-size: 25px;
    }

    .re-insights__title {
        font-size: 40px;
        line-height: 1.08;
    }

    .re-insights__grid {
        gap: 16px;
    }

    .re-insights__card {
        border-radius: 20px;
    }

    .re-insights__media {
        height: 230px;
    }

    .re-insights__badge {
        top: 14px;
        left: 14px;
        min-height: 38px;
        padding: 7px 14px;
    }

    .re-insights__read-time {
        top: 14px;
        right: 14px;
    }

    .re-insights__body {
        padding: 22px 20px 24px;
    }

    .re-insights__footer {
        gap: 16px;
        margin-top: 34px;
        padding-bottom: 44px;
    }

    .re-insights__footer-line {
        display: none;
    }
}

/* =====================================================
   REDUCED MOTION
   ===================================================== */

@media (prefers-reduced-motion: reduce) {

    #re-insights *,
    #re-insights *::before,
    #re-insights *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }

    .re-insights__intro.is-waiting,
    .re-insights__card.is-waiting,
    .re-insights__footer.is-waiting {
        opacity: 1;
        transform: none;
    }

    .re-insights__card.is-visible:hover {
        transform: none;
    }

    .re-insights__card:hover .re-insights__media img {
        transform: none;
    }
}/* End custom CSS */