/*
Author       : Theme_Ocean.
Template Name: Hilux - Real Estate HTML Template 
Version      : 1.0
*/
/*=============================================================
    CSS INDEX
    =============================
    01. GENERAL STYLE (body, link color, section-title, preloader btn, overlay, section-padding etc)
    02. START BOOTSTRAP NAVIGATION OVERRIDES
    03. START HOME DESIGN
    04. START PROPERTY DESIGN
    05. START ABOUT US DESIGN
    06. START HOW IT WORKS DESIGN
    07. START TEAM DESIGN
    08. START OUR AGENTS DESIGN
    09. START PORTFOLIO DESIGN
    10. START TESTIMONIAL DESIGN
    11. START BLOG DESIGN
    12. START 404 PAGE
    13. START NEWSLETTER DESIGN
    14. START FAQ DESIGN
    15. START LOGIN AND REGISTER PAGE DESIGN
    16. START CONTACT FORM DESIGN
    17. START FOOTER TOP DESIGN
    18. START FOOTER DESIGN
    19. START SECTION TOP DESIGN
  =============================================================*/
/*
* ----------------------------------------------------------------------------------------
* 01.GENERAL STYLE
* ----------------------------------------------------------------------------------------
*/
/* ==========================================================
   PROPERTY DISCOVERY SECTION
   Unique prefix: propview-
   
   NOTE:
   No body, html, navbar or sidebar CSS is included.
   ========================================================== */
/* ==========================================================
   ESTATE HUB PROPERTY INFORMATION SECTION
   Unique prefix: estatehub-

   IMPORTANT:
   No body CSS
   No html CSS
   No navbar CSS
   No sidebar CSS
   ========================================================== */


/* ==========================================================
   MAIN SECTION
   ========================================================== */

/* =========================================================
   RENOVATION SHOWCASE
   No body / html styling is used.
   ========================================================= */
/* =========================================================
   ACCENT REMODEL STORY SECTION
   Unique prefix: arx-
   No body styling included
   /* =========================================================
   ROBERT ELITE ESTATES
   FOUNDER SECTION
   Unique prefix: ree-founder-
   No body/header/sidebar styling included
========================================================= */

/* =========================================
   ROBERT ELITE ESTATES
   LUXURY PROPERTY LISTINGS SECTION
   All classes are uniquely prefixed
========================================= */
/* =========================================================
   QUAO REALTY — HERO SECTION
   Scoped CSS
   No body/html styling
   ========================================================= */
/* =========================================================
   QUAO REALTY — STATISTICS SECTION
   Scoped CSS
   No body/html styling
   ========================================================= */


/* =========================================================
   MAIN SECTION
   ========================================================= */
/* =========================================================
   ROBERT ELITE ESTATES
   COMMERCIAL REAL ESTATE PAGE
   BODY CONTENT ONLY

   IMPORTANT:
   - No body/html styling
   - All classes use the "restate-" prefix
   - Images are supplied through HTML <img> elements
   ========================================================= */

/* =========================================================
   ROBERT ELITE ESTATES
   CONTACT / REQUEST PAGE
   Unique prefix: restate-contact-
   No body / html styling
========================================================= */


    /* PRELOADER SCREEN */
    .restate-loader-screen {
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        z-index: 999999;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        background: #102f29;
        font-family: "Inter", "Segoe UI", Arial, sans-serif;

        /* Keeps the preloader visible initially */
        opacity: 1;
        visibility: visible;

        /* Disappears after 2 seconds */
        animation: restateLoaderExit 0.65s ease forwards;
        animation-delay: 1.35s;
    }


    /* BACKGROUND IMAGE */
    .restate-loader-bg {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    .restate-loader-bg a {
        display: block;
        width: 100%;
        height: 100%;
    }

    .restate-loader-bg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;

        transform: scale(1.08);

        animation:
            restateLoaderImage 2.3s ease forwards;
    }


    /* DARK OVERLAY */
    .restate-loader-overlay {
        position: absolute;
        inset: 0;
        background:
            linear-gradient(
                135deg,
                rgba(7, 31, 25, 0.94),
                rgba(10, 48, 40, 0.78),
                rgba(5, 25, 21, 0.88)
            );
    }


    /* CENTER CONTENT */
    .restate-loader-content {
        position: relative;
        z-index: 5;
        width: min(90%, 600px);
        text-align: center;
        color: #ffffff;
    }


    /* LOGO / INITIALS */
    .restate-loader-logo {
        width: 72px;
        height: 72px;
        margin: 0 auto 25px;

        display: flex;
        align-items: center;
        justify-content: center;

        border: 1px solid rgba(255,255,255,0.45);
        border-radius: 50%;

        color: #ffffff;
        font-size: 18px;
        font-weight: 700;
        letter-spacing: 2px;

        background: rgba(255,255,255,0.08);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);

        animation:
            restateLoaderLogo 0.8s ease forwards;
    }


    /* COMPANY NAME */
    .restate-loader-brand {
        margin: 0;

        font-size: clamp(25px, 4vw, 43px);
        line-height: 1.1;
        font-weight: 600;
        letter-spacing: 3px;
        text-transform: uppercase;

        animation:
            restateLoaderText 0.8s ease forwards;
            color: #fee0a4;
    }


    /* TAGLINE */
    .restate-loader-tagline {
        margin: 13px 0 30px;

        color: rgba(255,255,255,0.72);

        font-size: 11px;
        letter-spacing: 4px;
        text-transform: uppercase;

        animation:
            restateLoaderText 0.9s ease forwards;
    }


    /* LOADING BAR */
    .restate-loader-track {
        width: min(340px, 80%);
        height: 2px;
        margin: 0 auto;

        overflow: hidden;
        background: rgba(255,255,255,0.22);
        border-radius: 20px;
    }


    .restate-loader-progress {
        width: 0%;
        height: 100%;

        background: #ffffff;
        border-radius: inherit;

        animation:
            restateLoaderProgress 1.5s ease forwards;
    }


    /* LOADING TEXT */
    .restate-loader-status {
        margin-top: 14px;

        color: rgba(255,255,255,0.58);

        font-size: 9px;
        letter-spacing: 3px;
        text-transform: uppercase;

        animation:
            restateLoaderText 1s ease forwards;
    }


    /* DECORATIVE CIRCLE */
    .restate-loader-circle {
        position: absolute;
        z-index: 2;

        width: 500px;
        height: 500px;

        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 50%;

        animation:
            restateLoaderCircle 2s ease-in-out infinite;
    }


    /* SECOND DECORATIVE CIRCLE */
    .restate-loader-circle-two {
        position: absolute;
        z-index: 2;

        width: 700px;
        height: 700px;

        border: 1px solid rgba(255,255,255,0.045);
        border-radius: 50%;

        animation:
            restateLoaderCircle 3s ease-in-out infinite reverse;
    }


    /* =====================================================
       ANIMATIONS
    ===================================================== */

    @keyframes restateLoaderImage {

        0% {
            transform: scale(1.08);
        }

        100% {
            transform: scale(1);
        }

    }


    @keyframes restateLoaderLogo {

        0% {
            opacity: 0;
            transform: scale(0.65) rotate(-20deg);
        }

        100% {
            opacity: 1;
            transform: scale(1) rotate(0deg);
        }

    }


    @keyframes restateLoaderText {

        0% {
            opacity: 0;
            transform: translateY(15px);
        }

        100% {
            opacity: 1;
            transform: translateY(0);
        }

    }


    @keyframes restateLoaderProgress {

        0% {
            width: 0%;
        }

        100% {
            width: 100%;
        }

    }


    @keyframes restateLoaderCircle {

        0% {
            transform: scale(0.94);
            opacity: 0.4;
        }

        50% {
            transform: scale(1.04);
            opacity: 0.8;
        }

        100% {
            transform: scale(0.94);
            opacity: 0.4;
        }

    }


    /* =====================================================
       PRELOADER EXIT
       Starts around 1.35 seconds and finishes around 2 sec
    ===================================================== */

    @keyframes restateLoaderExit {

        0% {
            opacity: 1;
            visibility: visible;
        }

        75% {
            opacity: 1;
            visibility: visible;
        }

        100% {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }

    }


    /* =====================================================
       TABLET
    ===================================================== */

    @media (max-width: 768px) {

        .restate-loader-logo {
            width: 62px;
            height: 62px;
            margin-bottom: 20px;
        }

        .restate-loader-brand {
            font-size: 27px;
            letter-spacing: 2px;
        }

        .restate-loader-tagline {
            font-size: 9px;
            letter-spacing: 3px;
            margin-bottom: 25px;
        }

        .restate-loader-circle {
            width: 350px;
            height: 350px;
        }

        .restate-loader-circle-two {
            width: 500px;
            height: 500px;
        }

    }


    /* =====================================================
       MOBILE
    ===================================================== */

    @media (max-width: 480px) {

        .restate-loader-brand {
            font-size: 22px;
            letter-spacing: 1.5px;
        }

        .restate-loader-tagline {
            font-size: 8px;
            letter-spacing: 2px;
        }

        .restate-loader-track {
            width: 240px;
        }

        .restate-loader-status {
            font-size: 8px;
            letter-spacing: 2px;
        }

        .restate-loader-circle {
            width: 280px;
            height: 280px;
        }

        .restate-loader-circle-two {
            width: 400px;
            height: 400px;
        }

    }

.restate-contact-page {
    --rc-black: #171816;
    --rc-deep: #20211e;
    --rc-dark: #292a26;
    --rc-cream: #f4f1e9;
    --rc-paper: #faf9f5;
    --rc-white: #ffffff;
    --rc-gold: #b39a69;
    --rc-gold-light: #d0bd92;
    --rc-muted: #77766f;
    --rc-line: #dad7ce;
    --rc-soft-line: rgba(255,255,255,.15);

    color: var(--rc-black);
    background: var(--rc-paper);
    font-family: Arial, Helvetica, sans-serif;
    overflow: hidden;
}


/* =========================================================
   GLOBAL TYPOGRAPHY
========================================================= */

.restate-contact-page h1,
.restate-contact-page h2,
.restate-contact-page h3,
.restate-contact-page p {
    margin-top: 0;
}

.restate-contact-page a {
    text-decoration: none;
}

.restate-contact-page em {
    color: var(--rc-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.restate-contact-label,
.restate-contact-eyebrow {
    display: inline-block;
    font-size: 10px;
    letter-spacing: 2.8px;
    font-weight: 700;
}


/* =========================================================
   HERO
========================================================= */

.restate-contact-hero {
    position: relative;
    background: var(--rc-black);
    color: var(--rc-white);
    padding: 95px 6vw 100px;
}

.restate-contact-hero::before {
    content: "";
    position: absolute;
    top: 0;
    right: 7%;
    width: 1px;
    height: 100%;
    background: rgba(255,255,255,.08);
}

.restate-contact-hero-inner {
    width: min(1380px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: 80px;
    align-items: center;
}

.restate-contact-hero-copy {
    animation: restateContactHeroText .9s ease both;
}

.restate-contact-eyebrow {
    color: var(--rc-gold-light);
    margin-bottom: 28px;
}

.restate-contact-hero h1 {
    max-width: 760px;
    font-size: clamp(52px, 6vw, 94px);
    line-height: .95;
    letter-spacing: -4px;
    font-weight: 500;
    margin-bottom: 35px;
}

.restate-contact-hero h1 em {
    display: block;
}

.restate-contact-hero-copy > p {
    max-width: 610px;
    color: #c7c5bd;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 40px;
}

.restate-contact-hero-actions {
    display: flex;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
}

.restate-contact-primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 35px;
    min-height: 58px;
    padding: 0 26px;
    background: var(--rc-gold);
    color: var(--rc-black);
    font-size: 11px;
    letter-spacing: 1.5px;
    font-weight: 700;
    transition: transform .3s ease, background .3s ease;
}

.restate-contact-primary-btn span {
    font-size: 18px;
}

.restate-contact-primary-btn:hover {
    transform: translateY(-4px);
    background: var(--rc-gold-light);
}

.restate-contact-text-btn {
    color: var(--rc-white);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    display: inline-flex;
    align-items: center;
    gap: 15px;
}

.restate-contact-text-btn span {
    color: var(--rc-gold);
    transition: transform .3s ease;
}

.restate-contact-text-btn:hover span {
    transform: translateY(4px);
}


/* HERO IMAGE */

.restate-contact-hero-visual {
    position: relative;
    min-height: 590px;
    animation: restateContactHeroImage 1s ease both;
}

.restate-contact-image-link {
    display: block;
    height: 100%;
    min-height: 590px;
    overflow: hidden;
}

.restate-contact-image-link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(0,0,0,.05),
        rgba(0,0,0,.4)
    );
    pointer-events: none;
}

.restate-contact-image-link img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 590px;
    object-fit: cover;
    transition: transform 1s cubic-bezier(.2,.7,.2,1);
}

.restate-contact-hero-visual:hover img {
    transform: scale(1.045);
}

.restate-contact-visual-tag {
    position: absolute;
    left: -30px;
    bottom: 35px;
    z-index: 2;
    background: var(--rc-gold);
    color: var(--rc-black);
    padding: 20px 28px;
    min-width: 190px;
}

.restate-contact-visual-tag span {
    display: block;
    font-size: 10px;
    margin-bottom: 13px;
}

.restate-contact-visual-tag strong {
    display: block;
    font-size: 13px;
    letter-spacing: 2px;
}

.restate-contact-visual-tag small {
    display: block;
    margin-top: 5px;
    font-size: 8px;
    letter-spacing: 1.4px;
}


/* =========================================================
   INTRO
========================================================= */

.restate-contact-intro {
    width: min(1380px, 88%);
    margin: 0 auto;
    padding: 110px 0;
    display: grid;
    grid-template-columns: 100px 1fr 1fr;
    gap: 50px;
    border-bottom: 1px solid var(--rc-line);
}

.restate-contact-intro-number {
    font-family: Georgia, serif;
    color: var(--rc-gold);
    font-size: 22px;
}

.restate-contact-intro-content h2 {
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: -3px;
    margin: 18px 0 0;
}

.restate-contact-intro-content h2 span {
    display: block;
    font-family: Georgia, serif;
    color: var(--rc-gold);
}

.restate-contact-intro-copy {
    align-self: end;
}

.restate-contact-intro-copy p {
    color: var(--rc-muted);
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 18px;
}

.restate-contact-intro-copy p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   REQUEST SECTION
========================================================= */

.restate-contact-request-section {
    width: min(1380px, 88%);
    margin: 0 auto;
    padding: 115px 0;
}

.restate-contact-request-heading {
    display: grid;
    grid-template-columns: 1fr .75fr;
    gap: 70px;
    align-items: end;
    margin-bottom: 65px;
}

.restate-contact-request-heading h2 {
    font-size: clamp(48px, 5.5vw, 82px);
    line-height: .95;
    font-weight: 400;
    letter-spacing: -4px;
    margin: 18px 0 0;
}

.restate-contact-request-heading p {
    color: var(--rc-muted);
    line-height: 1.9;
    max-width: 500px;
    margin-left: auto;
}


/* REQUEST GRID */

.restate-contact-request-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 45px;
    align-items: start;
}


/* FORM */

.restate-contact-form-panel {
    background: var(--rc-white);
    border: 1px solid var(--rc-line);
}

.restate-contact-form {
    padding: 45px;
}

.restate-contact-form-top {
    display: flex;
    justify-content: space-between;
    padding-bottom: 25px;
    margin-bottom: 35px;
    border-bottom: 1px solid var(--rc-line);
    color: var(--rc-muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.restate-contact-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

.restate-contact-field {
    margin-bottom: 25px;
}

.restate-contact-field label {
    display: block;
    margin-bottom: 10px;
    color: var(--rc-black);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.restate-contact-field input,
.restate-contact-field select,
.restate-contact-field textarea {
    width: 100%;
    border: 1px solid var(--rc-line);
    background: #fbfaf7;
    color: var(--rc-black);
    padding: 16px 17px;
    font-family: inherit;
    font-size: 13px;
    outline: none;
    transition: border-color .3s ease, background .3s ease, box-shadow .3s ease;
}

.restate-contact-field input,
.restate-contact-field select {
    height: 54px;
}

.restate-contact-field textarea {
    resize: vertical;
    min-height: 160px;
    line-height: 1.7;
}

.restate-contact-field input:focus,
.restate-contact-field select:focus,
.restate-contact-field textarea:focus {
    border-color: var(--rc-gold);
    background: var(--rc-white);
    box-shadow: 0 0 0 3px rgba(179,154,105,.09);
}

.restate-contact-field input::placeholder,
.restate-contact-field textarea::placeholder {
    color: #a7a59e;
}


/* CHECKBOX */

.restate-contact-consent {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 5px 0 30px;
}

.restate-contact-check {
    position: relative;
    flex: 0 0 auto;
}

.restate-contact-check input {
    position: absolute;
    opacity: 0;
}

.restate-contact-check span {
    display: block;
    width: 18px;
    height: 18px;
    border: 1px solid var(--rc-line);
    background: var(--rc-paper);
}

.restate-contact-check input:checked + span {
    background: var(--rc-gold);
    border-color: var(--rc-gold);
}

.restate-contact-check input:checked + span::after {
    content: "✓";
    display: block;
    text-align: center;
    line-height: 17px;
    font-size: 11px;
}

.restate-contact-consent p {
    margin: 0;
    color: var(--rc-muted);
    font-size: 11px;
    line-height: 1.6;
}


/* SUBMIT */

.restate-contact-submit-btn {
    width: 100%;
    min-height: 64px;
    border: 0;
    cursor: pointer;
    padding: 0 25px;
    background: var(--rc-black);
    color: var(--rc-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: inherit;
    font-size: 11px;
    letter-spacing: 1.7px;
    font-weight: 700;
    transition: background .3s ease, padding .3s ease;
}

.restate-contact-submit-btn strong {
    color: var(--rc-gold);
    font-size: 20px;
    font-weight: 400;
    transition: transform .3s ease;
}

.restate-contact-submit-btn:hover {
    background: var(--rc-gold);
    color: var(--rc-black);
    padding-left: 30px;
    padding-right: 30px;
}

.restate-contact-submit-btn:hover strong {
    color: var(--rc-black);
    transform: translateX(5px);
}


/* =========================================================
   REQUEST ASIDE
========================================================= */

.restate-contact-request-aside {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.restate-contact-aside-image {
    position: relative;
    min-height: 390px;
    overflow: hidden;
    background: var(--rc-dark);
}

.restate-contact-aside-image a {
    display: block;
    height: 100%;
}

.restate-contact-aside-image img {
    width: 100%;
    height: 390px;
    display: block;
    object-fit: cover;
    transition: transform .8s ease;
}

.restate-contact-aside-image:hover img {
    transform: scale(1.06);
}

.restate-contact-image-caption {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 28px;
    color: var(--rc-white);
    background: linear-gradient(
        transparent,
        rgba(0,0,0,.8)
    );
}

.restate-contact-image-caption span {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.restate-contact-image-caption small {
    display: block;
    color: #c7c5bd;
    margin-top: 7px;
    font-size: 8px;
    letter-spacing: 1.5px;
}

.restate-contact-aside-card {
    background: var(--rc-cream);
    padding: 38px;
    border: 1px solid var(--rc-line);
}

.restate-contact-aside-card h3 {
    font-size: 36px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: -1.5px;
    margin: 18px 0;
}

.restate-contact-aside-card p {
    color: var(--rc-muted);
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 25px;
}

.restate-contact-aside-card > a {
    color: var(--rc-black);
    display: inline-flex;
    gap: 18px;
    align-items: center;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.restate-contact-aside-card > a span {
    color: var(--rc-gold);
    font-size: 18px;
    transition: transform .3s ease;
}

.restate-contact-aside-card > a:hover span {
    transform: translateX(5px);
}


/* =========================================================
   CONTACT DETAILS
========================================================= */

.restate-contact-details-section {
    background: var(--rc-cream);
    padding: 110px 6vw;
}

.restate-contact-details-heading {
    width: min(1380px, 100%);
    margin: 0 auto 55px;
    display: grid;
    grid-template-columns: 1fr .8fr;
    gap: 80px;
    align-items: end;
}

.restate-contact-details-heading h2 {
    font-size: clamp(48px, 5vw, 76px);
    line-height: .95;
    letter-spacing: -3px;
    font-weight: 400;
    margin: 18px 0 0;
}

.restate-contact-details-heading p {
    color: var(--rc-muted);
    line-height: 1.8;
    max-width: 470px;
    margin-left: auto;
}

.restate-contact-details-grid {
    width: min(1380px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--rc-line);
    border: 1px solid var(--rc-line);
}

.restate-contact-detail-card {
    position: relative;
    min-height: 150px;
    padding: 30px;
    display: flex;
    align-items: center;
    gap: 28px;
    background: var(--rc-paper);
    color: var(--rc-black);
    transition: background .3s ease, transform .3s ease;
}

.restate-contact-detail-card:hover {
    background: var(--rc-white);
    transform: translateY(-3px);
    z-index: 2;
}

.restate-contact-detail-number {
    color: var(--rc-gold);
    font-family: Georgia, serif;
    font-size: 20px;
}

.restate-contact-detail-card small {
    display: block;
    color: var(--rc-muted);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.restate-contact-detail-card strong {
    display: block;
    font-size: 15px;
    font-weight: 500;
    word-break: break-word;
}

.restate-contact-detail-arrow {
    margin-left: auto;
    color: var(--rc-gold);
    font-size: 21px;
}


/* =========================================================
   WORLDWIDE
========================================================= */

.restate-contact-worldwide {
    background: var(--rc-black);
    color: var(--rc-white);
    padding: 115px 6vw;
    display: grid;
    grid-template-columns: 100px 1fr 1fr;
    gap: 55px;
    align-items: start;
}

.restate-contact-worldwide-number {
    color: var(--rc-gold);
    font-family: Georgia, serif;
    font-size: 22px;
}

.restate-contact-worldwide-main h2 {
    font-size: clamp(45px, 5vw, 75px);
    line-height: .98;
    letter-spacing: -3px;
    font-weight: 400;
    margin: 18px 0 0;
}

.restate-contact-worldwide-copy {
    padding-top: 30px;
}

.restate-contact-worldwide-copy p {
    color: #bab9b2;
    line-height: 1.9;
    font-size: 14px;
    max-width: 500px;
}

.restate-contact-markets {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.restate-contact-markets span {
    padding: 9px 12px;
    border: 1px solid var(--rc-soft-line);
    color: #d3d1c8;
    font-size: 8px;
    letter-spacing: 1.4px;
}


/* =========================================================
   PROCESS
========================================================= */

.restate-contact-process {
    width: min(1380px, 88%);
    margin: 0 auto;
    padding: 115px 0;
}

.restate-contact-process-heading {
    margin-bottom: 65px;
}

.restate-contact-process-heading h2 {
    font-size: clamp(48px, 5vw, 75px);
    line-height: .95;
    letter-spacing: -3px;
    font-weight: 400;
    margin: 18px 0 0;
}

.restate-contact-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--rc-line);
    border-bottom: 1px solid var(--rc-line);
}

.restate-contact-process-item {
    min-height: 280px;
    padding: 35px 28px;
    border-right: 1px solid var(--rc-line);
    transition: background .3s ease, transform .3s ease;
}

.restate-contact-process-item:last-child {
    border-right: 0;
}

.restate-contact-process-item:hover {
    background: var(--rc-cream);
    transform: translateY(-4px);
}

.restate-contact-process-item > span {
    color: var(--rc-gold);
    font-family: Georgia, serif;
    font-size: 20px;
}

.restate-contact-process-item h3 {
    font-size: 20px;
    font-weight: 500;
    margin: 65px 0 17px;
}

.restate-contact-process-item p {
    color: var(--rc-muted);
    font-size: 12px;
    line-height: 1.8;
    max-width: 230px;
}


/* =========================================================
   FINAL CTA
========================================================= */

.restate-contact-final {
    background: var(--rc-cream);
    padding: 120px 6vw;
    text-align: center;
}

.restate-contact-final-inner {
    max-width: 950px;
    margin: 0 auto;
}

.restate-contact-final h2 {
    font-size: clamp(48px, 7vw, 100px);
    line-height: .92;
    letter-spacing: -5px;
    font-weight: 400;
    margin: 25px 0;
}

.restate-contact-final h2 em {
    display: block;
}

.restate-contact-final p {
    color: var(--rc-muted);
    font-size: 15px;
    line-height: 1.8;
    margin: 0 auto 35px;
    max-width: 530px;
}

.restate-contact-final-btn {
    display: inline-flex;
    align-items: center;
    gap: 40px;
    min-height: 60px;
    padding: 0 28px;
    background: var(--rc-black);
    color: var(--rc-white);
    font-size: 10px;
    letter-spacing: 1.8px;
    font-weight: 700;
    transition: background .3s ease, transform .3s ease;
}

.restate-contact-final-btn span {
    color: var(--rc-gold);
    font-size: 20px;
}

.restate-contact-final-btn:hover {
    background: var(--rc-gold);
    color: var(--rc-black);
    transform: translateY(-4px);
}

.restate-contact-final-btn:hover span {
    color: var(--rc-black);
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes restateContactHeroText {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes restateContactHeroImage {
    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .restate-contact-hero-inner {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .restate-contact-hero-visual {
        min-height: 480px;
    }

    .restate-contact-image-link,
    .restate-contact-image-link img {
        min-height: 480px;
    }

    .restate-contact-intro {
        grid-template-columns: 70px 1fr;
    }

    .restate-contact-intro-copy {
        grid-column: 2;
    }

    .restate-contact-request-grid {
        grid-template-columns: 1fr;
    }

    .restate-contact-request-aside {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .restate-contact-details-grid {
        grid-template-columns: 1fr;
    }

    .restate-contact-process-grid {
        grid-template-columns: 1fr 1fr;
    }

    .restate-contact-process-item:nth-child(2) {
        border-right: 0;
    }

    .restate-contact-process-item:nth-child(1),
    .restate-contact-process-item:nth-child(2) {
        border-bottom: 1px solid var(--rc-line);
    }

    .restate-contact-worldwide {
        grid-template-columns: 70px 1fr;
    }

    .restate-contact-worldwide-copy {
        grid-column: 2;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .restate-contact-hero {
        padding: 70px 6vw 75px;
    }

    .restate-contact-hero::before {
        display: none;
    }

    .restate-contact-hero h1 {
        font-size: clamp(45px, 14vw, 70px);
        letter-spacing: -3px;
    }

    .restate-contact-hero-copy > p {
        font-size: 14px;
    }

    .restate-contact-hero-visual {
        min-height: 380px;
    }

    .restate-contact-image-link,
    .restate-contact-image-link img {
        min-height: 380px;
    }

    .restate-contact-visual-tag {
        left: 15px;
        bottom: 15px;
    }


    .restate-contact-intro {
        width: 88%;
        padding: 75px 0;
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .restate-contact-intro-copy {
        grid-column: auto;
    }

    .restate-contact-intro-content h2 {
        font-size: 48px;
    }


    .restate-contact-request-section {
        padding: 75px 0;
    }

    .restate-contact-request-heading {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 45px;
    }

    .restate-contact-request-heading p {
        margin-left: 0;
    }

    .restate-contact-request-heading h2 {
        font-size: 52px;
    }


    .restate-contact-form {
        padding: 25px 20px;
    }

    .restate-contact-field-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .restate-contact-request-aside {
        grid-template-columns: 1fr;
    }

    .restate-contact-aside-image,
    .restate-contact-aside-image img {
        min-height: 340px;
        height: 340px;
    }


    .restate-contact-details-section {
        padding: 75px 6vw;
    }

    .restate-contact-details-heading {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .restate-contact-details-heading p {
        margin-left: 0;
    }

    .restate-contact-details-heading h2 {
        font-size: 52px;
    }

    .restate-contact-detail-card {
        min-height: 125px;
        padding: 22px;
        gap: 16px;
    }

    .restate-contact-detail-card strong {
        font-size: 13px;
    }


    .restate-contact-worldwide {
        padding: 80px 6vw;
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .restate-contact-worldwide-copy {
        grid-column: auto;
        padding-top: 15px;
    }

    .restate-contact-worldwide-main h2 {
        font-size: 52px;
    }


    .restate-contact-process {
        padding: 75px 0;
    }

    .restate-contact-process-heading h2 {
        font-size: 52px;
    }

    .restate-contact-process-grid {
        grid-template-columns: 1fr;
    }

    .restate-contact-process-item {
        min-height: auto;
        padding: 30px 20px;
        border-right: 0;
        border-bottom: 1px solid var(--rc-line);
    }

    .restate-contact-process-item:last-child {
        border-bottom: 0;
    }

    .restate-contact-process-item h3 {
        margin-top: 40px;
    }


    .restate-contact-final {
        padding: 85px 6vw;
    }

    .restate-contact-final h2 {
        font-size: 55px;
        letter-spacing: -3px;
    }

    .restate-contact-final-btn {
        width: 100%;
        justify-content: space-between;
    }
}


/* =========================================================
   SMALL PHONES
========================================================= */

@media (max-width: 430px) {

    .restate-contact-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .restate-contact-primary-btn {
        width: 100%;
    }

    .restate-contact-text-btn {
        justify-content: center;
    }

    .restate-contact-hero-visual {
        min-height: 320px;
    }

    .restate-contact-image-link,
    .restate-contact-image-link img {
        min-height: 320px;
    }

    .restate-contact-intro-content h2,
    .restate-contact-request-heading h2,
    .restate-contact-details-heading h2,
    .restate-contact-process-heading h2,
    .restate-contact-worldwide-main h2 {
        font-size: 44px;
    }

    .restate-contact-form-top {
        font-size: 8px;
    }

    .restate-contact-form {
        padding: 22px 16px;
    }

    .restate-contact-aside-card {
        padding: 28px 22px;
    }

    .restate-contact-aside-card h3 {
        font-size: 31px;
    }

    .restate-contact-detail-card {
        align-items: flex-start;
    }

    .restate-contact-detail-number {
        padding-top: 2px;
    }

    .restate-contact-detail-arrow {
        display: none;
    }
}

/* =========================================================
   ROBERT ELITE ESTATES — SELL YOUR PROPERTY
   BODY / SECTION STYLES ONLY
   Unique prefix: restate-sell-
========================================================= */

.restate-sell-page {
    --sell-black: #171816;
    --sell-deep: #20211d;
    --sell-cream: #f4f1e9;
    --sell-paper: #faf9f5;
    --sell-white: #ffffff;
    --sell-gold: #b49a69;
    --sell-gold-light: #d1bd94;
    --sell-muted: #77766f;
    --sell-line: #d9d5cb;
    --sell-dark-line: rgba(255,255,255,.15);

    width: 100%;
    overflow: hidden;
    background: var(--sell-paper);
    color: var(--sell-black);
}


/* =========================================================
   HERO
========================================================= */

.restate-sell-hero {
    position: relative;
    min-height: 760px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--sell-black);
}

.restate-sell-hero-image {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.restate-sell-hero-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-sell-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.04);
    transition: transform 1.4s ease;
}

.restate-sell-hero:hover .restate-sell-hero-image img {
    transform: scale(1.08);
}

.restate-sell-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            90deg,
            rgba(10,11,10,.92) 0%,
            rgba(10,11,10,.72) 38%,
            rgba(10,11,10,.25) 72%,
            rgba(10,11,10,.12) 100%
        );
}

.restate-sell-hero-content {
    position: relative;
    z-index: 2;
    width: min(1200px, 90%);
    margin: 0 auto;
    color: var(--sell-white);
    padding: 100px 0;
}

.restate-sell-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: 11px;
    letter-spacing: 3px;
    font-weight: 700;
    color: var(--sell-gold-light);
    margin-bottom: 30px;
}

.restate-sell-eyebrow::before {
    content: "";
    width: 42px;
    height: 1px;
    background: var(--sell-gold);
}

.restate-sell-hero h1 {
    max-width: 720px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(64px, 9vw, 125px);
    line-height: .88;
    font-weight: 400;
    letter-spacing: -5px;
}

.restate-sell-hero h1 em {
    display: block;
    color: var(--sell-gold-light);
    font-style: italic;
    padding-left: 75px;
}

.restate-sell-hero-description {
    max-width: 560px;
    margin: 42px 0 36px 6px;
    color: rgba(255,255,255,.78);
    font-size: 16px;
    line-height: 1.9;
}

.restate-sell-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
}

.restate-sell-btn-primary,
.restate-sell-btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    min-height: 58px;
    padding: 0 27px;
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    transition:
        background .35s ease,
        color .35s ease,
        border-color .35s ease,
        transform .35s ease;
}

.restate-sell-btn-primary {
    background: var(--sell-gold);
    color: var(--sell-black);
}

.restate-sell-btn-primary span {
    font-size: 18px;
}

.restate-sell-btn-primary:hover {
    background: var(--sell-white);
    transform: translateY(-3px);
}

.restate-sell-btn-ghost {
    border: 1px solid rgba(255,255,255,.4);
    color: var(--sell-white);
}

.restate-sell-btn-ghost:hover {
    border-color: var(--sell-white);
    background: rgba(255,255,255,.08);
    transform: translateY(-3px);
}

.restate-sell-hero-number {
    position: absolute;
    z-index: 3;
    right: 50px;
    bottom: 50px;
    display: flex;
    align-items: center;
    gap: 18px;
    color: rgba(255,255,255,.55);
}

.restate-sell-hero-number span {
    font-family: Georgia, serif;
    font-size: 55px;
    color: var(--sell-gold-light);
}

.restate-sell-hero-number small {
    font-size: 9px;
    letter-spacing: 2px;
}


/* =========================================================
   INTRO
========================================================= */

.restate-sell-intro {
    padding: 120px max(5%, 40px);
    background: var(--sell-paper);
}

.restate-sell-intro-label {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--sell-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.restate-sell-intro-label span {
    color: var(--sell-gold);
}

.restate-sell-intro-label i {
    width: 55px;
    height: 1px;
    background: var(--sell-line);
}

.restate-sell-intro-main {
    max-width: 1200px;
    margin: 70px auto 0;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 100px;
}

.restate-sell-intro-heading h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 6vw, 82px);
    line-height: .98;
    font-weight: 400;
    letter-spacing: -3px;
}

.restate-sell-intro-heading h2 span {
    display: block;
    color: var(--sell-muted);
    font-style: italic;
}

.restate-sell-intro-copy {
    align-self: end;
    padding-bottom: 8px;
}

.restate-sell-intro-copy p {
    margin: 0 0 22px;
    color: #62615b;
    font-size: 15px;
    line-height: 1.9;
}

.restate-sell-text-link {
    display: inline-flex;
    align-items: center;
    gap: 25px;
    margin-top: 15px;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--sell-gold);
    color: var(--sell-black);
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.restate-sell-text-link span {
    font-size: 18px;
    transition: transform .3s ease;
}

.restate-sell-text-link:hover span {
    transform: translateX(6px);
}


/* =========================================================
   WHY SECTION
========================================================= */

.restate-sell-why {
    padding: 125px max(5%, 40px);
    background: var(--sell-cream);
}

.restate-sell-section-heading {
    max-width: 1200px;
    margin: 0 auto 75px;
    display: grid;
    grid-template-columns: 1fr .65fr;
    gap: 90px;
    align-items: end;
}

.restate-sell-mini-label,
.restate-sell-section-heading > div > span {
    display: block;
    margin-bottom: 22px;
    color: var(--sell-gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.5px;
}

.restate-sell-section-heading h2 {
    margin: 0;
    font-family: Georgia, serif;
    font-size: clamp(50px, 6vw, 80px);
    line-height: .95;
    font-weight: 400;
    letter-spacing: -3px;
}

.restate-sell-section-heading h2 i {
    color: var(--sell-gold);
    font-weight: 400;
}

.restate-sell-section-heading p {
    margin: 0;
    color: var(--sell-muted);
    font-size: 15px;
    line-height: 1.9;
}

.restate-sell-benefits {
    max-width: 1200px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-top: 1px solid var(--sell-line);
    border-bottom: 1px solid var(--sell-line);
}

.restate-sell-benefit-card {
    position: relative;
    min-height: 390px;
    padding: 35px 27px;
    border-right: 1px solid var(--sell-line);
    transition:
        background .4s ease,
        transform .4s ease;
}

.restate-sell-benefit-card:last-child {
    border-right: 0;
}

.restate-sell-benefit-card:hover {
    background: var(--sell-black);
    color: var(--sell-white);
    transform: translateY(-8px);
}

.restate-sell-benefit-number {
    font-size: 10px;
    letter-spacing: 2px;
    color: var(--sell-gold);
}

.restate-sell-benefit-icon {
    margin: 55px 0 35px;
    color: var(--sell-gold);
    font-size: 35px;
}

.restate-sell-benefit-card h3 {
    margin: 0 0 25px;
    font-family: Georgia, serif;
    font-size: 23px;
    line-height: 1.15;
    font-weight: 400;
}

.restate-sell-benefit-card p {
    margin: 0;
    color: var(--sell-muted);
    font-size: 13px;
    line-height: 1.75;
}

.restate-sell-benefit-card:hover p {
    color: rgba(255,255,255,.63);
}


/* =========================================================
   FEATURE
========================================================= */

.restate-sell-feature {
    min-height: 690px;
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    background: var(--sell-black);
    color: var(--sell-white);
}

.restate-sell-feature-image {
    min-height: 600px;
    overflow: hidden;
}

.restate-sell-feature-image a,
.restate-sell-feature-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-sell-feature-image img {
    object-fit: cover;
    transition: transform 1s ease;
}

.restate-sell-feature-image:hover img {
    transform: scale(1.06);
}

.restate-sell-feature-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 90px clamp(45px, 8vw, 120px);
}

.restate-sell-feature-content > span {
    color: var(--sell-gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.restate-sell-feature-content h2 {
    max-width: 550px;
    margin: 30px 0;
    font-family: Georgia, serif;
    font-size: clamp(45px, 5vw, 72px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: -2px;
}

.restate-sell-feature-content h2 i {
    color: var(--sell-gold-light);
    font-weight: 400;
}

.restate-sell-feature-content p {
    max-width: 510px;
    color: rgba(255,255,255,.65);
    font-size: 14px;
    line-height: 1.9;
}

.restate-sell-feature-line {
    width: 70px;
    height: 1px;
    margin: 35px 0 25px;
    background: var(--sell-gold);
}

.restate-sell-feature-content strong {
    color: rgba(255,255,255,.85);
    font-size: 10px;
    line-height: 1.8;
    letter-spacing: 2px;
}


/* =========================================================
   PROPERTY TYPES
========================================================= */

.restate-sell-types {
    padding: 125px max(5%, 40px);
    background: var(--sell-paper);
}

.restate-sell-types-heading {
    max-width: 1200px;
    margin: auto;
}

.restate-sell-types-heading > span {
    color: var(--sell-gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.restate-sell-types-heading h2 {
    margin: 25px 0;
    font-family: Georgia, serif;
    font-size: clamp(50px, 6vw, 82px);
    line-height: .96;
    font-weight: 400;
    letter-spacing: -3px;
}

.restate-sell-types-heading h2 i {
    color: var(--sell-gold);
}

.restate-sell-types-heading p {
    max-width: 620px;
    color: var(--sell-muted);
    font-size: 15px;
    line-height: 1.9;
}

.restate-sell-type-grid {
    max-width: 1200px;
    margin: 75px auto 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}

.restate-sell-type-card {
    position: relative;
    min-height: 370px;
    padding: 32px;
    background: var(--sell-cream);
    border-right: 1px solid var(--sell-line);
    transition:
        background .4s ease,
        color .4s ease,
        transform .4s ease;
}

.restate-sell-type-card:nth-child(even) {
    background: #eeece5;
}

.restate-sell-type-card:hover {
    z-index: 2;
    background: var(--sell-black);
    color: var(--sell-white);
    transform: translateY(-10px);
}

.restate-sell-type-number {
    color: var(--sell-gold);
    font-size: 10px;
    letter-spacing: 2px;
}

.restate-sell-type-card h3 {
    margin: 90px 0 22px;
    font-family: Georgia, serif;
    font-size: 27px;
    line-height: 1.05;
    font-weight: 400;
}

.restate-sell-type-card p {
    color: var(--sell-muted);
    font-size: 13px;
    line-height: 1.7;
}

.restate-sell-type-card:hover p {
    color: rgba(255,255,255,.6);
}

.restate-sell-type-arrow {
    position: absolute;
    right: 25px;
    bottom: 25px;
    color: var(--sell-gold);
    font-size: 20px;
}


/* =========================================================
   PROCESS
========================================================= */

.restate-sell-process {
    padding: 125px max(5%, 40px);
    background: var(--sell-deep);
    color: var(--sell-white);
}

.restate-sell-process-top {
    max-width: 1200px;
    margin: 0 auto 75px;
    display: grid;
    grid-template-columns: 1fr .65fr;
    gap: 100px;
    align-items: end;
}

.restate-sell-process-top > div > span {
    color: var(--sell-gold);
    font-size: 10px;
    letter-spacing: 2px;
    font-weight: 700;
}

.restate-sell-process-top h2 {
    margin: 25px 0 0;
    font-family: Georgia, serif;
    font-size: clamp(50px, 6vw, 80px);
    line-height: .95;
    font-weight: 400;
    letter-spacing: -3px;
}

.restate-sell-process-top h2 i {
    color: var(--sell-gold-light);
}

.restate-sell-process-top p {
    margin: 0;
    color: rgba(255,255,255,.58);
    font-size: 14px;
    line-height: 1.9;
}

.restate-sell-process-list {
    max-width: 1200px;
    margin: auto;
    border-top: 1px solid var(--sell-dark-line);
}

.restate-sell-process-item {
    min-height: 130px;
    display: grid;
    grid-template-columns: 90px 1fr 40px;
    align-items: center;
    gap: 30px;
    border-bottom: 1px solid var(--sell-dark-line);
    transition: padding .4s ease, background .4s ease;
}

.restate-sell-process-item:hover {
    padding-left: 20px;
    background: rgba(255,255,255,.025);
}

.restate-sell-process-item > span {
    color: var(--sell-gold);
    font-size: 11px;
    letter-spacing: 2px;
}

.restate-sell-process-item h3 {
    margin: 0 0 8px;
    font-family: Georgia, serif;
    font-size: 27px;
    font-weight: 400;
}

.restate-sell-process-item p {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,.5);
    font-size: 13px;
    line-height: 1.7;
}

.restate-sell-process-item b {
    color: var(--sell-gold);
    font-size: 25px;
    font-weight: 300;
}


/* =========================================================
   STORY / IMAGE COLLAGE
========================================================= */

.restate-sell-story {
    max-width: 1400px;
    margin: 0 auto;
    padding: 125px 5%;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 25px;
    background: var(--sell-paper);
}

.restate-sell-story-image-large {
    height: 700px;
    overflow: hidden;
}

.restate-sell-story-image-large a,
.restate-sell-story-image-large img {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-sell-story-image-large img {
    object-fit: cover;
    transition: transform 1s ease;
}

.restate-sell-story-image-large:hover img {
    transform: scale(1.05);
}

.restate-sell-story-side {
    display: grid;
    grid-template-rows: 55% 45%;
    gap: 25px;
}

.restate-sell-story-image-small {
    overflow: hidden;
}

.restate-sell-story-image-small a,
.restate-sell-story-image-small img {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-sell-story-image-small img {
    object-fit: cover;
    transition: transform 1s ease;
}

.restate-sell-story-image-small:hover img {
    transform: scale(1.05);
}

.restate-sell-story-text {
    padding: 45px;
    background: var(--sell-cream);
}

.restate-sell-story-text > span {
    color: var(--sell-gold);
    font-size: 9px;
    letter-spacing: 2px;
    font-weight: 700;
}

.restate-sell-story-text h3 {
    margin: 20px 0;
    font-family: Georgia, serif;
    font-size: clamp(35px, 4vw, 50px);
    line-height: 1;
    font-weight: 400;
}

.restate-sell-story-text h3 i {
    color: var(--sell-gold);
}

.restate-sell-story-text p {
    margin: 0;
    color: var(--sell-muted);
    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   STRATEGY
========================================================= */

.restate-sell-strategy {
    padding: 125px max(5%, 40px);
    background: var(--sell-cream);
}

.restate-sell-strategy-heading {
    max-width: 1200px;
    margin: auto;
}

.restate-sell-strategy-heading > span {
    color: var(--sell-gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.restate-sell-strategy-heading h2 {
    margin: 25px 0 70px;
    font-family: Georgia, serif;
    font-size: clamp(50px, 6vw, 80px);
    line-height: .95;
    font-weight: 400;
    letter-spacing: -3px;
}

.restate-sell-strategy-heading h2 i {
    color: var(--sell-gold);
}

.restate-sell-strategy-grid {
    max-width: 1200px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--sell-line);
    border-left: 1px solid var(--sell-line);
}

.restate-sell-strategy-card {
    min-height: 260px;
    padding: 32px;
    border-right: 1px solid var(--sell-line);
    border-bottom: 1px solid var(--sell-line);
    transition: background .35s ease, transform .35s ease;
}

.restate-sell-strategy-card:hover {
    background: var(--sell-paper);
    transform: translateY(-5px);
}

.restate-sell-strategy-card span {
    color: var(--sell-gold);
    font-size: 10px;
    letter-spacing: 2px;
}

.restate-sell-strategy-card h3 {
    margin: 55px 0 18px;
    font-family: Georgia, serif;
    font-size: 25px;
    font-weight: 400;
}

.restate-sell-strategy-card p {
    margin: 0;
    color: var(--sell-muted);
    font-size: 13px;
    line-height: 1.75;
}


/* =========================================================
   SUBMISSION FORM
========================================================= */

.restate-sell-submit {
    padding: 125px max(5%, 40px);
    background: var(--sell-paper);
}

.restate-sell-submit-intro {
    max-width: 1200px;
    margin: auto;
}

.restate-sell-submit-intro > span {
    color: var(--sell-gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.restate-sell-submit-intro h2 {
    margin: 25px 0;
    font-family: Georgia, serif;
    font-size: clamp(55px, 7vw, 90px);
    line-height: .9;
    font-weight: 400;
    letter-spacing: -4px;
}

.restate-sell-submit-intro h2 i {
    color: var(--sell-gold);
}

.restate-sell-submit-intro p {
    max-width: 620px;
    color: var(--sell-muted);
    font-size: 15px;
    line-height: 1.8;
}

.restate-sell-form-wrapper {
    max-width: 1200px;
    margin: 75px auto 0;
    padding: 60px;
    background: var(--sell-cream);
}

.restate-sell-form-heading {
    margin-bottom: 45px;
}

.restate-sell-form-heading span {
    color: var(--sell-gold);
    font-size: 9px;
    letter-spacing: 2px;
    font-weight: 700;
}

.restate-sell-form-heading h3 {
    margin: 15px 0 0;
    font-family: Georgia, serif;
    font-size: 36px;
    font-weight: 400;
}

.restate-sell-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    margin-bottom: 25px;
}

.restate-sell-field {
    display: flex;
    flex-direction: column;
}

.restate-sell-field label {
    margin-bottom: 10px;
    color: var(--sell-black);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.restate-sell-field input,
.restate-sell-field select,
.restate-sell-field textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--sell-line);
    outline: none;
    border-radius: 0;
    background: var(--sell-paper);
    color: var(--sell-black);
    padding: 16px 17px;
    font: inherit;
    font-size: 13px;
    transition:
        border-color .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}

.restate-sell-field textarea {
    resize: vertical;
    min-height: 170px;
}

.restate-sell-field input:focus,
.restate-sell-field select:focus,
.restate-sell-field textarea:focus {
    border-color: var(--sell-gold);
    background: var(--sell-white);
    box-shadow: 0 0 0 3px rgba(180,154,105,.08);
}

.restate-sell-field-full {
    margin-bottom: 25px;
}

.restate-sell-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 25px 0 35px;
    color: var(--sell-muted);
    font-size: 12px;
    line-height: 1.6;
}

.restate-sell-checkbox input {
    width: 16px;
    height: 16px;
    accent-color: var(--sell-gold);
    flex-shrink: 0;
    margin-top: 2px;
}

.restate-sell-submit-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 66px;
    padding: 0 27px;
    border: 1px solid var(--sell-black);
    background: var(--sell-black);
    color: var(--sell-white);
    cursor: pointer;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    transition:
        background .35s ease,
        color .35s ease,
        transform .35s ease;
}

.restate-sell-submit-btn b {
    color: var(--sell-gold);
    font-size: 20px;
    font-weight: 400;
}

.restate-sell-submit-btn:hover {
    background: var(--sell-gold);
    color: var(--sell-black);
    transform: translateY(-3px);
}

.restate-sell-submit-btn:hover b {
    color: var(--sell-black);
}


/* =========================================================
   NEXT STEPS
========================================================= */

.restate-sell-next {
    padding: 120px max(5%, 40px);
    background: var(--sell-black);
    color: var(--sell-white);
}

.restate-sell-next-heading {
    max-width: 1200px;
    margin: auto;
}

.restate-sell-next-heading > span {
    color: var(--sell-gold);
    font-size: 10px;
    letter-spacing: 2px;
    font-weight: 700;
}

.restate-sell-next-heading h2 {
    margin: 25px 0 70px;
    font-family: Georgia, serif;
    font-size: clamp(50px, 6vw, 80px);
    line-height: .95;
    font-weight: 400;
    letter-spacing: -3px;
}

.restate-sell-next-heading h2 i {
    color: var(--sell-gold-light);
}

.restate-sell-next-grid {
    max-width: 1200px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--sell-dark-line);
}

.restate-sell-next-item {
    min-height: 270px;
    padding: 30px;
    border-right: 1px solid var(--sell-dark-line);
    transition: background .35s ease;
}

.restate-sell-next-item:last-child {
    border-right: 0;
}

.restate-sell-next-item:hover {
    background: rgba(255,255,255,.035);
}

.restate-sell-next-item > span {
    color: var(--sell-gold);
    font-size: 10px;
    letter-spacing: 2px;
}

.restate-sell-next-item h3 {
    margin: 70px 0 18px;
    font-family: Georgia, serif;
    font-size: 24px;
    font-weight: 400;
}

.restate-sell-next-item p {
    margin: 0;
    color: rgba(255,255,255,.52);
    font-size: 13px;
    line-height: 1.75;
}


/* =========================================================
   FINAL CTA
========================================================= */

.restate-sell-final {
    position: relative;
    min-height: 700px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--sell-black);
    color: var(--sell-white);
}

.restate-sell-final-image {
    position: absolute;
    inset: 0;
}

.restate-sell-final-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-sell-final-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s ease;
}

.restate-sell-final:hover .restate-sell-final-image img {
    transform: scale(1.05);
}

.restate-sell-final-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(15,16,14,.95),
            rgba(15,16,14,.62),
            rgba(15,16,14,.18)
        );
}

.restate-sell-final-content {
    position: relative;
    z-index: 2;
    width: min(1200px, 90%);
    margin: auto;
}

.restate-sell-final-content > span {
    color: var(--sell-gold-light);
    font-size: 10px;
    letter-spacing: 3px;
    font-weight: 700;
}

.restate-sell-final-content h2 {
    max-width: 850px;
    margin: 30px 0;
    font-family: Georgia, serif;
    font-size: clamp(58px, 8vw, 110px);
    line-height: .9;
    font-weight: 400;
    letter-spacing: -5px;
}

.restate-sell-final-content h2 i {
    color: var(--sell-gold-light);
    font-weight: 400;
}

.restate-sell-final-content p {
    max-width: 530px;
    margin-bottom: 40px;
    color: rgba(255,255,255,.67);
    font-size: 15px;
    line-height: 1.8;
}

.restate-sell-final-btn {
    display: inline-flex;
    align-items: center;
    gap: 35px;
    min-height: 60px;
    padding: 0 27px;
    background: var(--sell-gold);
    color: var(--sell-black);
    text-decoration: none;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    transition:
        background .35s ease,
        transform .35s ease;
}

.restate-sell-final-btn span {
    font-size: 18px;
}

.restate-sell-final-btn:hover {
    background: var(--sell-white);
    transform: translateY(-4px);
}


/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media (max-width: 1050px) {

    .restate-sell-benefits {
        grid-template-columns: repeat(2, 1fr);
    }

    .restate-sell-benefit-card {
        border-bottom: 1px solid var(--sell-line);
    }

    .restate-sell-benefit-card:nth-child(2n) {
        border-right: 0;
    }

    .restate-sell-type-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .restate-sell-type-card {
        border-bottom: 1px solid var(--sell-line);
    }

    .restate-sell-next-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .restate-sell-next-item {
        border-bottom: 1px solid var(--sell-dark-line);
    }

    .restate-sell-story {
        grid-template-columns: 1fr;
    }

    .restate-sell-story-image-large {
        height: 550px;
    }

    .restate-sell-story-side {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr;
    }

    .restate-sell-story-image-small {
        min-height: 400px;
    }

}


/* =========================================================
   RESPONSIVE — MOBILE
========================================================= */

@media (max-width: 700px) {

    .restate-sell-hero {
        min-height: 690px;
    }

    .restate-sell-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(10,11,10,.94),
                rgba(10,11,10,.68)
            );
    }

    .restate-sell-hero-content {
        width: 88%;
        padding: 80px 0;
    }

    .restate-sell-hero h1 {
        font-size: clamp(55px, 16vw, 85px);
        letter-spacing: -3px;
    }

    .restate-sell-hero h1 em {
        padding-left: 35px;
    }

    .restate-sell-hero-description {
        margin-top: 35px;
        font-size: 14px;
    }

    .restate-sell-hero-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .restate-sell-btn-primary,
    .restate-sell-btn-ghost {
        width: 100%;
        box-sizing: border-box;
    }

    .restate-sell-hero-number {
        right: 20px;
        bottom: 25px;
    }

    .restate-sell-hero-number span {
        font-size: 35px;
    }


    .restate-sell-intro,
    .restate-sell-why,
    .restate-sell-types,
    .restate-sell-process,
    .restate-sell-strategy,
    .restate-sell-submit,
    .restate-sell-next {
        padding: 80px 6%;
    }

    .restate-sell-intro-main,
    .restate-sell-section-heading,
    .restate-sell-process-top {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .restate-sell-intro-main {
        margin-top: 50px;
    }

    .restate-sell-intro-heading h2,
    .restate-sell-section-heading h2,
    .restate-sell-types-heading h2,
    .restate-sell-process-top h2,
    .restate-sell-strategy-heading h2,
    .restate-sell-submit-intro h2,
    .restate-sell-next-heading h2 {
        letter-spacing: -2px;
    }


    .restate-sell-benefits {
        grid-template-columns: 1fr;
    }

    .restate-sell-benefit-card {
        min-height: 320px;
        border-right: 0;
    }

    .restate-sell-benefit-card:last-child {
        border-bottom: 0;
    }


    .restate-sell-feature {
        grid-template-columns: 1fr;
    }

    .restate-sell-feature-image {
        min-height: 400px;
    }

    .restate-sell-feature-content {
        padding: 75px 8%;
    }


    .restate-sell-type-grid {
        grid-template-columns: 1fr;
    }

    .restate-sell-type-card {
        min-height: 300px;
        border-right: 0;
    }


    .restate-sell-process-item {
        grid-template-columns: 45px 1fr;
        gap: 15px;
        padding: 25px 0;
    }

    .restate-sell-process-item b {
        display: none;
    }


    .restate-sell-story {
        padding: 80px 6%;
    }

    .restate-sell-story-image-large {
        height: 400px;
    }

    .restate-sell-story-side {
        display: flex;
        flex-direction: column;
    }

    .restate-sell-story-image-small {
        min-height: 350px;
    }

    .restate-sell-story-text {
        padding: 35px;
    }


    .restate-sell-strategy-grid {
        grid-template-columns: 1fr;
    }

    .restate-sell-strategy-card {
        min-height: 220px;
    }


    .restate-sell-form-wrapper {
        margin-top: 50px;
        padding: 30px 20px;
    }

    .restate-sell-form-row {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 20px;
    }

    .restate-sell-form-heading h3 {
        font-size: 29px;
    }


    .restate-sell-next-grid {
        grid-template-columns: 1fr;
    }

    .restate-sell-next-item {
        min-height: auto;
        padding: 30px 0;
        border-right: 0;
    }

    .restate-sell-next-item h3 {
        margin-top: 45px;
    }


    .restate-sell-final {
        min-height: 650px;
    }

    .restate-sell-final-content {
        width: 88%;
    }

    .restate-sell-final-content h2 {
        font-size: clamp(55px, 15vw, 85px);
        letter-spacing: -3px;
    }

    .restate-sell-final-btn {
        width: 100%;
        justify-content: space-between;
        box-sizing: border-box;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .restate-sell-hero {
        min-height: 650px;
    }

    .restate-sell-hero h1 {
        font-size: 53px;
    }

    .restate-sell-hero h1 em {
        padding-left: 20px;
    }

    .restate-sell-intro-heading h2,
    .restate-sell-section-heading h2,
    .restate-sell-types-heading h2,
    .restate-sell-process-top h2,
    .restate-sell-strategy-heading h2,
    .restate-sell-submit-intro h2,
    .restate-sell-next-heading h2 {
        font-size: 48px;
    }

    .restate-sell-feature-content h2 {
        font-size: 43px;
    }

    .restate-sell-form-wrapper {
        padding: 25px 16px;
    }

    .restate-sell-submit-btn {
        min-height: 60px;
        padding: 0 18px;
        font-size: 9px;
    }

}
/* =========================================================
   ROBERT ELITE ESTATES
   INVEST IN REAL ESTATE — CSS ONLY

   No body CSS
   No header CSS
   No sidebar CSS
   Unique class names: restate-invest-*
========================================================= */


/* =========================================================
   BASE / SECTION
========================================================= */

.restate-invest-section,
.restate-invest-section * {
    box-sizing: border-box;
}

.restate-invest-section {
    --restate-invest-gold: #c6a16a;
    --restate-invest-dark: #18231d;
    --restate-invest-muted: #777e77;
    --restate-invest-light: #f7f7f3;

    width: 100%;
    padding: 55px 4% 85px;
    background: var(--restate-invest-light);
    color: var(--restate-invest-dark);
    font-family: Inter, Arial, sans-serif;
    overflow: hidden;
}

.restate-invest-container {
    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
}

.restate-invest-section a {
    -webkit-tap-highlight-color: transparent;
}


/* =========================================================
   HERO
========================================================= */

.restate-invest-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 510px;
    overflow: hidden;
    isolation: isolate;
    border-radius: 8px;
    background: #24362b;
}

.restate-invest-hero-image {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 55%;
    animation: restateInvestHeroZoom 12s ease-in-out infinite alternate;
}

.restate-invest-hero::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";

    background:
        linear-gradient(
            90deg,
            rgba(13, 25, 18, .94) 0%,
            rgba(13, 25, 18, .76) 44%,
            rgba(13, 25, 18, .16) 100%
        );
}

@keyframes restateInvestHeroZoom {

    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.08);
    }

}

.restate-invest-hero-content {
    width: 100%;
    max-width: 770px;
    padding: clamp(30px, 7vw, 85px);
    color: #ffffff;

    animation:
        restateInvestRise .9s ease both;
}

@keyframes restateInvestRise {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================================
   HERO EYEBROW
========================================================= */

.restate-invest-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 25px;

    color: var(--restate-invest-gold);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 1.8;
}

.restate-invest-eyebrow::before {
    width: 35px;
    height: 1px;

    background: var(--restate-invest-gold);

    content: "";
}


/* =========================================================
   HERO TITLE
========================================================= */

.restate-invest-hero h1 {
    margin: 0 0 22px;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(38px, 5.8vw, 76px);
    font-weight: 400;
    line-height: 1.08;

    letter-spacing: -1.7px;
}

.restate-invest-hero h1 em {
    color: var(--restate-invest-gold);
    font-weight: 400;
}

.restate-invest-hero-description {
    max-width: 580px;
    margin: 0 0 32px;

    color: rgba(255,255,255,.84);

    font-size: 14px;
    line-height: 2;
}


/* =========================================================
   HERO BUTTONS
========================================================= */

.restate-invest-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}

.restate-invest-button {
    display: inline-flex;

    min-height: 51px;

    align-items: center;
    justify-content: center;
    gap: 22px;

    padding: 15px 22px;

    border: 1px solid transparent;
    border-radius: 3px;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;

    text-align: center;
    text-decoration: none;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.restate-invest-button span {
    font-size: 18px;

    transition:
        transform .3s ease;
}

.restate-invest-button:hover span {
    transform: translate(3px, -3px);
}


/* PRIMARY BUTTON */

.restate-invest-button-primary {
    background: var(--restate-invest-gold);
    color: #17231c;
}

.restate-invest-button-primary:hover {
    background: #e0c18e;
    transform: translateY(-3px);
}


/* OUTLINE BUTTON */

.restate-invest-button-outline {
    border-color: rgba(255,255,255,.5);
    color: #ffffff;
}

.restate-invest-button-outline:hover {
    border-color: #ffffff;
    background: rgba(255,255,255,.12);
}


/* HERO NOTE */

.restate-invest-hero-note {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-top: 32px;

    color: rgba(255,255,255,.73);

    font-size: 11px;
    line-height: 1.7;
}

.restate-invest-hero-note::before {
    width: 7px;
    height: 7px;

    flex: 0 0 7px;

    border-radius: 50%;

    background: var(--restate-invest-gold);

    content: "";
}


/* =========================================================
   INTRODUCTION
========================================================= */

.restate-invest-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, .8fr);

    gap: 55px;

    align-items: center;

    padding: 85px 3% 75px;
}

.restate-invest-section-label {
    display: block;

    margin-bottom: 17px;

    color: #a7834d;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.5px;
    line-height: 1.8;
}

.restate-invest-intro h2,
.restate-invest-heading h2 {
    margin: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(31px, 4vw, 47px);
    font-weight: 400;
    line-height: 1.2;

    letter-spacing: -.8px;
}

.restate-invest-intro h2 em,
.restate-invest-heading h2 em {
    color: var(--restate-invest-gold);
    font-weight: 400;
}

.restate-invest-intro-copy p {
    margin: 19px 0 0;

    color: var(--restate-invest-muted);

    font-size: 13px;
    line-height: 2;
}

.restate-invest-intro-highlight {
    padding: 30px;

    border-left: 3px solid var(--restate-invest-gold);

    background: #ffffff;

    box-shadow:
        0 12px 35px rgba(24,35,29,.04);
}

.restate-invest-intro-highlight strong {
    display: block;

    margin-bottom: 12px;

    font-family: Georgia, serif;

    font-size: 23px;
    font-weight: 400;
    line-height: 1.4;
}

.restate-invest-intro-highlight p {
    margin: 0;

    color: var(--restate-invest-muted);

    font-size: 12px;
    line-height: 1.9;
}


/* =========================================================
   OPPORTUNITIES SECTION
========================================================= */

.restate-invest-opportunities {
    padding: 55px 0 80px;
}

.restate-invest-heading {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 25px;

    margin-bottom: 35px;
}

.restate-invest-heading-copy {
    max-width: 680px;
}

.restate-invest-heading-description {
    max-width: 390px;

    margin: 0 0 5px;

    color: var(--restate-invest-muted);

    font-size: 12px;
    line-height: 1.9;
}


/* =========================================================
   INVESTMENT CARDS
========================================================= */

.restate-invest-cards {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 23px;
}

.restate-invest-card {
    min-width: 0;

    overflow: hidden;

    border: 1px solid #e9e8e1;
    border-radius: 5px;

    background: #ffffff;

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.restate-invest-card:hover {
    transform: translateY(-7px);

    box-shadow:
        0 20px 42px rgba(25,37,29,.10);
}


/* CARD IMAGE */

.restate-invest-card-image-wrap {
    position: relative;

    height: 240px;

    overflow: hidden;

    background: #e9e8e1;
}

.restate-invest-card-image-link {
    display: block;

    width: 100%;
    height: 100%;
}

.restate-invest-card-image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .7s ease;
}

.restate-invest-card:hover
.restate-invest-card-image {
    transform: scale(1.07);
}


/* CARD TAG */

.restate-invest-card-tag {
    position: absolute;

    top: 17px;
    left: 17px;

    padding: 9px 11px;

    background: rgba(255,255,255,.94);

    color: #28372c;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;

    pointer-events: none;
}


/* CARD CONTENT */

.restate-invest-card-content {
    padding: 25px 23px 23px;
}

.restate-invest-card-number {
    display: block;

    margin-bottom: 12px;

    color: var(--restate-invest-gold);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.restate-invest-card h3 {
    margin: 0 0 13px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 25px;
    font-weight: 400;

    line-height: 1.3;
}

.restate-invest-card p {
    min-height: 84px;

    margin: 0 0 23px;

    color: var(--restate-invest-muted);

    font-size: 12px;
    line-height: 1.9;
}


/* CARD LINK */

.restate-invest-card-link {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    padding-top: 16px;

    border-top: 1px solid #ecebe5;

    color: var(--restate-invest-dark);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .8px;

    text-decoration: none;
}

.restate-invest-card-link span {
    color: #ad874f;

    font-size: 20px;

    transition:
        transform .25s ease;
}

.restate-invest-card-link:hover span {
    transform: translateX(5px);
}


/* =========================================================
   BENEFITS SECTION
========================================================= */

.restate-invest-benefits {
    display: grid;

    grid-template-columns:
        minmax(0, .85fr)
        minmax(0, 1.15fr);

    gap: 55px;

    align-items: center;

    padding: 65px 0 85px;
}


/* BENEFITS IMAGE */

.restate-invest-benefits-image {
    position: relative;

    min-height: 460px;

    overflow: hidden;

    border-radius: 5px;

    background: #dedfd8;
}

.restate-invest-benefits-image a {
    display: block;

    height: 100%;

    min-height: 460px;
}

.restate-invest-benefits-image img {
    display: block;

    width: 100%;
    height: 100%;

    min-height: 460px;

    object-fit: cover;

    transition:
        transform .7s ease;
}

.restate-invest-benefits-image:hover img {
    transform: scale(1.04);
}


/* BENEFITS CONTENT */

.restate-invest-benefits-copy > p {
    margin: 20px 0 27px;

    color: var(--restate-invest-muted);

    font-size: 13px;
    line-height: 2;
}

.restate-invest-benefit-list {
    display: grid;
    gap: 0;
}

.restate-invest-benefit {
    display: grid;

    grid-template-columns:
        45px
        minmax(0, 1fr);

    gap: 16px;

    padding: 21px 0;

    border-bottom: 1px solid #e4e3dc;
}

.restate-invest-benefit-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 43px;
    height: 43px;

    border: 1px solid #e3d6c1;

    border-radius: 50%;

    color: #a7834d;

    font-size: 19px;

    transition:
        background .3s ease,
        color .3s ease;
}

.restate-invest-benefit:hover
.restate-invest-benefit-icon {
    background: var(--restate-invest-gold);
    color: #ffffff;
}

.restate-invest-benefit h3 {
    margin: 1px 0 7px;

    font-size: 14px;
    font-weight: 700;
}

.restate-invest-benefit p {
    margin: 0;

    color: var(--restate-invest-muted);

    font-size: 12px;
    line-height: 1.9;
}


/* =========================================================
   PROCESS SECTION
========================================================= */

.restate-invest-process {
    padding: 70px 5%;

    border-radius: 6px;

    background: #1b2920;

    color: #ffffff;
}

.restate-invest-process .restate-invest-heading {
    align-items: flex-start;
}

.restate-invest-process .restate-invest-heading h2 {
    color: #ffffff;
}

.restate-invest-process
.restate-invest-heading-description {
    color: #c1c8c0;
}

.restate-invest-process-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 24px;

    margin-top: 42px;
}

.restate-invest-process-step {
    padding: 25px 20px;

    border: 1px solid rgba(255,255,255,.13);

    border-radius: 4px;

    transition:
        border-color .3s ease,
        background .3s ease,
        transform .3s ease;
}

.restate-invest-process-step:hover {
    transform: translateY(-5px);

    border-color: var(--restate-invest-gold);

    background: rgba(255,255,255,.04);
}


/* PROCESS NUMBER */

.restate-invest-step-number {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 43px;
    height: 43px;

    margin-bottom: 23px;

    border: 1px solid var(--restate-invest-gold);

    border-radius: 50%;

    color: var(--restate-invest-gold);

    font-family: Georgia, serif;

    font-size: 18px;
}


/* PROCESS TEXT */

.restate-invest-process-step h3 {
    margin: 0 0 12px;

    color: #ffffff;

    font-family: Georgia, serif;

    font-size: 21px;
    font-weight: 400;

    line-height: 1.35;
}

.restate-invest-process-step p {
    margin: 0;

    color: #c1c8c0;

    font-size: 12px;

    line-height: 1.9;
}


/* =========================================================
   FINAL CTA
========================================================= */

.restate-invest-cta {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 35px;

    margin-top: 75px;

    padding: clamp(30px, 5vw, 60px);

    overflow: hidden;

    border: 1px solid #e8e3d8;

    border-radius: 5px;

    background: #ffffff;
}

.restate-invest-cta::after {
    position: absolute;

    top: -100px;
    right: -75px;

    width: 240px;
    height: 240px;

    border: 1px solid rgba(198,161,106,.25);

    border-radius: 50%;

    box-shadow:
        0 0 0 25px rgba(198,161,106,.045),
        0 0 0 50px rgba(198,161,106,.035);

    content: "";

    pointer-events: none;
}

.restate-invest-cta-content {
    position: relative;
    z-index: 1;

    max-width: 700px;
}

.restate-invest-cta h2 {
    margin: 0 0 15px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(29px, 4vw, 44px);
    font-weight: 400;

    line-height: 1.25;
}

.restate-invest-cta h2 em {
    color: var(--restate-invest-gold);

    font-weight: 400;
}

.restate-invest-cta p {
    max-width: 650px;

    margin: 0;

    color: var(--restate-invest-muted);

    font-size: 13px;
    line-height: 2;
}

.restate-invest-cta-actions {
    position: relative;
    z-index: 1;
}

.restate-invest-cta-actions
.restate-invest-button {
    background: var(--restate-invest-dark);
    color: #ffffff;

    white-space: nowrap;
}

.restate-invest-cta-actions
.restate-invest-button:hover {
    background: #344b3a;

    transform: translateY(-3px);
}


/* =========================================================
   DISCLAIMER
========================================================= */

.restate-invest-disclaimer {
    max-width: 1100px;

    margin: 28px auto 0;

    color: #858981;

    font-size: 10px;
    line-height: 1.9;

    text-align: center;
}


/* =========================================================
   SCROLL REVEAL ANIMATION
========================================================= */

.restate-invest-reveal {
    opacity: 0;

    transform: translateY(22px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}

.restate-invest-reveal.restate-invest-in-view {
    opacity: 1;

    transform: translateY(0);
}


/* CARD STAGGER EFFECT */

.restate-invest-cards
.restate-invest-card:nth-child(2) {
    transition-delay: .1s;
}

.restate-invest-cards
.restate-invest-card:nth-child(3) {
    transition-delay: .2s;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .restate-invest-section {
        padding-right: 3%;
        padding-left: 3%;
    }

    .restate-invest-hero {
        min-height: 460px;
    }

    .restate-invest-intro {
        gap: 30px;

        padding-right: 1%;
        padding-left: 1%;
    }

    .restate-invest-cards {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .restate-invest-card:last-child {
        grid-column: 1 / -1;
    }

    .restate-invest-card:last-child
    .restate-invest-card-image-wrap {
        height: 280px;
    }

    .restate-invest-process-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .restate-invest-benefits {
        gap: 32px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .restate-invest-section {
        padding: 25px 15px 55px;
    }


    /* HERO */

    .restate-invest-hero {
        min-height: 490px;

        border-radius: 4px;
    }

    .restate-invest-hero::after {
        background:
            linear-gradient(
                90deg,
                rgba(13,25,18,.91),
                rgba(13,25,18,.59)
            );
    }

    .restate-invest-hero-content {
        padding: 30px 23px;
    }

    .restate-invest-eyebrow {
        margin-bottom: 20px;

        font-size: 9px;
        letter-spacing: 2px;
    }

    .restate-invest-hero h1 {
        font-size: clamp(38px, 11vw, 57px);

        letter-spacing: -.8px;
    }

    .restate-invest-hero-description {
        font-size: 12px;

        line-height: 1.9;
    }


    /* HERO BUTTONS */

    .restate-invest-hero-actions {
        align-items: stretch;

        flex-direction: column;
    }

    .restate-invest-button {
        width: 100%;
    }

    .restate-invest-hero-note {
        align-items: flex-start;

        font-size: 10px;
    }


    /* INTRO */

    .restate-invest-intro {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 24px;

        padding: 55px 0;
    }

    .restate-invest-intro h2,
    .restate-invest-heading h2 {
        font-size: 34px;
    }

    .restate-invest-intro-highlight {
        padding: 23px;
    }


    /* OPPORTUNITIES */

    .restate-invest-opportunities {
        padding: 30px 0 55px;
    }

    .restate-invest-heading {
        align-items: flex-start;

        flex-direction: column;

        gap: 17px;

        margin-bottom: 25px;
    }

    .restate-invest-heading-description {
        font-size: 12px;
    }

    .restate-invest-cards {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 20px;
    }

    .restate-invest-card:last-child {
        grid-column: auto;
    }

    .restate-invest-card-image-wrap,
    .restate-invest-card:last-child
    .restate-invest-card-image-wrap {
        height: 235px;
    }

    .restate-invest-card-content {
        padding: 23px 20px;
    }

    .restate-invest-card h3 {
        font-size: 24px;
    }

    .restate-invest-card p {
        min-height: 0;
    }


    /* BENEFITS */

    .restate-invest-benefits {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 30px;

        padding: 50px 0 60px;
    }

    .restate-invest-benefits-image,
    .restate-invest-benefits-image a,
    .restate-invest-benefits-image img {
        min-height: 0;

        height: 300px;
    }


    /* PROCESS */

    .restate-invest-process {
        padding: 40px 20px;
    }

    .restate-invest-process-grid {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 13px;

        margin-top: 28px;
    }

    .restate-invest-process-step {
        padding: 22px;
    }

    .restate-invest-step-number {
        margin-bottom: 16px;
    }


    /* CTA */

    .restate-invest-cta {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 25px;

        margin-top: 50px;

        padding: 28px 22px;
    }

    .restate-invest-cta h2 {
        font-size: 32px;
    }


    /* DISCLAIMER */

    .restate-invest-disclaimer {
        font-size: 10px;

        text-align: left;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .restate-invest-section *,
    .restate-invest-section *::before,
    .restate-invest-section *::after {
        animation-duration: .01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: .01ms !important;

        scroll-behavior: auto !important;
    }

    .restate-invest-reveal {
        opacity: 1;

        transform: none;
    }

}
/* =========================================================
   ROBERT ELITE ESTATES
   BUY PROPERTY - UNIQUE CSS
   NO BODY / HEADER / SIDEBAR STYLES
========================================================= */

.restate-buyx-section {
    --buyx-gold: #b8945f;
    --buyx-gold-dark: #967341;
    --buyx-dark: #17201c;
    --buyx-dark-2: #202a25;
    --buyx-text: #202622;
    --buyx-muted: #727973;
    --buyx-light: #f5f5f1;
    --buyx-white: #ffffff;
    --buyx-border: #e5e6e1;

    width: 100%;
    overflow: hidden;
    font-family: "Inter", Arial, sans-serif;
    color: var(--buyx-text);
    background: #fafaf8;
}


/* =========================================================
   HERO
========================================================= */

.restate-buyx-hero {
    position: relative;
    min-height: 410px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;

    background-image:
        url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1900&q=90");

    background-size: cover;
    background-position: center;
}

.restate-buyx-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(9, 15, 12, .82),
            rgba(9, 15, 12, .48),
            rgba(9, 15, 12, .20)
        );
    z-index: 1;
}

.restate-buyx-hero-content {
    position: relative;
    z-index: 2;
    width: min(1180px, 92%);
    padding: 75px 0;
    color: #fff;
    animation: restateBuyxHeroIn 1s ease both;
}

.restate-buyx-eyebrow {
    display: inline-block;
    margin-bottom: 17px;
    color: #e3c48e;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    padding-top: 2rem;
}

.restate-buyx-hero h1 {
    max-width: 780px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 6vw, 76px);
    line-height: 1.02;
    font-weight: 400;
}

.restate-buyx-hero h1 span {
    display: block;
    color: #d8b778;
    font-style: italic;
}

.restate-buyx-hero p {
    max-width: 670px;
    margin: 25px 0 0;
    color: rgba(255,255,255,.84);
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================================
   SEARCH BOX
========================================================= */

.restate-buyx-search-wrap {
    position: relative;
    z-index: 5;
    width: min(1180px, 92%);
    margin: -55px auto 70px;
    padding: 30px;
    background: rgba(255,255,255,.97);
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 5px;
    box-shadow: 0 25px 65px rgba(25,31,27,.14);
    animation: restateBuyxSearchUp .8s ease .2s both;
}

.restate-buyx-search-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    margin-bottom: 25px;
}

.restate-buyx-search-head span {
    color: var(--buyx-gold-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.restate-buyx-search-head h2 {
    margin: 5px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 400;
}

.restate-buyx-save-search {
    padding: 12px 19px;
    border: 1px solid var(--buyx-border);
    border-radius: 3px;
    background: #fff;
    color: var(--buyx-dark);
    cursor: pointer;
    transition: .3s ease;
}

.restate-buyx-save-search:hover {
    border-color: var(--buyx-gold);
    color: var(--buyx-gold-dark);
    transform: translateY(-2px);
}

.restate-buyx-search-grid {
    display: grid;
    grid-template-columns:
        1.5fr
        1fr
        1.4fr
        .85fr
        auto;
    gap: 12px;
    align-items: end;
}

.restate-buyx-field label {
    display: block;
    margin-bottom: 8px;
    color: #606760;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.restate-buyx-input,
.restate-buyx-field select {
    width: 100%;
    height: 50px;
    box-sizing: border-box;
    border: 1px solid #dedfd9;
    border-radius: 3px;
    background: #fff;
    color: #303632;
    outline: none;
    transition: .3s ease;
}

.restate-buyx-input {
    display: flex;
    align-items: center;
    padding: 0 14px;
}

.restate-buyx-input span {
    margin-right: 8px;
    color: var(--buyx-gold);
}

.restate-buyx-input input {
    width: 100%;
    border: 0;
    outline: 0;
    font-size: 14px;
}

.restate-buyx-field select {
    padding: 0 12px;
    cursor: pointer;
}

.restate-buyx-input:focus-within,
.restate-buyx-field select:focus {
    border-color: var(--buyx-gold);
    box-shadow: 0 0 0 3px rgba(184,148,95,.09);
}

.restate-buyx-price {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 6px;
}

.restate-buyx-price input {
    width: 100%;
    height: 50px;
    box-sizing: border-box;
    padding: 0 10px;
    border: 1px solid #dedfd9;
    outline: none;
    font-size: 13px;
}

.restate-buyx-price span {
    color: #aaa;
}

.restate-buyx-search-button {
    height: 50px;
    padding: 0 20px;
    border: 0;
    border-radius: 3px;
    background: var(--buyx-dark);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    white-space: nowrap;
    transition: .3s ease;
}

.restate-buyx-search-button strong {
    color: #d8b778;
    font-size: 20px;
    font-weight: 400;
}

.restate-buyx-search-button:hover {
    background: var(--buyx-gold-dark);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(150,115,65,.22);
}


/* =========================================================
   QUICK FILTERS
========================================================= */

.restate-buyx-quick {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #eeeeea;
}

.restate-buyx-quick-title {
    margin-right: 7px;
    color: #777d77;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.restate-buyx-quick button {
    padding: 8px 13px;
    border: 1px solid #e0e1dc;
    border-radius: 30px;
    background: #fff;
    color: #5e645e;
    font-size: 12px;
    cursor: pointer;
    transition: .3s ease;
}

.restate-buyx-quick button:hover {
    border-color: var(--buyx-gold);
    color: var(--buyx-gold-dark);
    transform: translateY(-2px);
}


/* =========================================================
   MAIN CONTENT
========================================================= */

.restate-buyx-content {
    width: min(1180px, 92%);
    margin: 0 auto 80px;
}

.restate-buyx-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 35px;
}

.restate-buyx-small-label {
    color: var(--buyx-gold-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.restate-buyx-heading h2 {
    margin: 7px 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 400;
    line-height: 1.1;
}

.restate-buyx-heading h2 span {
    color: var(--buyx-gold);
    font-style: italic;
}

.restate-buyx-heading p {
    max-width: 650px;
    margin: 0;
    color: var(--buyx-muted);
    font-size: 14px;
    line-height: 1.8;
}

.restate-buyx-sort {
    min-width: 210px;
}

.restate-buyx-sort label {
    display: block;
    margin-bottom: 7px;
    color: #747a74;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.restate-buyx-sort select {
    width: 100%;
    height: 45px;
    padding: 0 12px;
    border: 1px solid #dddeda;
    background: #fff;
    outline: none;
    color: #454b46;
}


/* =========================================================
   FEATURED STRIP
========================================================= */

.restate-buyx-featured-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    margin-bottom: 30px;
    padding: 27px 30px;
    background: var(--buyx-dark);
    color: #fff;
    overflow: hidden;
    position: relative;
}

.restate-buyx-featured-strip::after {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    right: -80px;
    top: -130px;
    border: 1px solid rgba(216,183,120,.3);
    border-radius: 50%;
}

.restate-buyx-featured-strip span {
    color: #d9b979;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.restate-buyx-featured-strip h3 {
    margin: 6px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 400;
}

.restate-buyx-featured-strip p {
    max-width: 460px;
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: 13px;
    line-height: 1.7;
}


/* =========================================================
   PROPERTY GRID
========================================================= */

.restate-buyx-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.restate-buyx-card {
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e7e8e3;
    transition:
        transform .4s ease,
        box-shadow .4s ease;
    animation: restateBuyxCardIn .7s ease both;
}

.restate-buyx-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(31,39,34,.13);
}

.restate-buyx-image {
    position: relative;
    height: 275px;
    overflow: hidden;
    background: #ddd;
}

.restate-buyx-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-buyx-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .7s ease,
        filter .5s ease;
}

.restate-buyx-card:hover .restate-buyx-image img {
    transform: scale(1.07);
    filter: saturate(1.05);
}

.restate-buyx-badge {
    position: absolute;
    left: 15px;
    top: 15px;
    padding: 7px 11px;
    background: var(--buyx-gold);
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.restate-buyx-badge.restate-buyx-new {
    background: var(--buyx-dark);
}

.restate-buyx-heart {
    position: absolute;
    right: 15px;
    top: 14px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: #303631;
    font-size: 20px;
    line-height: 38px;
    cursor: pointer;
    transition: .3s ease;
}

.restate-buyx-heart:hover {
    color: #a06e42;
    transform: scale(1.1);
}

.restate-buyx-photo-count {
    position: absolute;
    left: 15px;
    bottom: 15px;
    padding: 7px 10px;
    background: rgba(20,26,22,.78);
    color: #fff;
    font-size: 10px;
    letter-spacing: .5px;
}

.restate-buyx-card-body {
    padding: 22px;
}

.restate-buyx-location-text {
    margin-bottom: 8px;
    color: var(--buyx-gold-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.restate-buyx-card h3 {
    margin: 0;
    color: var(--buyx-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.25;
}

.restate-buyx-description {
    min-height: 67px;
    margin: 12px 0 17px;
    color: #737973;
    font-size: 13px;
    line-height: 1.7;
}

.restate-buyx-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 14px 0;
    border-top: 1px solid #ecece8;
    border-bottom: 1px solid #ecece8;
}

.restate-buyx-specs span {
    padding: 0 12px;
    border-right: 1px solid #dedfda;
    color: #555b56;
    font-size: 11px;
}

.restate-buyx-specs span:first-child {
    padding-left: 0;
}

.restate-buyx-specs span:last-child {
    border-right: 0;
}

.restate-buyx-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding-top: 18px;
}

.restate-buyx-card-footer strong {
    color: var(--buyx-dark);
    font-size: 18px;
    font-weight: 700;
}

.restate-buyx-card-footer a {
    color: var(--buyx-gold-dark);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    transition: .3s ease;
}

.restate-buyx-card-footer a:hover {
    color: var(--buyx-dark);
    transform: translateX(4px);
}


/* =========================================================
   LOAD MORE
========================================================= */

.restate-buyx-load-area {
    display: flex;
    justify-content: center;
    padding: 45px 0 15px;
}

.restate-buyx-load-button {
    padding: 14px 27px;
    border: 1px solid var(--buyx-dark);
    background: transparent;
    color: var(--buyx-dark);
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.4px;
    transition: .3s ease;
}

.restate-buyx-load-button span {
    margin-left: 12px;
    color: var(--buyx-gold);
    font-size: 17px;
}

.restate-buyx-load-button:hover {
    background: var(--buyx-dark);
    color: #fff;
    transform: translateY(-3px);
}


/* =========================================================
   DESTINATIONS
========================================================= */

.restate-buyx-destinations {
    padding: 80px 4%;
    background: #f0f1ed;
}

.restate-buyx-destination-heading {
    width: min(1180px, 100%);
    margin: 0 auto 35px;
}

.restate-buyx-destination-heading span {
    color: var(--buyx-gold-dark);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.restate-buyx-destination-heading h2 {
    margin: 7px 0 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 400;
}

.restate-buyx-destination-heading em {
    color: var(--buyx-gold);
}

.restate-buyx-destination-heading p {
    max-width: 600px;
    margin: 0;
    color: #727871;
    line-height: 1.8;
    font-size: 14px;
}

.restate-buyx-destination-grid {
    width: min(1180px, 100%);
    margin: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.restate-buyx-destination-card {
    position: relative;
    height: 330px;
    overflow: hidden;
    text-decoration: none;
    background: #222;
}

.restate-buyx-destination-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to top,
            rgba(10,15,12,.82),
            rgba(10,15,12,.08) 65%
        );
}

.restate-buyx-destination-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .7s ease;
}

.restate-buyx-destination-card:hover img {
    transform: scale(1.08);
}

.restate-buyx-destination-card div {
    position: absolute;
    z-index: 2;
    left: 22px;
    right: 20px;
    bottom: 22px;
    color: #fff;
}

.restate-buyx-destination-card span {
    color: #d9b979;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.restate-buyx-destination-card h3 {
    margin: 5px 0 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    font-weight: 400;
}

.restate-buyx-destination-card strong {
    font-size: 10px;
    letter-spacing: 1px;
    transition: .3s ease;
}

.restate-buyx-destination-card:hover strong {
    color: #d9b979;
}


/* =========================================================
   FINAL CTA
========================================================= */

.restate-buyx-final {
    width: min(1180px, 92%);
    margin: 80px auto;
    padding: 55px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    background:
        linear-gradient(
            110deg,
            #17201c,
            #25302a
        );
    color: #fff;
    position: relative;
    overflow: hidden;
}

.restate-buyx-final::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(216,183,120,.22);
    border-radius: 50%;
    right: -160px;
    top: -160px;
}

.restate-buyx-final > div {
    position: relative;
    z-index: 2;
}

.restate-buyx-final span {
    color: #d9b979;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.restate-buyx-final h2 {
    margin: 8px 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 400;
}

.restate-buyx-final h2 em {
    color: #d9b979;
}

.restate-buyx-final p {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,.67);
    font-size: 14px;
    line-height: 1.8;
}

.restate-buyx-final-button {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 16px 22px;
    background: #d1ad70;
    color: #1c251f;
    text-decoration: none;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
    white-space: nowrap;
    transition: .3s ease;
}

.restate-buyx-final-button strong {
    font-size: 19px;
    font-weight: 400;
}

.restate-buyx-final-button:hover {
    background: #fff;
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(0,0,0,.2);
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes restateBuyxHeroIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes restateBuyxSearchUp {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes restateBuyxCardIn {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .restate-buyx-search-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .restate-buyx-search-button {
        width: 100%;
        justify-content: center;
    }

    .restate-buyx-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .restate-buyx-destination-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .restate-buyx-destination-card {
        height: 300px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .restate-buyx-hero {
        min-height: 440px;
    }

    .restate-buyx-hero-content {
        padding: 60px 0;
    }

    .restate-buyx-hero h1 {
        font-size: 43px;
    }

    .restate-buyx-search-wrap {
        width: 90%;
        margin-top: -35px;
        padding: 20px;
    }

    .restate-buyx-search-head {
        display: block;
    }

    .restate-buyx-save-search {
        margin-top: 15px;
    }

    .restate-buyx-search-grid {
        grid-template-columns: 1fr;
    }

    .restate-buyx-heading {
        display: block;
    }

    .restate-buyx-sort {
        margin-top: 25px;
        width: 100%;
    }

    .restate-buyx-featured-strip {
        display: block;
        padding: 25px;
    }

    .restate-buyx-featured-strip p {
        margin-top: 15px;
    }

    .restate-buyx-grid {
        grid-template-columns: 1fr;
    }

    .restate-buyx-image {
        height: 285px;
    }

    .restate-buyx-destinations {
        padding: 60px 5%;
    }

    .restate-buyx-destination-grid {
        grid-template-columns: 1fr;
    }

    .restate-buyx-destination-card {
        height: 310px;
    }

    .restate-buyx-final {
        display: block;
        width: 90%;
        padding: 38px 25px;
        margin: 60px auto;
    }

    .restate-buyx-final-button {
        margin-top: 25px;
        white-space: normal;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 430px) {

    .restate-buyx-hero h1 {
        font-size: 36px;
    }

    .restate-buyx-hero p {
        font-size: 14px;
    }

    .restate-buyx-search-head h2 {
        font-size: 25px;
    }

    .restate-buyx-card h3 {
        font-size: 22px;
    }

    .restate-buyx-card-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .restate-buyx-specs {
        gap: 8px 0;
    }

    .restate-buyx-specs span {
        font-size: 10px;
    }

    .restate-buyx-final h2 {
        font-size: 34px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .restate-buyx-card,
    .restate-buyx-hero-content,
    .restate-buyx-search-wrap {
        animation: none;
    }

    .restate-buyx-image img,
    .restate-buyx-destination-card img,
    .restate-buyx-card,
    .restate-buyx-button,
    .restate-buyx-final-button {
        transition: none;
    }

}
/* =========================================================
   PROPERTY IMAGE CAROUSEL
========================================================= */

.restate-buyx-carousel {
    position: relative;
    overflow: hidden;
}


/* IMAGE LINK */

.restate-buyx-image-link {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 1;
}


/* ALL SLIDES */

.restate-buyx-slide {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    opacity: 0;

    visibility: hidden;

    transform: scale(1.03);

    transition:
        opacity .55s ease,
        visibility .55s ease,
        transform .8s ease;
}


/* ACTIVE SLIDE */

.restate-buyx-slide.restate-buyx-slide-active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}


/* =========================================================
   CAROUSEL ARROWS
========================================================= */

.restate-buyx-carousel-arrow {
    position: absolute;

    top: 50%;
    transform: translateY(-50%);

    z-index: 8;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.65);

    border-radius: 50%;

    background: rgba(20,25,22,.65);

    backdrop-filter: blur(5px);

    color: #fff;

    font-size: 30px;

    line-height: 1;

    cursor: pointer;

    opacity: 0;

    transition:
        opacity .3s ease,
        background .3s ease,
        transform .3s ease;
}


/* LEFT */

.restate-buyx-carousel-prev {
    left: 15px;
}


/* RIGHT */

.restate-buyx-carousel-next {
    right: 15px;
}


/* SHOW ARROWS */

.restate-buyx-carousel:hover
.restate-buyx-carousel-arrow {
    opacity: 1;
}


/* ARROW HOVER */

.restate-buyx-carousel-arrow:hover {
    background: #b8945f;

    border-color: #b8945f;

    transform:
        translateY(-50%)
        scale(1.08);
}


/* =========================================================
   IMAGE COUNTER
========================================================= */

.restate-buyx-photo-count {
    z-index: 10;
}


/* =========================================================
   CAROUSEL DOTS
========================================================= */

.restate-buyx-carousel-dots {
    position: absolute;

    left: 50%;
    bottom: 15px;

    z-index: 9;

    transform: translateX(-50%);

    display: flex;

    align-items: center;

    gap: 6px;

    padding: 7px 10px;

    border-radius: 30px;

    background: rgba(15,20,17,.55);

    backdrop-filter: blur(5px);

    opacity: 0;

    transition: opacity .3s ease;
}


.restate-buyx-carousel:hover
.restate-buyx-carousel-dots {
    opacity: 1;
}


.restate-buyx-dot {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: rgba(255,255,255,.55);

    cursor: pointer;

    transition:
        width .3s ease,
        background .3s ease;
}


.restate-buyx-dot-active {
    width: 19px;

    border-radius: 10px;

    background: #d4b477;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .restate-buyx-carousel-arrow {
        width: 38px;
        height: 38px;

        opacity: 1;

        font-size: 26px;
    }

    .restate-buyx-carousel-prev {
        left: 10px;
    }

    .restate-buyx-carousel-next {
        right: 10px;
    }

    .restate-buyx-carousel-dots {
        opacity: 1;
        bottom: 12px;
    }

}


/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none) {

    .restate-buyx-carousel-arrow {
        opacity: 1;
    }

    .restate-buyx-carousel-dots {
        opacity: 1;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .restate-buyx-slide {
        transition: opacity .2s ease;
        transform: none;
    }

    .restate-buyx-carousel-arrow,
    .restate-buyx-dot {
        transition: none;
    }

}
/* =========================================================
   ACCESSIBILITY
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .restate-contact-page *,
    .restate-contact-page *::before,
    .restate-contact-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}


/* =====================================
   ROBERT ELITE ESTATES FAQ PAGE
===================================== */

.ree-faq-page {
    --ree-faq-green: #174d3a;
    --ree-faq-green-dark: #103729;
    --ree-faq-gold: #c9a45c;
    --ree-faq-text: #26352f;
    --ree-faq-muted: #718078;
    --ree-faq-border: #e4eae6;
    --ree-faq-bg: #f7f9f7;

    width: 100%;
    color: var(--ree-faq-text);
    background: #fff;
    font-family: Inter, Arial, sans-serif;
    overflow: hidden;
}

.ree-faq-page *,
.ree-faq-page *::before,
.ree-faq-page *::after {
    box-sizing: border-box;
}

.ree-faq-page a {
    text-decoration: none;
}

/* HERO */

.ree-faq-hero {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 65px 25px;
    text-align: center;
    color: #fff;
    background:
        linear-gradient(120deg,
        rgba(10, 37, 27, 0.93),
        rgba(23, 77, 58, 0.78)),
        url("assets/img/bg/home-bg.jpg") center/cover no-repeat;
}

.ree-faq-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(201, 164, 92, 0.10),
        transparent 55%
    );
    pointer-events: none;
}

.ree-faq-hero-content {
    position: relative;
    z-index: 1;
    max-width: 850px;
    animation: reeFaqFadeUp 0.8s ease both;
}

.ree-faq-eyebrow,
.ree-faq-label {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
    color: var(--ree-faq-gold);
}

.ree-faq-hero h1 {
    margin: 17px 0;
    color: #fff;
    font-size: clamp(32px, 5vw, 52px);
    line-height: 1.15;
    font-weight: 800;
}

.ree-faq-hero-content > p {
    max-width: 650px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.84);
    font-size: 15px;
    line-height: 1.9;
}

.ree-faq-breadcrumb {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 23px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
}

.ree-faq-breadcrumb a {
    color: var(--ree-faq-gold);
}

/* MAIN CONTAINER */

.ree-faq-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 85px 0;
}

.ree-faq-intro {
    max-width: 740px;
    margin: 0 auto 35px;
    text-align: center;
}

.ree-faq-intro h2 {
    margin: 12px 0;
    font-size: clamp(27px, 3vw, 38px);
    line-height: 1.25;
    color: var(--ree-faq-green-dark);
}

.ree-faq-intro p {
    margin: 0;
    color: var(--ree-faq-muted);
    font-size: 14px;
    line-height: 1.9;
}

/* SEARCH */

.ree-faq-search {
    display: flex;
    align-items: center;
    max-width: 760px;
    margin: 0 auto 28px;
    padding: 7px;
    border: 1px solid var(--ree-faq-border);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 35px rgba(18, 57, 40, 0.055);
    transition: border-color 0.3s, box-shadow 0.3s;
}

.ree-faq-search:focus-within {
    border-color: var(--ree-faq-green);
    box-shadow: 0 0 0 4px rgba(23, 77, 58, 0.08);
}

.ree-faq-search-icon {
    padding: 0 13px;
    font-size: 24px;
    color: var(--ree-faq-green);
}

.ree-faq-search input {
    flex: 1;
    width: 100%;
    min-width: 0;
    border: none;
    outline: none;
    padding: 13px 5px;
    color: var(--ree-faq-text);
    background: transparent;
    font-size: 14px;
}

.ree-faq-search button {
    border: none;
    border-radius: 7px;
    padding: 13px 22px;
    color: #fff;
    background: var(--ree-faq-green);
    font-weight: 700;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
}

.ree-faq-search button:hover {
    background: var(--ree-faq-green-dark);
    transform: translateY(-1px);
}

/* CATEGORY FILTERS */

.ree-faq-categories {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 55px;
}

.ree-faq-category {
    padding: 11px 16px;
    border: 1px solid var(--ree-faq-border);
    border-radius: 6px;
    color: #56665d;
    background: #fff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.25s ease;
}

.ree-faq-category:hover,
.ree-faq-category.active {
    color: #fff;
    border-color: var(--ree-faq-green);
    background: var(--ree-faq-green);
    box-shadow: 0 5px 15px rgba(23, 77, 58, 0.14);
}

/* CONTENT GRID */

.ree-faq-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    align-items: start;
    gap: 35px;
}

.ree-faq-main {
    min-width: 0;
}

.ree-faq-section {
    margin-bottom: 45px;
    animation: reeFaqFadeUp 0.6s ease both;
}

.ree-faq-section-heading {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-bottom: 20px;
}

.ree-faq-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 51px;
    width: 51px;
    height: 51px;
    border-radius: 9px;
    color: var(--ree-faq-green);
    background: #eaf2ed;
    font-size: 15px;
    font-weight: 800;
}

.ree-faq-section-heading h3 {
    margin: 0 0 5px;
    color: var(--ree-faq-green-dark);
    font-size: 21px;
    line-height: 1.4;
}

.ree-faq-section-heading p {
    margin: 0;
    color: var(--ree-faq-muted);
    font-size: 12px;
    line-height: 1.6;
}

/* FAQ ACCORDION */

.ree-faq-list {
    border-top: 1px solid var(--ree-faq-border);
}

.ree-faq-item {
    border-bottom: 1px solid var(--ree-faq-border);
    background: #fff;
    transition: background 0.3s;
}

.ree-faq-item[hidden],
.ree-faq-section[hidden] {
    display: none !important;
}

.ree-faq-item:hover {
    background: #fbfcfb;
}

.ree-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    padding: 23px 5px;
    border: none;
    background: transparent;
    color: #273a30;
    text-align: left;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.7;
    cursor: pointer;
}

.ree-faq-question > span:first-child {
    flex: 1;
}

.ree-faq-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 29px;
    width: 29px;
    height: 29px;
    border: 1px solid #dce6df;
    border-radius: 50%;
    color: var(--ree-faq-green);
    font-size: 20px;
    font-weight: 400;
    transition: transform 0.3s, background 0.3s, color 0.3s;
}

.ree-faq-item.is-open .ree-faq-toggle {
    transform: rotate(45deg);
    background: var(--ree-faq-green);
    color: #fff;
}

.ree-faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows 0.35s ease, opacity 0.3s ease;
}

.ree-faq-answer p {
    min-height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0 42px 0 5px;
    color: var(--ree-faq-muted);
    font-size: 13px;
    line-height: 1.95;
}

.ree-faq-item.is-open .ree-faq-answer {
    grid-template-rows: 1fr;
    opacity: 1;
}

.ree-faq-item.is-open .ree-faq-answer p {
    padding-bottom: 23px;
}

/* SIDEBAR */

.ree-faq-sidebar {
    position: sticky;
    top: 25px;
}

.ree-faq-help-card {
    padding: 30px 25px;
    border-radius: 12px;
    color: #fff;
    background:
        linear-gradient(145deg,
        rgba(16, 55, 41, 0.98),
        rgba(23, 77, 58, 0.94));
    box-shadow: 0 15px 40px rgba(16, 55, 41, 0.12);
}

.ree-faq-help-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 22px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    color: var(--ree-faq-gold);
    font-size: 25px;
}

.ree-faq-help-card > span {
    color: var(--ree-faq-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.ree-faq-help-card h3 {
    margin: 13px 0;
    color: #fff;
    font-size: 25px;
    line-height: 1.35;
}

.ree-faq-help-card p {
    margin: 0 0 24px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 13px;
    line-height: 1.9;
}

.ree-faq-contact-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 15px;
    border-radius: 6px;
    color: var(--ree-faq-green-dark);
    background: var(--ree-faq-gold);
    font-size: 12px;
    font-weight: 800;
    transition: background 0.3s, transform 0.3s;
}

.ree-faq-contact-btn:hover {
    color: var(--ree-faq-green-dark);
    background: #e0c27e;
    transform: translateY(-2px);
}

.ree-faq-note-card {
    margin-top: 22px;
    padding: 25px;
    border: 1px solid var(--ree-faq-border);
    border-radius: 10px;
    background: var(--ree-faq-bg);
}

.ree-faq-note-card h4 {
    margin: 0 0 17px;
    color: var(--ree-faq-green-dark);
    font-size: 17px;
}

.ree-faq-note-card ul {
    display: grid;
    gap: 14px;
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
}

.ree-faq-note-card li {
    position: relative;
    padding-left: 20px;
    color: #637169;
    font-size: 12px;
    line-height: 1.7;
}

.ree-faq-note-card li::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "✓";
    color: var(--ree-faq-green);
    font-weight: 800;
}

.ree-faq-note-card > a {
    color: var(--ree-faq-green);
    font-size: 12px;
    font-weight: 800;
}

/* SEARCH EMPTY STATE */

.ree-faq-no-results {
    display: none;
    padding: 45px 20px;
    border: 1px dashed var(--ree-faq-border);
    border-radius: 10px;
    text-align: center;
    background: var(--ree-faq-bg);
}

.ree-faq-no-results.is-visible {
    display: block;
}

.ree-faq-no-results > span {
    font-size: 32px;
}

.ree-faq-no-results h3 {
    margin: 15px 0 8px;
    color: var(--ree-faq-green-dark);
}

.ree-faq-no-results p {
    color: var(--ree-faq-muted);
    font-size: 13px;
}

.ree-faq-no-results button {
    padding: 12px 18px;
    border: 0;
    border-radius: 6px;
    color: #fff;
    background: var(--ree-faq-green);
    cursor: pointer;
}

/* BOTTOM CALL TO ACTION */

.ree-faq-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 55px max(25px, calc((100% - 1180px) / 2));
    color: #fff;
    background: #273d35;
}

.ree-faq-bottom > div {
    max-width: 720px;
}

.ree-faq-bottom > div > span {
    color: var(--ree-faq-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.ree-faq-bottom h2 {
    margin: 13px 0;
    color: #fff;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.35;
}

.ree-faq-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.75);
    font-size: 13px;
    line-height: 1.8;
}

.ree-faq-bottom-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    flex-shrink: 0;
    padding: 16px 23px;
    border-radius: 6px;
    color: var(--ree-faq-green-dark);
    background: var(--ree-faq-gold);
    font-size: 13px;
    font-weight: 800;
    transition: transform 0.3s, background 0.3s;
}

.ree-faq-bottom-btn:hover {
    color: var(--ree-faq-green-dark);
    background: #e0c27e;
    transform: translateY(-3px);
}

/* ANIMATIONS */

@keyframes reeFaqFadeUp {
    from {
        opacity: 0;
        transform: translateY(22px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* TABLETS */

@media (max-width: 1000px) {
    .ree-faq-layout {
        grid-template-columns: minmax(0, 1fr) 270px;
        gap: 24px;
    }

    .ree-faq-container {
        padding: 65px 0;
    }

    .ree-faq-help-card,
    .ree-faq-note-card {
        padding: 22px;
    }
}

/* MOBILE */

@media (max-width: 760px) {
    .ree-faq-hero {
        min-height: 300px;
        padding: 55px 20px;
    }

    .ree-faq-container {
        width: calc(100% - 32px);
        padding: 50px 0;
    }

    .ree-faq-intro {
        margin-bottom: 28px;
    }

    .ree-faq-search {
        gap: 4px;
    }

    .ree-faq-search-icon {
        padding: 0 7px;
    }

    .ree-faq-search button {
        padding: 12px;
        font-size: 12px;
    }

    .ree-faq-categories {
        justify-content: flex-start;
        gap: 8px;
        margin-bottom: 40px;
    }

    .ree-faq-category {
        padding: 10px 12px;
        font-size: 11px;
    }

    .ree-faq-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .ree-faq-sidebar {
        position: static;
    }

    .ree-faq-section {
        margin-bottom: 38px;
    }

    .ree-faq-question {
        padding: 19px 2px;
        font-size: 13px;
    }

    .ree-faq-answer p {
        padding-right: 10px;
        font-size: 12px;
    }

    .ree-faq-bottom {
        flex-direction: column;
        align-items: flex-start;
        padding: 40px 22px;
    }

    .ree-faq-bottom-btn {
        width: 100%;
    }
}

/* SMALL PHONES */

@media (max-width: 420px) {
    .ree-faq-hero h1 {
        font-size: 30px;
    }

    .ree-faq-eyebrow {
        font-size: 9px;
        letter-spacing: 2px;
    }

    .ree-faq-section-heading {
        align-items: flex-start;
        gap: 12px;
    }

    .ree-faq-number {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
    }

    .ree-faq-section-heading h3 {
        font-size: 18px;
    }

    .ree-faq-search input {
        font-size: 12px;
    }
}

/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {
    .ree-faq-page *,
    .ree-faq-page *::before,
    .ree-faq-page *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
/* =========================================================
   VARIABLES
   ========================================================= */
/* =========================================================
   ROBERT ELITE ESTATES
   HOUSE REMODELING / RENOVATION
   SCOPED CSS ONLY
   NO BODY / HTML STYLES
   NO CSS BACKGROUND IMAGES
========================================================= */
/* =========================================================
   ROBERT ELITE ESTATES
   FIND A REAL ESTATE AGENT
   SCOPED BODY-ONLY CSS
   NO BODY / HTML / GLOBAL STYLING
   NO BACKGROUND IMAGE URLS
========================================================= */
/* =========================================================
   ROBERT ELITE ESTATES — SERVICES PAGE CSS
   Unique prefix: restate-services-
   No body/html/header/sidebar styling
========================================================= */

.restate-services-page {
    --res-black: #171816;
    --res-deep: #20211e;
    --res-cream: #f3f0e8;
    --res-paper: #faf9f5;
    --res-white: #ffffff;
    --res-muted: #77766f;
    --res-line: #d9d6ce;
    --res-gold: #b39a6a;
    --res-gold-light: #d1bc8d;
    --res-shadow: 0 25px 70px rgba(18, 19, 17, .12);

    color: var(--res-black);
    background: var(--res-paper);
    overflow: hidden;
}

.restate-services-page *,
.restate-services-page *::before,
.restate-services-page *::after {
    box-sizing: border-box;
}

.restate-services-container {
    width: min(1380px, calc(100% - 80px));
    margin: 0 auto;
}


/* =========================================================
   HERO
========================================================= */

.restate-services-hero {
    position: relative;
    min-height: 760px;
    height: min(92vh, 900px);
    background: var(--res-black);
    color: var(--res-white);
    overflow: hidden;
    isolation: isolate;
}

.restate-services-hero-image,
.restate-services-hero-image a,
.restate-services-hero-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.restate-services-hero-image img {
    object-fit: cover;
    object-position: center;
    filter: saturate(.78);
    transform: scale(1.04);
    animation: restateServicesHeroZoom 12s ease-out forwards;
}

.restate-services-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(10,11,10,.91) 0%,
            rgba(10,11,10,.72) 36%,
            rgba(10,11,10,.18) 72%,
            rgba(10,11,10,.32) 100%),
        linear-gradient(0deg,
            rgba(10,11,10,.65),
            transparent 45%);
    z-index: 1;
}

.restate-services-hero-content {
    position: relative;
    z-index: 3;
    width: min(1380px, calc(100% - 80px));
    height: 100%;
    margin: 0 auto;
    padding: 145px 0 150px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.restate-services-eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .28em;
    margin-bottom: 22px;
}

.restate-services-hero-line {
    width: 72px;
    height: 1px;
    background: var(--res-gold-light);
    margin-bottom: 32px;
}

.restate-services-hero h1 {
    max-width: 800px;
    margin: 0;
    font-size: clamp(64px, 8vw, 128px);
    line-height: .86;
    letter-spacing: -.055em;
    font-weight: 500;
}

.restate-services-hero h1 em {
    color: var(--res-gold-light);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.restate-services-hero-content > p {
    max-width: 570px;
    margin: 38px 0 0;
    color: rgba(255,255,255,.76);
    font-size: 16px;
    line-height: 1.8;
}

.restate-services-hero-actions {
    display: flex;
    align-items: center;
    gap: 34px;
    margin-top: 40px;
}

.restate-services-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    min-height: 54px;
    padding: 0 24px;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .2em;
    transition: transform .35s ease, background .35s ease, color .35s ease;
}

.restate-services-btn span {
    font-size: 18px;
    line-height: 1;
    transition: transform .35s ease;
}

.restate-services-btn:hover {
    transform: translateY(-4px);
}

.restate-services-btn:hover span {
    transform: translate(3px, -3px);
}

.restate-services-btn-light {
    background: var(--res-white);
    color: var(--res-black);
}

.restate-services-text-link {
    color: var(--res-white);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
    border-bottom: 1px solid rgba(255,255,255,.4);
    padding-bottom: 8px;
}

.restate-services-text-link span {
    margin-left: 10px;
    transition: margin .3s ease;
}

.restate-services-text-link:hover span {
    margin-left: 17px;
}

.restate-services-hero-bottom {
    position: absolute;
    z-index: 4;
    bottom: 0;
    left: 50%;
    width: min(1380px, calc(100% - 80px));
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(3, 1fr) 1.2fr;
    border-top: 1px solid rgba(255,255,255,.2);
}

.restate-services-hero-bottom > div {
    padding: 22px 24px 24px 0;
    border-right: 1px solid rgba(255,255,255,.15);
}

.restate-services-hero-bottom > div:not(:first-child) {
    padding-left: 24px;
}

.restate-services-hero-bottom strong,
.restate-services-hero-bottom span {
    display: block;
}

.restate-services-hero-bottom strong {
    font-size: 10px;
    letter-spacing: .18em;
}

.restate-services-hero-bottom span {
    margin-top: 7px;
    color: rgba(255,255,255,.5);
    font-size: 9px;
    letter-spacing: .15em;
}

.restate-services-scroll {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    gap: 18px;
    border-right: 0 !important;
}

.restate-services-scroll i {
    position: relative;
    width: 38px;
    height: 1px;
    background: var(--res-gold-light);
}

.restate-services-scroll i::after {
    content: "";
    position: absolute;
    right: 0;
    top: -3px;
    width: 7px;
    height: 7px;
    border-top: 1px solid var(--res-gold-light);
    border-right: 1px solid var(--res-gold-light);
    transform: rotate(45deg);
}


/* =========================================================
   INTRO
========================================================= */

.restate-services-intro {
    padding: 145px 0;
    background: var(--res-paper);
}

.restate-services-intro-grid {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 80px;
}

.restate-services-intro-label {
    border-top: 1px solid var(--res-line);
    padding-top: 18px;
}

.restate-services-intro-label span {
    display: block;
    color: var(--res-gold);
    font-family: Georgia, serif;
    font-size: 26px;
}

.restate-services-intro-label small {
    display: block;
    margin-top: 9px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .2em;
}

.restate-services-kicker,
.restate-services-category-intro > span,
.restate-services-numbers-heading > span,
.restate-services-special-content > span,
.restate-services-faq-heading > span {
    color: var(--res-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .22em;
}

.restate-services-intro-content h2 {
    max-width: 980px;
    margin: 20px 0 50px;
    font-size: clamp(44px, 5vw, 76px);
    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 500;
}

.restate-services-intro-content h2 span {
    display: block;
    color: #96948c;
    font-family: Georgia, serif;
    font-style: italic;
    font-weight: 400;
}

.restate-services-intro-copy {
    max-width: 820px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 55px;
}

.restate-services-intro-copy p {
    margin: 0;
    color: var(--res-muted);
    font-size: 15px;
    line-height: 1.9;
}

.restate-services-principles {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 50px;
}

.restate-services-principles span {
    padding: 10px 14px;
    border: 1px solid var(--res-line);
    font-size: 8px;
    letter-spacing: .16em;
    font-weight: 800;
}


/* =========================================================
   IMAGE STATEMENT
========================================================= */

.restate-services-statement {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    min-height: 650px;
    background: var(--res-deep);
    color: var(--res-white);
}

.restate-services-statement-image {
    overflow: hidden;
}

.restate-services-statement-image a,
.restate-services-statement-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-services-statement-image img {
    object-fit: cover;
    transition: transform .8s ease;
}

.restate-services-statement:hover .restate-services-statement-image img {
    transform: scale(1.04);
}

.restate-services-statement-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 80px clamp(40px, 7vw, 120px);
}

.restate-services-statement-panel > span {
    color: var(--res-gold-light);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .2em;
}

.restate-services-statement-panel h2 {
    margin: 25px 0;
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1;
    letter-spacing: -.045em;
    font-weight: 500;
}

.restate-services-statement-panel h2 em {
    display: block;
    color: var(--res-gold-light);
    font-family: Georgia, serif;
    font-weight: 400;
}

.restate-services-statement-panel p {
    max-width: 500px;
    margin: 0;
    color: rgba(255,255,255,.63);
    line-height: 1.9;
}

.restate-services-arrow-link {
    width: fit-content;
    margin-top: 40px;
    color: var(--res-white);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: .16em;
    border-bottom: 1px solid rgba(255,255,255,.35);
    padding-bottom: 9px;
}

.restate-services-arrow-link span {
    margin-left: 12px;
}


/* =========================================================
   SERVICE DIRECTORY
========================================================= */

.restate-services-directory {
    padding: 145px 0;
    background: var(--res-paper);
}

.restate-services-section-heading {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 80px;
    margin-bottom: 80px;
}

.restate-services-section-heading > div:first-child {
    border-top: 1px solid var(--res-line);
    padding-top: 17px;
}

.restate-services-number {
    display: block;
    color: var(--res-gold);
    font-family: Georgia, serif;
    font-size: 26px;
}

.restate-services-heading-label {
    display: block;
    margin-top: 8px;
    font-size: 9px;
    letter-spacing: .18em;
    font-weight: 800;
}

.restate-services-heading-main > p {
    margin: 0;
    color: var(--res-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .2em;
}

.restate-services-heading-main h2 {
    max-width: 850px;
    margin: 18px 0 0;
    font-size: clamp(45px, 5vw, 74px);
    line-height: .98;
    letter-spacing: -.05em;
    font-weight: 500;
}

.restate-services-heading-main h2 em {
    display: block;
    color: #96948c;
    font-family: Georgia, serif;
    font-weight: 400;
}

.restate-services-card {
    position: relative;
    display: grid;
    grid-template-columns: 110px 43% 1fr;
    min-height: 480px;
    border-top: 1px solid var(--res-line);
    transition: background .4s ease;
}

.restate-services-card:last-child {
    border-bottom: 1px solid var(--res-line);
}

.restate-services-card:hover {
    background: #f0eee7;
}

.restate-services-card-number {
    padding-top: 28px;
    color: var(--res-gold);
    font-family: Georgia, serif;
    font-size: 23px;
}

.restate-services-card-image {
    overflow: hidden;
    min-height: 480px;
}

.restate-services-card-image a,
.restate-services-card-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-services-card-image img {
    object-fit: cover;
    transition: transform .7s cubic-bezier(.2,.7,.2,1);
}

.restate-services-card:hover .restate-services-card-image img {
    transform: scale(1.06);
}

.restate-services-card-content {
    padding: 65px 0 55px 60px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.restate-services-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.restate-services-tags span {
    padding: 8px 10px;
    border: 1px solid var(--res-line);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .13em;
}

.restate-services-card-content h3 {
    margin: 35px 0 20px;
    font-size: clamp(32px, 3vw, 48px);
    line-height: 1;
    letter-spacing: -.045em;
    font-weight: 500;
}

.restate-services-card-content p {
    max-width: 430px;
    margin: 0;
    color: var(--res-muted);
    font-size: 14px;
    line-height: 1.85;
}

.restate-services-card-link {
    margin-top: auto;
    color: var(--res-black);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .17em;
    border-bottom: 1px solid var(--res-black);
    padding-bottom: 8px;
}

.restate-services-card-link span {
    margin-left: 15px;
}


/* =========================================================
   CATEGORIES
========================================================= */

.restate-services-categories {
    padding: 145px 0;
    background: var(--res-cream);
}

.restate-services-category-intro {
    max-width: 800px;
    margin-bottom: 75px;
}

.restate-services-category-intro h2 {
    margin: 20px 0 0;
    font-size: clamp(48px, 6vw, 86px);
    line-height: .92;
    letter-spacing: -.055em;
    font-weight: 500;
}

.restate-services-category-intro h2 em {
    color: #8d8b83;
    font-family: Georgia, serif;
    font-weight: 400;
}

.restate-services-category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.restate-services-category {
    background: var(--res-paper);
    transition: transform .4s ease, box-shadow .4s ease;
}

.restate-services-category:hover {
    transform: translateY(-10px);
    box-shadow: var(--res-shadow);
}

.restate-services-category-image {
    height: 310px;
    overflow: hidden;
}

.restate-services-category-image a,
.restate-services-category-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-services-category-image img {
    object-fit: cover;
    transition: transform .7s ease;
}

.restate-services-category:hover img {
    transform: scale(1.07);
}

.restate-services-category-content {
    padding: 35px 35px 40px;
}

.restate-services-category-content > span {
    color: var(--res-gold);
    font-family: Georgia, serif;
    font-size: 20px;
}

.restate-services-category-content h3 {
    margin: 20px 0 13px;
    font-size: 34px;
    font-weight: 500;
    letter-spacing: -.04em;
}

.restate-services-category-content p {
    color: var(--res-muted);
    font-size: 13px;
    line-height: 1.8;
}

.restate-services-category-content ul {
    padding: 0;
    margin: 27px 0 30px;
    list-style: none;
}

.restate-services-category-content li {
    padding: 10px 0;
    border-bottom: 1px solid var(--res-line);
    font-size: 10px;
    letter-spacing: .06em;
}

.restate-services-category-content a {
    color: var(--res-black);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .16em;
}

.restate-services-category-content a span {
    margin-left: 10px;
}


/* =========================================================
   NUMBERS
========================================================= */

.restate-services-numbers {
    padding: 135px 0;
    background: var(--res-black);
    color: var(--res-white);
}

.restate-services-numbers-heading {
    max-width: 800px;
}

.restate-services-numbers-heading h2 {
    margin: 20px 0 75px;
    font-size: clamp(48px, 6vw, 82px);
    line-height: .94;
    letter-spacing: -.055em;
    font-weight: 500;
}

.restate-services-numbers-heading h2 em {
    display: block;
    color: var(--res-gold-light);
    font-family: Georgia, serif;
    font-weight: 400;
}

.restate-services-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.restate-services-stat {
    padding: 0 30px;
    border-left: 1px solid rgba(255,255,255,.16);
}

.restate-services-stat:first-child {
    padding-left: 0;
    border-left: 0;
}

.restate-services-stat strong {
    display: block;
    color: var(--res-gold-light);
    font-size: 52px;
    font-weight: 400;
    letter-spacing: -.05em;
}

.restate-services-stat span {
    display: block;
    margin-top: 14px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .17em;
}

.restate-services-stat p {
    max-width: 220px;
    margin: 17px 0 0;
    color: rgba(255,255,255,.5);
    font-size: 12px;
    line-height: 1.7;
}


/* =========================================================
   PROCESS
========================================================= */

.restate-services-process {
    padding: 145px 0;
    background: var(--res-paper);
}

.restate-services-process-list {
    border-top: 1px solid var(--res-line);
}

.restate-services-process-item {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 55px;
    padding: 38px 0;
    border-bottom: 1px solid var(--res-line);
    transition: padding .35s ease, background .35s ease;
}

.restate-services-process-item:hover {
    padding-left: 18px;
    background: #f3f1ea;
}

.restate-services-process-item > span {
    color: var(--res-gold);
    font-family: Georgia, serif;
    font-size: 25px;
}

.restate-services-process-item h3 {
    margin: 0 0 10px;
    font-size: 29px;
    font-weight: 500;
    letter-spacing: -.03em;
}

.restate-services-process-item p {
    max-width: 620px;
    margin: 0;
    color: var(--res-muted);
    font-size: 14px;
    line-height: 1.8;
}


/* =========================================================
   SPECIAL
========================================================= */

.restate-services-special {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 720px;
    background: var(--res-deep);
    color: var(--res-white);
}

.restate-services-special-image {
    overflow: hidden;
}

.restate-services-special-image a,
.restate-services-special-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-services-special-image img {
    object-fit: cover;
    transition: transform .9s ease;
}

.restate-services-special:hover .restate-services-special-image img {
    transform: scale(1.05);
}

.restate-services-special-content {
    padding: 100px clamp(45px, 8vw, 130px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.restate-services-special-content h2 {
    margin: 20px 0;
    font-size: clamp(52px, 6vw, 88px);
    line-height: .9;
    letter-spacing: -.055em;
    font-weight: 500;
}

.restate-services-special-content h2 em {
    display: block;
    color: var(--res-gold-light);
    font-family: Georgia, serif;
    font-weight: 400;
}

.restate-services-special-content > p {
    max-width: 470px;
    color: rgba(255,255,255,.58);
    line-height: 1.8;
}

.restate-services-special-links {
    margin-top: 35px;
    border-top: 1px solid rgba(255,255,255,.17);
}

.restate-services-special-links a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 17px 0;
    border-bottom: 1px solid rgba(255,255,255,.17);
    color: var(--res-white);
    text-decoration: none;
    font-size: 11px;
    letter-spacing: .09em;
    transition: padding .3s ease, color .3s ease;
}

.restate-services-special-links a:hover {
    padding-left: 12px;
    color: var(--res-gold-light);
}


/* =========================================================
   FAQ
========================================================= */

.restate-services-faq {
    padding: 145px 0;
    background: var(--res-cream);
}

.restate-services-faq-heading {
    max-width: 760px;
    margin-bottom: 70px;
}

.restate-services-faq-heading h2 {
    margin: 20px 0;
    font-size: clamp(50px, 6vw, 82px);
    line-height: .92;
    letter-spacing: -.055em;
    font-weight: 500;
}

.restate-services-faq-heading h2 em {
    color: #8e8c85;
    font-family: Georgia, serif;
    font-weight: 400;
}

.restate-services-faq-heading p {
    max-width: 540px;
    color: var(--res-muted);
    line-height: 1.8;
}

.restate-services-faq-list {
    border-top: 1px solid var(--res-line);
}

.restate-services-faq-list details {
    border-bottom: 1px solid var(--res-line);
}

.restate-services-faq-list summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 28px 0;
    cursor: pointer;
    list-style: none;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
}

.restate-services-faq-list summary::-webkit-details-marker {
    display: none;
}

.restate-services-faq-list summary span {
    color: var(--res-gold);
    font-family: Georgia, serif;
    font-size: 26px;
    font-weight: 400;
    transition: transform .3s ease;
}

.restate-services-faq-list details[open] summary span {
    transform: rotate(45deg);
}

.restate-services-faq-list details p {
    max-width: 760px;
    margin: 0;
    padding: 0 50px 30px 0;
    color: var(--res-muted);
    font-size: 14px;
    line-height: 1.8;
}


/* =========================================================
   FINAL CTA
========================================================= */

.restate-services-final {
    position: relative;
    min-height: 720px;
    color: var(--res-white);
    overflow: hidden;
    display: flex;
    align-items: center;
    isolation: isolate;
}

.restate-services-final-image,
.restate-services-final-image a,
.restate-services-final-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.restate-services-final-image img {
    object-fit: cover;
    transition: transform 1.2s ease;
}

.restate-services-final:hover .restate-services-final-image img {
    transform: scale(1.04);
}

.restate-services-final-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(12,13,12,.91),
            rgba(12,13,12,.6) 55%,
            rgba(12,13,12,.2)),
        linear-gradient(0deg,
            rgba(12,13,12,.55),
            transparent);
    z-index: 1;
}

.restate-services-final-content {
    position: relative;
    z-index: 2;
    width: min(1380px, calc(100% - 80px));
    margin: 0 auto;
    padding: 110px 0;
}

.restate-services-final-content > span {
    color: var(--res-gold-light);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .24em;
}

.restate-services-final-content h2 {
    max-width: 900px;
    margin: 25px 0;
    font-size: clamp(60px, 8vw, 115px);
    line-height: .84;
    letter-spacing: -.065em;
    font-weight: 500;
}

.restate-services-final-content h2 em {
    display: block;
    color: var(--res-gold-light);
    font-family: Georgia, serif;
    font-weight: 400;
}

.restate-services-final-content p {
    max-width: 590px;
    color: rgba(255,255,255,.68);
    font-size: 15px;
    line-height: 1.85;
}

.restate-services-final-actions {
    display: flex;
    align-items: center;
    gap: 35px;
    margin-top: 42px;
}

.restate-services-final-phone {
    color: var(--res-white);
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes restateServicesHeroZoom {
    from {
        transform: scale(1.08);
    }

    to {
        transform: scale(1);
    }
}

@keyframes restateServicesFadeUp {
    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.restate-services-hero-content > * {
    animation: restateServicesFadeUp .9s ease both;
}

.restate-services-eyebrow {
    animation-delay: .15s !important;
}

.restate-services-hero-line {
    animation-delay: .25s !important;
}

.restate-services-hero h1 {
    animation-delay: .35s !important;
}

.restate-services-hero-content > p {
    animation-delay: .5s !important;
}

.restate-services-hero-actions {
    animation-delay: .65s !important;
}


/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media (max-width: 1100px) {

    .restate-services-container,
    .restate-services-hero-content,
    .restate-services-hero-bottom,
    .restate-services-final-content {
        width: min(100% - 50px, 1380px);
    }

    .restate-services-intro-grid,
    .restate-services-section-heading {
        grid-template-columns: 130px 1fr;
        gap: 45px;
    }

    .restate-services-card {
        grid-template-columns: 70px 42% 1fr;
    }

    .restate-services-card-content {
        padding-left: 35px;
    }

    .restate-services-category-grid {
        grid-template-columns: 1fr 1fr;
    }

    .restate-services-category:last-child {
        grid-column: 1 / -1;
    }

    .restate-services-stat-grid {
        grid-template-columns: 1fr 1fr;
        gap: 45px 0;
    }

    .restate-services-stat:nth-child(3) {
        padding-left: 0;
        border-left: 0;
    }

}


/* =========================================================
   RESPONSIVE — MOBILE
========================================================= */

@media (max-width: 780px) {

    .restate-services-container,
    .restate-services-hero-content,
    .restate-services-hero-bottom,
    .restate-services-final-content {
        width: calc(100% - 34px);
    }

    .restate-services-hero {
        min-height: 700px;
        height: auto;
    }

    .restate-services-hero-content {
        min-height: 700px;
        padding: 110px 0 210px;
        justify-content: center;
    }

    .restate-services-hero h1 {
        font-size: clamp(58px, 17vw, 92px);
    }

    .restate-services-hero-content > p {
        font-size: 14px;
    }

    .restate-services-hero-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 22px;
    }

    .restate-services-hero-bottom {
        grid-template-columns: 1fr 1fr;
    }

    .restate-services-hero-bottom > div:nth-child(3) {
        border-right: 0;
    }

    .restate-services-scroll {
        display: none !important;
    }

    .restate-services-intro,
    .restate-services-directory,
    .restate-services-categories,
    .restate-services-process,
    .restate-services-faq {
        padding: 90px 0;
    }

    .restate-services-intro-grid,
    .restate-services-section-heading {
        display: block;
    }

    .restate-services-intro-label {
        margin-bottom: 45px;
    }

    .restate-services-intro-content h2 {
        font-size: clamp(43px, 12vw, 65px);
    }

    .restate-services-intro-copy {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .restate-services-statement {
        grid-template-columns: 1fr;
    }

    .restate-services-statement-image {
        height: 440px;
    }

    .restate-services-statement-panel {
        min-height: 480px;
        padding: 70px 34px;
    }

    .restate-services-section-heading {
        margin-bottom: 55px;
    }

    .restate-services-heading-main {
        margin-top: 30px;
    }

    .restate-services-card,
    .restate-services-card-reverse {
        display: grid;
        grid-template-columns: 1fr;
    }

    .restate-services-card-number {
        padding: 22px 0;
    }

    .restate-services-card-image {
        height: 330px;
        min-height: 0;
    }

    .restate-services-card-content {
        min-height: 360px;
        padding: 35px 0 45px;
    }

    .restate-services-card-content h3 {
        font-size: 38px;
    }

    .restate-services-category-grid {
        grid-template-columns: 1fr;
    }

    .restate-services-category:last-child {
        grid-column: auto;
    }

    .restate-services-category-image {
        height: 270px;
    }

    .restate-services-stat-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .restate-services-stat,
    .restate-services-stat:nth-child(3) {
        padding: 30px 0;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.16);
    }

    .restate-services-stat:first-child {
        border-top: 0;
    }

    .restate-services-process-item {
        grid-template-columns: 55px 1fr;
        gap: 20px;
    }

    .restate-services-special {
        grid-template-columns: 1fr;
    }

    .restate-services-special-image {
        height: 430px;
    }

    .restate-services-special-content {
        padding: 80px 34px;
    }

    .restate-services-final {
        min-height: 680px;
    }

    .restate-services-final-content {
        padding: 100px 0;
    }

    .restate-services-final-content h2 {
        font-size: clamp(58px, 15vw, 90px);
    }

    .restate-services-final-actions {
        flex-direction: column;
        align-items: flex-start;
    }

}


/* =========================================================
   RESPONSIVE — SMALL PHONES
========================================================= */

@media (max-width: 500px) {

    .restate-services-hero-bottom {
        grid-template-columns: 1fr;
    }

    .restate-services-hero-bottom > div {
        padding: 14px 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.13);
    }

    .restate-services-hero-bottom > div:nth-child(2) {
        display: none;
    }

    .restate-services-hero-bottom > div:nth-child(3) {
        display: none;
    }

    .restate-services-principles {
        gap: 6px;
    }

    .restate-services-principles span {
        font-size: 7px;
        padding: 8px 10px;
    }

    .restate-services-card-content h3 {
        font-size: 34px;
    }

    .restate-services-category-content {
        padding: 28px 24px 32px;
    }

    .restate-services-category-content h3 {
        font-size: 30px;
    }

    .restate-services-faq-list summary {
        font-size: 10px;
        line-height: 1.5;
    }

    .restate-services-faq-list details p {
        padding-right: 15px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .restate-services-page *,
    .restate-services-page *::before,
    .restate-services-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

}
/* CONNECT BUTTON */
.restate-agent-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 16px 28px;
    border: none;
    border-radius: 8px;
    background: #173d32;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background .3s ease, transform .3s ease;
}

.restate-agent-submit:hover {
    background: #245846;
    transform: translateY(-2px);
}

.restate-agent-submit:disabled {
    opacity: .85;
    cursor: wait;
}

.restate-agent-arrow {
    font-size: 20px;
    transition: transform .3s ease;
}

.restate-agent-submit:hover .restate-agent-arrow {
    transform: translate(3px, -3px);
}

/* LOADING SPINNER */
.restate-agent-spinner {
    display: none;
    width: 17px;
    height: 17px;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: restateAgentSpin .7s linear infinite;
}

.restate-agent-submit.restate-agent-loading
.restate-agent-spinner {
    display: inline-block;
}

.restate-agent-submit.restate-agent-loading
.restate-agent-arrow {
    display: none;
}

@keyframes restateAgentSpin {
    to { transform: rotate(360deg); }
}

/* POPUP OVERLAY */
.restate-success-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(10,25,20,.72);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease, visibility .35s ease;
}

.restate-success-overlay.restate-success-visible {
    opacity: 1;
    visibility: visible;
}

/* POPUP CARD */
.restate-success-card {
    position: relative;
    width: 100%;
    max-width: 490px;
    padding: 42px 34px 34px;
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
    text-align: center;
    box-shadow: 0 25px 80px rgba(0,0,0,.25);
    transform: translateY(30px) scale(.96);
    transition: transform .45s cubic-bezier(.2,.8,.2,1);
}

.restate-success-visible .restate-success-card {
    transform: translateY(0) scale(1);
}

.restate-success-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(
        90deg, #173d32, #c5a66a, #173d32
    );
}

/* BRAND */
.restate-success-brand {
    margin-bottom: 24px;
    color: #9a7b43;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

/* ANIMATED CHECKMARK */
.restate-success-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 82px;
    height: 82px;
    margin: 0 auto 22px;
    border-radius: 50%;
    background: #e9f5ee;
    color: #23744e;
    animation: restateSuccessPop .65s .1s both;
}

.restate-success-icon svg {
    width: 42px;
    height: 42px;
}

.restate-success-icon circle {
    stroke-dasharray: 160;
    stroke-dashoffset: 160;
    animation: restateSuccessDraw .7s .2s ease forwards;
}

.restate-success-icon path {
    stroke-dasharray: 40;
    stroke-dashoffset: 40;
    animation: restateSuccessDraw .45s .65s ease forwards;
}

@keyframes restateSuccessPop {
    0% {
        transform: scale(.4);
        opacity: 0;
    }
    70% {
        transform: scale(1.12);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes restateSuccessDraw {
    to { stroke-dashoffset: 0; }
}

/* POPUP TEXT */
.restate-success-heading {
    margin: 0 0 12px;
    color: #173d32;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.restate-success-divider {
    width: 55px;
    height: 3px;
    margin: 0 auto 20px;
    border-radius: 5px;
    background: #c5a66a;
}

.restate-success-card h4 {
    margin: 0 0 13px;
    color: #253b32;
    font-size: 18px;
    line-height: 1.5;
}

.restate-success-card p {
    margin: 0 0 25px;
    color: #68736d;
    font-size: 14px;
    line-height: 1.9;
}

/* CONTINUE BUTTON */
.restate-success-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 15px 20px;
    border: none;
    border-radius: 8px;
    background: #173d32;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background .3s ease, transform .3s ease;
}

.restate-success-close:hover {
    background: #245846;
    transform: translateY(-2px);
}

.restate-success-note {
    display: block;
    margin-top: 17px;
    color: #9aa29d;
    font-size: 11px;
    letter-spacing: .4px;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 480px) {
    .restate-success-card {
        padding: 35px 23px 25px;
        border-radius: 16px;
    }

    .restate-success-heading {
        font-size: 22px;
    }

    .restate-success-card h4 {
        font-size: 16px;
    }

    .restate-success-card p {
        font-size: 13px;
    }
}

/* REDUCED MOTION ACCESSIBILITY */
@media (prefers-reduced-motion: reduce) {
    .restate-success-card,
    .restate-success-overlay,
    .restate-success-icon,
    .restate-success-icon circle,
    .restate-success-icon path,
    .restate-agent-spinner {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}
.restate-agent-page {

    --rae-black: #11110f;
    --rae-dark: #191916;
    --rae-dark-2: #24241f;
    --rae-paper: #f7f4ec;
    --rae-cream: #ebe5d8;
    --rae-white: #ffffff;
    --rae-gold: #b49763;
    --rae-gold-light: #d0b982;
    --rae-muted: #77736a;
    --rae-line: rgba(20, 20, 17, .14);

    width: 100%;
    overflow: hidden;
    background: var(--rae-paper);
    color: var(--rae-black);
    font-family: Arial, Helvetica, sans-serif;
}

.restate-agent-page *,
.restate-agent-page *::before,
.restate-agent-page *::after {
    box-sizing: border-box;
}

.restate-agent-container {
    width: min(1320px, calc(100% - 70px));
    margin: 0 auto;
}

.restate-agent-page img {
    max-width: 100%;
}

.restate-agent-page a {
    -webkit-tap-highlight-color: transparent;
}

.restate-agent-eyebrow {
    margin: 0 0 18px;
    color: var(--rae-gold);
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .22em;
    font-weight: 800;
}

.restate-agent-page h1,
.restate-agent-page h2,
.restate-agent-page h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.restate-agent-page h2 {
    margin: 0;
    font-size: clamp(43px, 5.4vw, 78px);
    line-height: .98;
    letter-spacing: -.055em;
}

.restate-agent-page h2 span {
    display: block;
    color: var(--rae-gold);
    font-style: italic;
}


/* =========================================================
   HERO
========================================================= */

.restate-agent-hero {
    position: relative;
    min-height: min(850px, calc(100vh - 10px));
    display: flex;
    align-items: center;
    isolation: isolate;
    overflow: hidden;
    background: var(--rae-black);
    color: var(--rae-white);
}

.restate-agent-hero-image {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.restate-agent-hero-image a,
.restate-agent-hero-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-agent-hero-image img {
    object-fit: cover;
    object-position: center;
    transform: scale(1.05);
    animation: restateAgentHeroZoom 13s ease-out forwards;
}

.restate-agent-hero-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(8, 8, 7, .92) 0%,
            rgba(8, 8, 7, .78) 35%,
            rgba(8, 8, 7, .34) 75%,
            rgba(8, 8, 7, .40) 100%
        );
}

.restate-agent-hero-inner {
    position: relative;
    width: min(1320px, calc(100% - 70px));
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 720px;
    padding: 100px 0 145px;
}

.restate-agent-hero-copy {
    max-width: 850px;
}

.restate-agent-overline {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 28px;
    color: rgba(255,255,255,.68);
    font-size: 9px;
    letter-spacing: .25em;
    font-weight: 800;
    animation: restateAgentFadeUp .8s ease both;
}

.restate-agent-overline span {
    display: block;
    width: 30px;
    height: 1px;
    background: var(--rae-gold);
}

.restate-agent-hero-kicker {
    margin: 0 0 15px;
    color: var(--rae-gold-light);
    font-size: 11px;
    letter-spacing: .25em;
    font-weight: 800;
    animation: restateAgentFadeUp .8s .1s ease both;
}

.restate-agent-hero h1 {
    max-width: 900px;
    margin: 0 0 28px;
    font-size: clamp(55px, 7.3vw, 112px);
    line-height: .87;
    letter-spacing: -.065em;
    animation: restateAgentFadeUp .8s .18s ease both;
}

.restate-agent-hero h1 em {
    display: block;
    color: var(--rae-gold-light);
    font-style: italic;
}

.restate-agent-hero-text {
    max-width: 610px;
    margin: 0 0 35px;
    color: rgba(255,255,255,.72);
    font-size: 15px;
    line-height: 1.9;
    animation: restateAgentFadeUp .8s .28s ease both;
}

.restate-agent-hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    animation: restateAgentFadeUp .8s .38s ease both;
}

.restate-agent-button {
    min-height: 54px;
    padding: 0 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 9px;
    letter-spacing: .17em;
    font-weight: 800;
    transition:
        transform .3s ease,
        background .3s ease,
        border-color .3s ease;
}

.restate-agent-button span {
    font-size: 17px;
    transition: transform .3s ease;
}

.restate-agent-button:hover {
    transform: translateY(-4px);
}

.restate-agent-button:hover span {
    transform: translate(4px, -2px);
}

.restate-agent-button-light {
    background: var(--rae-white);
    color: var(--rae-black);
}

.restate-agent-button-light:hover {
    background: var(--rae-gold);
    color: var(--rae-white);
}

.restate-agent-button-outline {
    color: white;
    border: 1px solid rgba(255,255,255,.42);
}

.restate-agent-button-outline:hover {
    background: var(--rae-gold);
    border-color: var(--rae-gold);
}

.restate-agent-hero-side {
    align-self: flex-end;
    display: flex;
    align-items: center;
    gap: 18px;
    transform: rotate(-90deg);
    transform-origin: right bottom;
    margin-bottom: 100px;
    animation: restateAgentFadeUp .9s .5s ease both;
}

.restate-agent-hero-side-line {
    width: 55px;
    height: 1px;
    background: var(--rae-gold);
}

.restate-agent-hero-side p {
    margin: 0;
    color: rgba(255,255,255,.58);
    font-size: 9px;
    letter-spacing: .18em;
    line-height: 1.5;
}

.restate-agent-hero-side strong {
    color: var(--rae-gold-light);
}

.restate-agent-hero-bottom {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: min(1320px, calc(100% - 70px));
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255,255,255,.17);
}

.restate-agent-hero-bottom div {
    display: flex;
    align-items: center;
    gap: 15px;
    min-height: 70px;
    padding: 0 22px;
    border-right: 1px solid rgba(255,255,255,.12);
}

.restate-agent-hero-bottom div:first-child {
    padding-left: 0;
}

.restate-agent-hero-bottom strong {
    color: var(--rae-gold);
    font-family: Georgia, serif;
    font-size: 15px;
}

.restate-agent-hero-bottom span {
    color: rgba(255,255,255,.55);
    font-size: 8px;
    letter-spacing: .16em;
}


/* =========================================================
   INTRO
========================================================= */

.restate-agent-introduction {
    padding: 135px 0;
    background: var(--rae-paper);
}

.restate-agent-intro-grid {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr) 360px;
    gap: 65px;
    align-items: start;
}

.restate-agent-section-marker {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.restate-agent-section-marker span {
    color: var(--rae-gold);
    font-family: Georgia, serif;
    font-size: 30px;
}

.restate-agent-section-marker div {
    width: 35px;
    height: 1px;
    background: var(--rae-black);
}

.restate-agent-section-marker p {
    margin: 0;
    font-size: 8px;
    letter-spacing: .18em;
    line-height: 1.6;
}

.restate-agent-intro-content h2 {
    max-width: 750px;
    margin-bottom: 30px;
}

.restate-agent-large-copy {
    max-width: 700px;
    margin-bottom: 20px;
    color: #55524a;
    font-size: 17px;
    line-height: 1.85;
}

.restate-agent-muted-copy {
    max-width: 650px;
    margin-bottom: 35px;
    color: var(--rae-muted);
    font-size: 13px;
    line-height: 1.8;
}

.restate-agent-underlined-link {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--rae-black);
    color: var(--rae-black);
    text-decoration: none;
    font-size: 9px;
    letter-spacing: .16em;
    font-weight: 800;
    text-transform: uppercase;
}

.restate-agent-underlined-link span {
    color: var(--rae-gold);
    font-size: 17px;
    transition: transform .3s ease;
}

.restate-agent-underlined-link:hover span {
    transform: translate(5px, -5px);
}

.restate-agent-intro-image {
    position: relative;
    margin-top: 15px;
}

.restate-agent-intro-image a {
    display: block;
    overflow: hidden;
}

.restate-agent-intro-image img {
    display: block;
    width: 100%;
    height: 490px;
    object-fit: cover;
    transition: transform .8s ease;
}

.restate-agent-intro-image:hover img {
    transform: scale(1.05);
}

.restate-agent-image-tag {
    position: absolute;
    left: -35px;
    bottom: 30px;
    min-width: 125px;
    padding: 18px;
    background: var(--rae-black);
    color: white;
    box-shadow: 0 20px 45px rgba(0,0,0,.15);
}

.restate-agent-image-tag span {
    display: block;
    margin-bottom: 15px;
    color: var(--rae-gold);
    font-size: 8px;
    letter-spacing: .2em;
}

.restate-agent-image-tag strong {
    font-family: Georgia, serif;
    font-size: 17px;
    line-height: 1.05;
    font-weight: 400;
}


/* =========================================================
   ADVANTAGES
========================================================= */

.restate-agent-advantages {
    padding: 125px 0;
    background: #e8e2d6;
}

.restate-agent-heading-row {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 80px;
    align-items: end;
    margin-bottom: 65px;
}

.restate-agent-heading-row h2 {
    max-width: 700px;
}

.restate-agent-heading-row > p {
    margin: 0;
    color: var(--rae-muted);
    font-size: 13px;
    line-height: 1.9;
}

.restate-agent-advantage-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--rae-line);
    border-left: 1px solid var(--rae-line);
}

.restate-agent-advantage-card {
    min-height: 390px;
    padding: 32px;
    border-right: 1px solid var(--rae-line);
    border-bottom: 1px solid var(--rae-line);
    transition:
        background .35s ease,
        transform .35s ease;
}

.restate-agent-advantage-card:hover {
    background: rgba(255,255,255,.48);
    transform: translateY(-6px);
}

.restate-agent-card-number {
    color: var(--rae-gold);
    font-family: Georgia, serif;
    font-size: 14px;
}

.restate-agent-card-icon {
    margin: 42px 0 20px;
    color: var(--rae-gold);
    font-family: Georgia, serif;
    font-size: 35px;
}

.restate-agent-advantage-card h3 {
    max-width: 330px;
    margin: 0 0 18px;
    font-size: 30px;
    line-height: 1.02;
}

.restate-agent-advantage-card p {
    max-width: 340px;
    margin-bottom: 28px;
    color: var(--rae-muted);
    font-size: 12px;
    line-height: 1.75;
}

.restate-agent-advantage-card a {
    display: inline-flex;
    gap: 15px;
    color: var(--rae-black);
    text-decoration: none;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .15em;
    font-weight: 800;
}

.restate-agent-advantage-card a span {
    color: var(--rae-gold);
}


/* =========================================================
   BESPOKE SERVICE
========================================================= */

.restate-agent-service {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 720px;
    background: var(--rae-black);
    color: white;
}

.restate-agent-service-image {
    overflow: hidden;
}

.restate-agent-service-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-agent-service-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 720px;
    object-fit: cover;
    transition: transform 1s ease;
}

.restate-agent-service-image:hover img {
    transform: scale(1.05);
}

.restate-agent-service-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 90px 9%;
}

.restate-agent-service-content h2 {
    max-width: 620px;
    margin-bottom: 28px;
}

.restate-agent-service-intro {
    max-width: 580px;
    margin-bottom: 40px;
    color: rgba(255,255,255,.62);
    font-size: 14px;
    line-height: 1.85;
}

.restate-agent-service-list {
    max-width: 650px;
}

.restate-agent-service-item {
    display: grid;
    grid-template-columns: 45px 1fr;
    gap: 20px;
    padding: 22px 0;
    border-top: 1px solid rgba(255,255,255,.12);
}

.restate-agent-service-item > span {
    color: var(--rae-gold);
    font-family: Georgia, serif;
    font-size: 13px;
}

.restate-agent-service-item h3 {
    margin: 0 0 10px;
    color: white;
    font-family: Arial, sans-serif;
    font-size: 10px;
    letter-spacing: .13em;
    line-height: 1.5;
    font-weight: 800;
}

.restate-agent-service-item p {
    margin: 0;
    color: rgba(255,255,255,.55);
    font-size: 11px;
    line-height: 1.7;
}


/* =========================================================
   NETWORK
========================================================= */

.restate-agent-network {
    padding: 125px 0;
    background: var(--rae-paper);
}

.restate-agent-network-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 60px;
}

.restate-agent-network-heading h2 {
    max-width: 700px;
}

.restate-agent-network-grid {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 20px;
}

.restate-agent-network-grid > a {
    position: relative;
    display: block;
    overflow: hidden;
}

.restate-agent-network-large {
    min-height: 560px;
}

.restate-agent-network-small {
    min-height: 560px;
}

.restate-agent-network-grid img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .9s ease;
}

.restate-agent-network-grid > a:hover img {
    transform: scale(1.07);
}

.restate-agent-network-grid > a::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 30%,
        rgba(0,0,0,.78)
    );
}

.restate-agent-network-overlay {
    position: absolute;
    z-index: 2;
    left: 32px;
    bottom: 32px;
    color: white;
}

.restate-agent-network-overlay span {
    display: block;
    margin-bottom: 12px;
    color: var(--rae-gold-light);
    font-size: 9px;
    letter-spacing: .2em;
    font-weight: 800;
}

.restate-agent-network-overlay strong {
    font-family: Georgia, serif;
    font-size: clamp(28px, 3vw, 45px);
    line-height: .98;
    font-weight: 400;
}


/* =========================================================
   SERVICES
========================================================= */

.restate-agent-services {
    padding: 125px 0;
    background: #e9e4da;
}

.restate-agent-services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--rae-line);
}

.restate-agent-service-card {
    min-height: 385px;
    padding: 30px;
    background: #e9e4da;
    transition:
        background .35s ease,
        transform .35s ease;
}

.restate-agent-service-card:hover {
    background: var(--rae-paper);
    transform: translateY(-5px);
}

.restate-agent-service-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.restate-agent-service-card-top > span {
    color: var(--rae-gold);
    font-family: Georgia, serif;
}

.restate-agent-service-card-top > div {
    color: var(--rae-gold);
    font-size: 25px;
}

.restate-agent-service-card h3 {
    margin: 75px 0 18px;
    font-size: 27px;
    line-height: 1.02;
}

.restate-agent-service-card p {
    min-height: 85px;
    margin-bottom: 28px;
    color: var(--rae-muted);
    font-size: 11px;
    line-height: 1.7;
}

.restate-agent-service-card a {
    display: inline-flex;
    gap: 15px;
    align-items: center;
    color: var(--rae-black);
    text-decoration: none;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .15em;
    font-weight: 800;
}

.restate-agent-service-card a span {
    color: var(--rae-gold);
}


/* =========================================================
   INVESTMENT
========================================================= */

.restate-agent-investment {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    background: var(--rae-dark);
    color: white;
}

.restate-agent-investment-image {
    min-height: 700px;
    overflow: hidden;
}

.restate-agent-investment-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-agent-investment-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .9s ease;
}

.restate-agent-investment-image:hover img {
    transform: scale(1.05);
}

.restate-agent-investment-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 90px 9%;
}

.restate-agent-investment-content h2 {
    max-width: 700px;
    margin-bottom: 28px;
}

.restate-agent-investment-intro {
    max-width: 650px;
    margin-bottom: 35px;
    color: rgba(255,255,255,.62);
    font-size: 14px;
    line-height: 1.85;
}

.restate-agent-factor-heading {
    margin-bottom: 5px;
    color: var(--rae-gold-light);
    font-family: Arial, sans-serif;
    font-size: 9px;
    letter-spacing: .2em;
    font-weight: 800;
}

.restate-agent-factors {
    max-width: 700px;
}

.restate-agent-factors > div {
    display: flex;
    gap: 22px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255,255,255,.11);
}

.restate-agent-factors span {
    color: var(--rae-gold);
    font-family: Georgia, serif;
    font-size: 13px;
}

.restate-agent-factors p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 11px;
    line-height: 1.6;
}

.restate-agent-investment-note {
    max-width: 650px;
    margin: 30px 0 0;
    padding-left: 20px;
    border-left: 1px solid var(--rae-gold);
    color: rgba(255,255,255,.55);
    font-size: 11px;
    line-height: 1.75;
}


/* =========================================================
   EXPERIENCE
========================================================= */

.restate-agent-experience {
    padding: 125px 0;
    background: var(--rae-paper);
}

.restate-agent-experience-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 110px;
    align-items: start;
}

.restate-agent-experience-grid h2 {
    max-width: 600px;
}

.restate-agent-experience-grid > div:last-child > p {
    margin-bottom: 20px;
    color: var(--rae-muted);
    font-size: 14px;
    line-height: 1.85;
}

.restate-agent-experience-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 50px;
    border-top: 1px solid var(--rae-line);
}

.restate-agent-experience-stats div {
    padding: 25px 15px 0 0;
    border-right: 1px solid var(--rae-line);
}

.restate-agent-experience-stats strong {
    display: block;
    margin-bottom: 15px;
    color: var(--rae-gold);
    font-family: Georgia, serif;
    font-size: 28px;
    font-weight: 400;
}

.restate-agent-experience-stats span {
    color: var(--rae-muted);
    font-size: 8px;
    letter-spacing: .15em;
    line-height: 1.6;
}


/* =========================================================
   FAQ
========================================================= */

.restate-agent-faq {
    padding: 125px 0;
    background: #e9e4da;
}

.restate-agent-faq-heading {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 70px;
    align-items: end;
    margin-bottom: 60px;
}

.restate-agent-faq-heading > p {
    margin: 0;
    color: var(--rae-muted);
    font-size: 13px;
    line-height: 1.8;
}

.restate-agent-faq-list {
    max-width: 1050px;
    margin: 0 auto;
}

.restate-agent-faq-list details {
    border-top: 1px solid var(--rae-line);
}

.restate-agent-faq-list details:last-child {
    border-bottom: 1px solid var(--rae-line);
}

.restate-agent-faq-list summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 25px 0;
    cursor: pointer;
    list-style: none;
    color: var(--rae-black);
    font-size: 11px;
    letter-spacing: .13em;
    font-weight: 800;
}

.restate-agent-faq-list summary::-webkit-details-marker {
    display: none;
}

.restate-agent-faq-list summary span {
    color: var(--rae-gold);
    font-size: 23px;
    font-weight: 300;
    transition: transform .3s ease;
}

.restate-agent-faq-list details[open] summary span {
    transform: rotate(45deg);
}

.restate-agent-faq-list details p {
    max-width: 800px;
    margin: 0;
    padding: 0 50px 25px 0;
    color: var(--rae-muted);
    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   CONTACT
========================================================= */

.restate-agent-contact {
    position: relative;
    min-height: 800px;
    isolation: isolate;
    overflow: hidden;
    background: var(--rae-black);
    color: white;
}

.restate-agent-contact-image {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.restate-agent-contact-image a,
.restate-agent-contact-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.restate-agent-contact-image img {
    object-fit: cover;
    object-position: center;
}

.restate-agent-contact-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(10,10,8,.93),
            rgba(10,10,8,.84) 40%,
            rgba(10,10,8,.35) 100%
        );
}

.restate-agent-contact-container {
    position: relative;
    z-index: 2;
    width: min(1320px, calc(100% - 70px));
    margin: 0 auto;
    min-height: 800px;
    display: grid;
    grid-template-columns: 1fr 510px;
    gap: 90px;
    align-items: center;
    padding: 100px 0;
}

.restate-agent-contact-copy {
    max-width: 700px;
}

.restate-agent-contact-copy h2 {
    margin-bottom: 28px;
}

.restate-agent-contact-copy > p:not(.restate-agent-eyebrow) {
    max-width: 570px;
    margin-bottom: 40px;
    color: rgba(255,255,255,.65);
    font-size: 14px;
    line-height: 1.85;
}

.restate-agent-contact-details {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.restate-agent-contact-details a {
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: white;
    text-decoration: none;
}

.restate-agent-contact-details small {
    color: var(--rae-gold);
    font-size: 8px;
    letter-spacing: .18em;
}

.restate-agent-contact-details strong {
    font-size: 11px;
    letter-spacing: .08em;
}

.restate-agent-form-card {
    padding: 40px;
    background: rgba(247,244,236,.97);
    color: var(--rae-black);
    box-shadow: 0 30px 80px rgba(0,0,0,.24);
}

.restate-agent-form-heading {
    margin-bottom: 30px;
}

.restate-agent-form-heading > span {
    display: block;
    margin-bottom: 10px;
    color: var(--rae-gold);
    font-size: 8px;
    letter-spacing: .2em;
    font-weight: 800;
}

.restate-agent-form-heading h3 {
    margin: 0;
    font-size: 37px;
    line-height: 1;
}

.restate-agent-form-heading em {
    color: var(--rae-gold);
}

.restate-agent-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.restate-agent-field {
    margin-bottom: 18px;
}

.restate-agent-field label {
    display: block;
    margin-bottom: 8px;
    color: #5d5951;
    font-size: 8px;
    letter-spacing: .14em;
    font-weight: 800;
}

.restate-agent-field input,
.restate-agent-field textarea {
    width: 100%;
    border: 1px solid rgba(20,20,17,.18);
    border-radius: 0;
    outline: none;
    padding: 13px 12px;
    background: rgba(255,255,255,.6);
    color: var(--rae-black);
    font-family: Arial, sans-serif;
    font-size: 12px;
    transition:
        border-color .25s ease,
        background .25s ease;
}

.restate-agent-field textarea {
    resize: vertical;
    min-height: 100px;
}

.restate-agent-field input:focus,
.restate-agent-field textarea:focus {
    border-color: var(--rae-gold);
    background: white;
}

.restate-agent-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 8px 0 25px;
    color: #77736a;
    font-size: 9px;
    line-height: 1.6;
}

.restate-agent-checkbox input {
    margin-top: 3px;
    accent-color: var(--rae-gold);
}

.restate-agent-checkbox a {
    color: var(--rae-black);
    font-weight: 800;
}

.restate-agent-submit {
    width: 100%;
    min-height: 55px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    border: 0;
    cursor: pointer;
    background: var(--rae-black);
    color: white;
    font-size: 9px;
    letter-spacing: .18em;
    font-weight: 800;
    transition:
        background .3s ease,
        transform .3s ease;
}

.restate-agent-submit span {
    color: var(--rae-gold-light);
    font-size: 18px;
}

.restate-agent-submit:hover {
    background: var(--rae-gold);
    transform: translateY(-3px);
}

.restate-agent-contact-letter {
    position: absolute;
    right: 3%;
    bottom: -5%;
    z-index: 0;
    color: rgba(255,255,255,.035);
    font-family: Georgia, serif;
    font-size: clamp(180px, 28vw, 500px);
    line-height: .7;
    pointer-events: none;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes restateAgentHeroZoom {

    from {
        transform: scale(1.05);
    }

    to {
        transform: scale(1);
    }

}

@keyframes restateAgentFadeUp {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .restate-agent-container,
    .restate-agent-hero-inner,
    .restate-agent-contact-container {
        width: calc(100% - 45px);
    }

    .restate-agent-intro-grid {
        grid-template-columns: 90px 1fr 300px;
        gap: 35px;
    }

    .restate-agent-advantage-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .restate-agent-service-content {
        padding: 70px 6%;
    }

    .restate-agent-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .restate-agent-contact-container {
        grid-template-columns: 1fr 450px;
        gap: 50px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 780px) {

    .restate-agent-container,
    .restate-agent-hero-inner,
    .restate-agent-contact-container {
        width: calc(100% - 32px);
    }

    .restate-agent-hero {
        min-height: 760px;
    }

    .restate-agent-hero-inner {
        min-height: 720px;
        padding: 90px 0 125px;
        align-items: flex-start;
    }

    .restate-agent-hero h1 {
        font-size: clamp(50px, 14vw, 78px);
    }

    .restate-agent-hero-text {
        font-size: 13px;
    }

    .restate-agent-hero-side {
        display: none;
    }

    .restate-agent-hero-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .restate-agent-button {
        width: 100%;
    }

    .restate-agent-hero-bottom {
        width: calc(100% - 32px);
        grid-template-columns: repeat(2, 1fr);
    }

    .restate-agent-hero-bottom div {
        min-height: 55px;
        padding: 0 10px;
    }

    .restate-agent-hero-bottom div:first-child {
        padding-left: 10px;
    }

    .restate-agent-hero-bottom span {
        font-size: 7px;
    }


    .restate-agent-introduction,
    .restate-agent-advantages,
    .restate-agent-network,
    .restate-agent-services,
    .restate-agent-experience,
    .restate-agent-faq {
        padding: 85px 0;
    }

    .restate-agent-intro-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .restate-agent-section-marker {
        flex-direction: row;
        align-items: center;
    }

    .restate-agent-section-marker div {
        width: 35px;
    }

    .restate-agent-section-marker p {
        margin-left: 5px;
    }

    .restate-agent-intro-image {
        margin-top: 20px;
    }

    .restate-agent-intro-image img {
        height: 430px;
    }

    .restate-agent-image-tag {
        left: 12px;
        bottom: 15px;
    }


    .restate-agent-heading-row {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 45px;
    }

    .restate-agent-advantage-grid {
        grid-template-columns: 1fr;
    }

    .restate-agent-advantage-card {
        min-height: auto;
    }


    .restate-agent-service {
        grid-template-columns: 1fr;
    }

    .restate-agent-service-image {
        min-height: 450px;
    }

    .restate-agent-service-image img {
        min-height: 450px;
    }

    .restate-agent-service-content {
        padding: 75px 25px;
    }


    .restate-agent-network-heading {
        display: block;
        margin-bottom: 40px;
    }

    .restate-agent-network-grid {
        grid-template-columns: 1fr;
    }

    .restate-agent-network-large,
    .restate-agent-network-small {
        min-height: 430px;
    }


    .restate-agent-services-grid {
        grid-template-columns: 1fr;
    }

    .restate-agent-service-card {
        min-height: auto;
    }


    .restate-agent-investment {
        grid-template-columns: 1fr;
    }

    .restate-agent-investment-image {
        min-height: 420px;
    }

    .restate-agent-investment-content {
        padding: 75px 25px;
    }


    .restate-agent-experience-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .restate-agent-experience-stats {
        margin-top: 35px;
    }


    .restate-agent-faq-heading {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 40px;
    }


    .restate-agent-contact {
        min-height: auto;
    }

    .restate-agent-contact-container {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 55px;
        padding: 80px 0;
    }

    .restate-agent-form-card {
        padding: 27px 20px;
    }

}


/* =========================================================
   SMALL PHONES
========================================================= */

@media (max-width: 500px) {

    .restate-agent-page h2 {
        font-size: 43px;
    }

    .restate-agent-hero {
        min-height: 720px;
    }

    .restate-agent-hero-inner {
        min-height: 680px;
    }

    .restate-agent-hero h1 {
        font-size: 49px;
    }

    .restate-agent-hero-bottom {
        grid-template-columns: 1fr 1fr;
    }

    .restate-agent-hero-bottom div {
        gap: 8px;
    }

    .restate-agent-hero-bottom span {
        line-height: 1.3;
    }

    .restate-agent-intro-image img {
        height: 360px;
    }

    .restate-agent-service-item {
        grid-template-columns: 35px 1fr;
        gap: 12px;
    }

    .restate-agent-network-large,
    .restate-agent-network-small {
        min-height: 350px;
    }

    .restate-agent-network-overlay {
        left: 20px;
        bottom: 20px;
    }

    .restate-agent-network-overlay strong {
        font-size: 30px;
    }

    .restate-agent-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .restate-agent-contact-details {
        flex-direction: column;
        gap: 22px;
    }

}


/* =========================================================
   ACCESSIBILITY / REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .restate-agent-page *,
    .restate-agent-page *::before,
    .restate-agent-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

}
.reelite-remodel-page {
    --reelite-black: #11110f;
    --reelite-deep: #181815;
    --reelite-charcoal: #292923;
    --reelite-cream: #f5f1e8;
    --reelite-paper: #fbf9f4;
    --reelite-white: #ffffff;
    --reelite-muted: #77756d;
    --reelite-line: rgba(17, 17, 15, .14);
    --reelite-gold: #b59763;

    width: 100%;
    overflow: hidden;
    color: var(--reelite-black);
    background: var(--reelite-paper);
    font-family: Arial, Helvetica, sans-serif;
}

.reelite-remodel-page *,
.reelite-remodel-page *::before,
.reelite-remodel-page *::after {
    box-sizing: border-box;
}

.reelite-remodel-container {
    width: min(1320px, calc(100% - 70px));
    margin: 0 auto;
}


/* =========================================================
   TYPOGRAPHY
========================================================= */

.reelite-remodel-small-heading {
    margin: 0 0 18px;
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: .22em;
    font-weight: 800;
    color: var(--reelite-gold);
}

.reelite-remodel-page h1,
.reelite-remodel-page h2,
.reelite-remodel-page h3,
.reelite-remodel-page p {
    margin-top: 0;
}

.reelite-remodel-page h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5vw, 78px);
    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 400;
}

.reelite-remodel-page h2 span,
.reelite-remodel-page h2 em {
    color: var(--reelite-gold);
    font-style: italic;
}


/* =========================================================
   HERO
========================================================= */

.reelite-remodel-hero {
    position: relative;
    min-height: min(850px, calc(100vh - 20px));
    display: flex;
    align-items: center;
    isolation: isolate;
    background: var(--reelite-black);
    color: var(--reelite-white);
}

.reelite-remodel-hero-media {
    position: absolute;
    inset: 0;
    z-index: -2;
    overflow: hidden;
}

.reelite-remodel-hero-media a,
.reelite-remodel-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
}

.reelite-remodel-hero-media img {
    object-fit: cover;
    object-position: center;
    transform: scale(1.04);
    animation: reeliteRemodelHeroZoom 12s ease-out forwards;
}

.reelite-remodel-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(10, 10, 9, .90) 0%,
            rgba(10, 10, 9, .68) 38%,
            rgba(10, 10, 9, .18) 78%,
            rgba(10, 10, 9, .35) 100%
        );
}

.reelite-remodel-hero-content {
    width: min(1320px, calc(100% - 70px));
    margin: 0 auto;
    padding: 120px 0 110px;
}

.reelite-remodel-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    color: rgba(255,255,255,.72);
    font-size: 10px;
    letter-spacing: .28em;
    font-weight: 700;
    animation: reeliteRemodelFadeUp .8s ease both;
}

.reelite-remodel-eyebrow span {
    width: 28px;
    height: 1px;
    background: var(--reelite-gold);
}

.reelite-remodel-kicker {
    margin-bottom: 16px;
    color: var(--reelite-gold);
    font-size: 12px;
    letter-spacing: .25em;
    font-weight: 800;
    animation: reeliteRemodelFadeUp .8s .1s ease both;
}

.reelite-remodel-hero h1 {
    max-width: 850px;
    margin-bottom: 28px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(52px, 7vw, 108px);
    line-height: .88;
    letter-spacing: -.06em;
    font-weight: 400;
    animation: reeliteRemodelFadeUp .8s .2s ease both;
}

.reelite-remodel-hero h1 em {
    display: block;
    color: #d3bb8a;
    font-style: italic;
}

.reelite-remodel-hero-description {
    max-width: 650px;
    margin-bottom: 36px;
    color: rgba(255,255,255,.76);
    font-size: 16px;
    line-height: 1.85;
    animation: reeliteRemodelFadeUp .8s .3s ease both;
}

.reelite-remodel-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    animation: reeliteRemodelFadeUp .8s .4s ease both;
}

.reelite-remodel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    min-height: 54px;
    padding: 0 25px;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: .17em;
    font-weight: 800;
    transition:
        transform .35s ease,
        background-color .35s ease,
        color .35s ease,
        border-color .35s ease;
}

.reelite-remodel-btn span {
    font-size: 16px;
    transition: transform .35s ease;
}

.reelite-remodel-btn:hover {
    transform: translateY(-4px);
}

.reelite-remodel-btn:hover span {
    transform: translateX(4px);
}

.reelite-remodel-btn.elite-primary {
    color: var(--reelite-black);
    background: var(--reelite-white);
}

.reelite-remodel-btn.elite-primary:hover {
    background: var(--reelite-gold);
    color: var(--reelite-white);
}

.reelite-remodel-btn.elite-outline {
    color: var(--reelite-white);
    border: 1px solid rgba(255,255,255,.45);
}

.reelite-remodel-btn.elite-outline:hover {
    border-color: var(--reelite-gold);
    background: var(--reelite-gold);
}

.reelite-remodel-hero-meta {
    display: flex;
    gap: 45px;
    margin-top: 80px;
    animation: reeliteRemodelFadeUp .8s .5s ease both;
}

.reelite-remodel-hero-meta div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.reelite-remodel-hero-meta strong {
    color: var(--reelite-gold);
    font-family: Georgia, serif;
    font-size: 17px;
}

.reelite-remodel-hero-meta span {
    color: rgba(255,255,255,.62);
    font-size: 10px;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.reelite-remodel-scroll {
    position: absolute;
    right: 35px;
    bottom: 35px;
    display: flex;
    align-items: center;
    gap: 15px;
    transform: rotate(-90deg);
    transform-origin: right bottom;
    color: rgba(255,255,255,.58);
    font-size: 9px;
    letter-spacing: .2em;
}

.reelite-remodel-scroll i {
    display: block;
    width: 55px;
    height: 1px;
    background: var(--reelite-gold);
}


/* =========================================================
   INTRO
========================================================= */

.reelite-remodel-intro {
    padding: 130px 0;
    background: var(--reelite-paper);
}

.reelite-remodel-intro-grid {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 190px;
    gap: 70px;
    align-items: start;
}

.reelite-remodel-section-label {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.reelite-remodel-section-label span {
    font-family: Georgia, serif;
    font-size: 30px;
    color: var(--reelite-gold);
}

.reelite-remodel-section-label div {
    width: 35px;
    height: 1px;
    background: var(--reelite-black);
}

.reelite-remodel-section-label p {
    margin: 0;
    font-size: 9px;
    letter-spacing: .2em;
    writing-mode: vertical-rl;
}

.reelite-remodel-intro-main h2 {
    max-width: 850px;
    margin-bottom: 32px;
}

.reelite-remodel-lead {
    max-width: 760px;
    margin-bottom: 30px;
    color: #55534c;
    font-size: 18px;
    line-height: 1.85;
}

.reelite-remodel-intro-line {
    width: 100%;
    height: 1px;
    margin-bottom: 24px;
    background: var(--reelite-line);
}

.reelite-remodel-copy {
    max-width: 690px;
    color: var(--reelite-muted);
    font-size: 14px;
    line-height: 1.9;
}

.reelite-remodel-intro-stat {
    padding-top: 10px;
    border-top: 1px solid var(--reelite-line);
}

.reelite-remodel-intro-stat span {
    display: block;
    margin-bottom: 50px;
    font-size: 9px;
    letter-spacing: .2em;
}

.reelite-remodel-intro-stat strong {
    display: block;
    margin-bottom: 12px;
    color: var(--reelite-gold);
    font-family: Georgia, serif;
    font-size: 60px;
    font-weight: 400;
}

.reelite-remodel-intro-stat p {
    margin: 0;
    color: var(--reelite-muted);
    font-size: 12px;
    line-height: 1.6;
}


/* =========================================================
   SERVICES
========================================================= */

.reelite-remodel-services {
    padding: 120px 0;
    background: #ebe7dc;
}

.reelite-remodel-heading-row {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 80px;
    margin-bottom: 70px;
    align-items: end;
}

.reelite-remodel-heading-row h2 {
    margin-bottom: 0;
}

.reelite-remodel-heading-row > p {
    margin: 0;
    color: var(--reelite-muted);
    font-size: 14px;
    line-height: 1.8;
}

.reelite-remodel-service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.reelite-remodel-service-card {
    min-width: 0;
    background: var(--reelite-paper);
    border: 1px solid rgba(0,0,0,.07);
    overflow: hidden;
    transition:
        transform .4s ease,
        box-shadow .4s ease;
}

.reelite-remodel-service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 60px rgba(20,20,15,.13);
}

.reelite-remodel-card-image {
    position: relative;
    display: block;
    height: 390px;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
}

.reelite-remodel-card-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0,0,0,.05),
        rgba(0,0,0,.6)
    );
}

.reelite-remodel-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s cubic-bezier(.2,.7,.2,1);
}

.reelite-remodel-service-card:hover
.reelite-remodel-card-image img {
    transform: scale(1.08);
}

.reelite-remodel-card-number {
    position: absolute;
    top: 25px;
    left: 25px;
    z-index: 2;
    color: rgba(255,255,255,.85);
    font-family: Georgia, serif;
    font-size: 14px;
}

.reelite-remodel-card-arrow {
    position: absolute;
    right: 25px;
    bottom: 25px;
    z-index: 2;
    display: grid;
    width: 45px;
    height: 45px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 50%;
    color: white;
    font-size: 18px;
    transition: all .35s ease;
}

.reelite-remodel-service-card:hover
.reelite-remodel-card-arrow {
    background: var(--reelite-gold);
    border-color: var(--reelite-gold);
    transform: rotate(45deg);
}

.reelite-remodel-card-content {
    padding: 32px;
}

.reelite-remodel-card-content > p {
    margin-bottom: 14px;
    color: var(--reelite-gold);
    font-size: 9px;
    letter-spacing: .18em;
    font-weight: 800;
}

.reelite-remodel-card-content h3 {
    max-width: 500px;
    margin-bottom: 15px;
    font-family: Georgia, serif;
    font-size: 30px;
    line-height: 1.08;
    font-weight: 400;
}

.reelite-remodel-card-content > span {
    display: block;
    margin-bottom: 25px;
    color: var(--reelite-muted);
    font-size: 13px;
    line-height: 1.7;
}

.reelite-remodel-card-content ul {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.reelite-remodel-card-content li {
    padding: 7px 10px;
    border: 1px solid var(--reelite-line);
    color: #68665e;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .08em;
}


/* =========================================================
   FEATURE
========================================================= */

.reelite-remodel-feature {
    padding: 140px 0;
    background: var(--reelite-paper);
}

.reelite-remodel-feature-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 90px;
    align-items: center;
}

.reelite-remodel-feature-image {
    position: relative;
}

.reelite-remodel-feature-image a {
    display: block;
    overflow: hidden;
}

.reelite-remodel-feature-image img {
    display: block;
    width: 100%;
    min-height: 650px;
    object-fit: cover;
    transition: transform .9s ease;

    pointer-events: none;
    user-select: none;
}

.reelite-remodel-feature-image:hover img {
    transform: scale(1.04);
}

.reelite-remodel-image-caption {
    position: absolute;
    right: -30px;
    bottom: 35px;
    padding: 22px 25px;
    background: var(--reelite-black);
    color: white;
    box-shadow: 0 20px 50px rgba(0,0,0,.18);
}

.reelite-remodel-image-caption span {
    display: block;
    margin-bottom: 8px;
    color: var(--reelite-gold);
    font-size: 8px;
    letter-spacing: .18em;
}

.reelite-remodel-image-caption strong {
    font-family: Georgia, serif;
    font-size: 18px;
    font-weight: 400;
}

.reelite-remodel-feature-content h2 {
    margin-bottom: 28px;
}

.reelite-remodel-feature-content > p:not(.reelite-remodel-small-heading) {
    color: var(--reelite-muted);
    font-size: 15px;
    line-height: 1.85;
}

.reelite-remodel-feature-list {
    margin: 38px 0;
    border-top: 1px solid var(--reelite-line);
}

.reelite-remodel-feature-list div {
    display: flex;
    align-items: center;
    gap: 25px;
    padding: 17px 0;
    border-bottom: 1px solid var(--reelite-line);
}

.reelite-remodel-feature-list strong {
    color: var(--reelite-gold);
    font-family: Georgia, serif;
    font-size: 14px;
}

.reelite-remodel-feature-list span {
    color: #4e4c46;
    font-size: 12px;
}

.reelite-remodel-text-link {
    display: inline-flex;
    gap: 20px;
    align-items: center;
    color: var(--reelite-black);
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.reelite-remodel-text-link span {
    color: var(--reelite-gold);
    font-size: 18px;
    transition: transform .3s ease;
}

.reelite-remodel-text-link:hover span {
    transform: translate(5px, -5px);
}


/* =========================================================
   BATHROOM
========================================================= */

.reelite-remodel-bathroom {
    padding: 130px 0;
    background: var(--reelite-black);
    color: white;
}

.reelite-remodel-bathroom-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 90px;
    align-items: center;
}

.reelite-remodel-bathroom-content h2 {
    margin-bottom: 30px;
}

.reelite-remodel-bathroom-content > p:not(.reelite-remodel-small-heading) {
    max-width: 540px;
    color: rgba(255,255,255,.65);
    font-size: 15px;
    line-height: 1.85;
}

.reelite-remodel-bathroom-points {
    margin-top: 40px;
}

.reelite-remodel-bathroom-points > div {
    display: flex;
    gap: 20px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.reelite-remodel-bathroom-points span {
    color: var(--reelite-gold);
    font-family: Georgia, serif;
}

.reelite-remodel-bathroom-points p {
    margin: 0;
    color: rgba(255,255,255,.75);
    font-size: 12px;
    line-height: 1.6;
}

.reelite-remodel-bathroom-gallery {
    position: relative;
    min-height: 680px;
}

.reelite-remodel-bath-main {
    display: block;
    width: 82%;
    height: 590px;
    overflow: hidden;
}

.reelite-remodel-bath-main img,
.reelite-remodel-bath-small img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s ease;
}

.reelite-remodel-bath-main:hover img,
.reelite-remodel-bath-small:hover img {
    transform: scale(1.06);
}

.reelite-remodel-bath-small {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 43%;
    height: 300px;
    display: block;
    padding: 10px;
    background: var(--reelite-black);
    overflow: hidden;
}


/* =========================================================
   PROCESS
========================================================= */

.reelite-remodel-process {
    padding: 130px 0;
    background: #e7e2d7;
}

.reelite-remodel-process-heading {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 80px;
    align-items: end;
    margin-bottom: 65px;
}

.reelite-remodel-process-heading h2 {
    margin-bottom: 0;
}

.reelite-remodel-process-heading > p {
    margin: 0;
    color: var(--reelite-muted);
    font-size: 14px;
    line-height: 1.8;
}

.reelite-remodel-process-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--reelite-line);
    border-left: 1px solid var(--reelite-line);
}

.reelite-remodel-process-card {
    min-height: 285px;
    padding: 30px;
    border-right: 1px solid var(--reelite-line);
    border-bottom: 1px solid var(--reelite-line);
    transition: background-color .35s ease;
}

.reelite-remodel-process-card:hover {
    background: rgba(255,255,255,.45);
}

.reelite-remodel-process-card > span {
    color: var(--reelite-gold);
    font-family: Georgia, serif;
}

.reelite-remodel-process-icon {
    margin: 35px 0 18px;
    color: var(--reelite-black);
    font-size: 25px;
}

.reelite-remodel-process-card h3 {
    margin-bottom: 12px;
    font-family: Georgia, serif;
    font-size: 25px;
    font-weight: 400;
}

.reelite-remodel-process-card p {
    max-width: 280px;
    margin: 0;
    color: var(--reelite-muted);
    font-size: 12px;
    line-height: 1.7;
}


/* =========================================================
   WHY REMODEL
========================================================= */

.reelite-remodel-why {
    padding: 140px 0;
    background: var(--reelite-paper);
}

.reelite-remodel-why-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 90px;
    align-items: center;
}

.reelite-remodel-why-image {
    position: relative;
}

.reelite-remodel-why-image a {
    display: block;
    overflow: hidden;
}

.reelite-remodel-why-image img {
    display: block;
    width: 100%;
    height: 650px;
    object-fit: cover;
    transition: transform .8s ease;
}

.reelite-remodel-why-image:hover img {
    transform: scale(1.05);
}

.reelite-remodel-vertical-label {
    position: absolute;
    left: -25px;
    top: 50%;
    padding: 15px 12px;
    background: var(--reelite-gold);
    color: white;
    font-size: 8px;
    letter-spacing: .2em;
    writing-mode: vertical-rl;
    transform: translateY(-50%);
}

.reelite-remodel-why-content h2 {
    margin-bottom: 28px;
}

.reelite-remodel-why-content > p:not(.reelite-remodel-small-heading) {
    max-width: 650px;
    margin-bottom: 40px;
    color: var(--reelite-muted);
    font-size: 15px;
    line-height: 1.85;
}

.reelite-remodel-benefits {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

.reelite-remodel-benefits > div {
    padding-top: 18px;
    border-top: 1px solid var(--reelite-line);
}

.reelite-remodel-benefits strong {
    display: block;
    margin-bottom: 16px;
    color: var(--reelite-gold);
    font-family: Georgia, serif;
}

.reelite-remodel-benefits h3 {
    margin-bottom: 8px;
    font-family: Georgia, serif;
    font-size: 18px;
    font-weight: 400;
}

.reelite-remodel-benefits p {
    margin: 0;
    color: var(--reelite-muted);
    font-size: 11px;
    line-height: 1.6;
}


/* =========================================================
   PHILOSOPHY
========================================================= */

.reelite-remodel-philosophy {
    padding: 125px 0;
    background: #eeeae1;
}

.reelite-remodel-philosophy-top {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 80px;
    margin-bottom: 65px;
    align-items: end;
}

.reelite-remodel-philosophy-top h2 {
    margin-bottom: 0;
}

.reelite-remodel-philosophy-top > p {
    margin: 0;
    color: var(--reelite-muted);
    font-size: 14px;
    line-height: 1.8;
}

.reelite-remodel-philosophy-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--reelite-line);
}

.reelite-remodel-philosophy-grid > div {
    min-height: 240px;
    padding: 35px;
    background: #eeeae1;
}

.reelite-remodel-philosophy-grid span {
    color: var(--reelite-gold);
    font-family: Georgia, serif;
}

.reelite-remodel-philosophy-grid h3 {
    margin: 45px 0 12px;
    font-family: Georgia, serif;
    font-size: 25px;
    font-weight: 400;
}

.reelite-remodel-philosophy-grid p {
    max-width: 270px;
    margin: 0;
    color: var(--reelite-muted);
    font-size: 12px;
    line-height: 1.7;
}


/* =========================================================
   PLANNING
========================================================= */

.reelite-remodel-planning {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 650px;
    background: var(--reelite-black);
    color: white;
}

.reelite-remodel-planning-image {
    min-height: 650px;
    overflow: hidden;
}

.reelite-remodel-planning-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.reelite-remodel-planning-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s ease;
}

.reelite-remodel-planning-image:hover img {
    transform: scale(1.05);
}

.reelite-remodel-planning-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 90px 9%;
}

.reelite-remodel-planning-content h2 {
    margin-bottom: 28px;
}

.reelite-remodel-planning-content > p:not(.reelite-remodel-small-heading) {
    color: rgba(255,255,255,.62);
    font-size: 14px;
    line-height: 1.85;
}

.reelite-remodel-planning-list {
    margin-top: 35px;
}

.reelite-remodel-planning-list > div {
    display: flex;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.reelite-remodel-planning-list span {
    color: var(--reelite-gold);
    font-family: Georgia, serif;
}

.reelite-remodel-planning-list p {
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 11px;
    line-height: 1.5;
}


/* =========================================================
   FAQ
========================================================= */

.reelite-remodel-faq {
    padding: 130px 0;
    background: var(--reelite-paper);
}

.reelite-remodel-faq-heading {
    margin-bottom: 60px;
}

.reelite-remodel-faq-heading h2 {
    margin-bottom: 0;
}

.reelite-remodel-faq-list {
    max-width: 1000px;
    margin: 0 auto;
}

.reelite-remodel-faq-list details {
    border-top: 1px solid var(--reelite-line);
}

.reelite-remodel-faq-list details:last-child {
    border-bottom: 1px solid var(--reelite-line);
}

.reelite-remodel-faq-list summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 25px 0;
    cursor: pointer;
    list-style: none;
    font-family: Georgia, serif;
    font-size: 20px;
}

.reelite-remodel-faq-list summary::-webkit-details-marker {
    display: none;
}

.reelite-remodel-faq-list summary span {
    color: var(--reelite-gold);
    font-family: Arial, sans-serif;
    font-size: 24px;
    font-weight: 300;
    transition: transform .3s ease;
}

.reelite-remodel-faq-list details[open] summary span {
    transform: rotate(45deg);
}

.reelite-remodel-faq-list details p {
    max-width: 750px;
    padding: 0 50px 25px 0;
    margin: 0;
    color: var(--reelite-muted);
    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   FINAL CONTACT
========================================================= */

.reelite-remodel-contact {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: center;
    isolation: isolate;
    overflow: hidden;
    background: var(--reelite-black);
    color: white;
}

.reelite-remodel-contact-image {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.reelite-remodel-contact-image a,
.reelite-remodel-contact-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.reelite-remodel-contact-image img {
    object-fit: cover;
}

.reelite-remodel-contact-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(10,10,8,.92),
            rgba(10,10,8,.70) 45%,
            rgba(10,10,8,.20)
        );
}

.reelite-remodel-contact-content {
    width: min(1320px, calc(100% - 70px));
    margin: 0 auto;
    padding: 100px 0;
}

.reelite-remodel-contact-content h2 {
    max-width: 850px;
    margin-bottom: 28px;
}

.reelite-remodel-contact-content > p:not(.reelite-remodel-small-heading) {
    max-width: 580px;
    color: rgba(255,255,255,.67);
    font-size: 15px;
    line-height: 1.85;
}

.reelite-remodel-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 35px;
}

.reelite-remodel-contact-mark {
    position: absolute;
    right: 7%;
    bottom: 5%;
    color: rgba(255,255,255,.06);
    font-family: Georgia, serif;
    font-size: clamp(160px, 24vw, 420px);
    line-height: .7;
    pointer-events: none;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes reeliteRemodelHeroZoom {
    from {
        transform: scale(1.04);
    }

    to {
        transform: scale(1);
    }
}

@keyframes reeliteRemodelFadeUp {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media (max-width: 1050px) {

    .reelite-remodel-container,
    .reelite-remodel-hero-content,
    .reelite-remodel-contact-content {
        width: min(100% - 45px, 900px);
    }

    .reelite-remodel-intro-grid {
        grid-template-columns: 100px 1fr;
        gap: 35px;
    }

    .reelite-remodel-intro-stat {
        display: none;
    }

    .reelite-remodel-heading-row,
    .reelite-remodel-process-heading,
    .reelite-remodel-philosophy-top {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .reelite-remodel-service-grid {
        gap: 18px;
    }

    .reelite-remodel-feature-grid,
    .reelite-remodel-bathroom-grid,
    .reelite-remodel-why-grid {
        gap: 50px;
    }

    .reelite-remodel-card-image {
        height: 320px;
    }

    .reelite-remodel-feature-image img {
        min-height: 520px;
    }

    .reelite-remodel-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .reelite-remodel-planning-content {
        padding: 60px 8%;
    }

}


/* =========================================================
   RESPONSIVE — MOBILE
========================================================= */

@media (max-width: 760px) {

    .reelite-remodel-container,
    .reelite-remodel-hero-content,
    .reelite-remodel-contact-content {
        width: calc(100% - 32px);
    }

    .reelite-remodel-hero {
        min-height: 760px;
    }

    .reelite-remodel-hero-content {
        padding: 100px 0 70px;
    }

    .reelite-remodel-hero h1 {
        font-size: clamp(47px, 14vw, 72px);
    }

    .reelite-remodel-hero-description {
        font-size: 14px;
        line-height: 1.75;
    }

    .reelite-remodel-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .reelite-remodel-btn {
        width: 100%;
    }

    .reelite-remodel-hero-meta {
        flex-wrap: wrap;
        gap: 18px;
        margin-top: 45px;
    }

    .reelite-remodel-scroll {
        display: none;
    }

    .reelite-remodel-intro,
    .reelite-remodel-services,
    .reelite-remodel-feature,
    .reelite-remodel-bathroom,
    .reelite-remodel-process,
    .reelite-remodel-why,
    .reelite-remodel-philosophy,
    .reelite-remodel-faq {
        padding: 80px 0;
    }

    .reelite-remodel-intro-grid {
        display: block;
    }

    .reelite-remodel-section-label {
        margin-bottom: 35px;
    }

    .reelite-remodel-section-label p {
        writing-mode: initial;
    }

    .reelite-remodel-page h2 {
        font-size: clamp(40px, 12vw, 58px);
    }

    .reelite-remodel-service-grid {
        grid-template-columns: 1fr;
    }

    .reelite-remodel-card-image {
        height: 300px;
    }

    .reelite-remodel-card-content {
        padding: 25px;
    }

    .reelite-remodel-feature-grid,
    .reelite-remodel-bathroom-grid,
    .reelite-remodel-why-grid {
        grid-template-columns: 1fr;
    }

    .reelite-remodel-feature-image img {
        min-height: 420px;
    }

    .reelite-remodel-image-caption {
        right: 15px;
        bottom: 15px;
    }

    .reelite-remodel-bathroom-gallery {
        min-height: 510px;
        order: -1;
    }

    .reelite-remodel-bath-main {
        width: 90%;
        height: 440px;
    }

    .reelite-remodel-bath-small {
        width: 48%;
        height: 220px;
    }

    .reelite-remodel-process-grid {
        grid-template-columns: 1fr;
    }

    .reelite-remodel-process-card {
        min-height: auto;
        padding: 25px;
    }

    .reelite-remodel-why-image img {
        height: 480px;
    }

    .reelite-remodel-vertical-label {
        left: 10px;
    }

    .reelite-remodel-benefits {
        grid-template-columns: 1fr;
    }

    .reelite-remodel-philosophy-grid {
        grid-template-columns: 1fr;
    }

    .reelite-remodel-philosophy-grid > div {
        min-height: auto;
        padding: 28px;
    }

    .reelite-remodel-philosophy-grid h3 {
        margin-top: 30px;
    }

    .reelite-remodel-planning {
        grid-template-columns: 1fr;
    }

    .reelite-remodel-planning-image {
        min-height: 400px;
    }

    .reelite-remodel-planning-content {
        padding: 70px 25px;
    }

    .reelite-remodel-faq-list summary {
        font-size: 17px;
    }

    .reelite-remodel-contact {
        min-height: 650px;
    }

    .reelite-remodel-contact-content {
        padding: 80px 0;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .reelite-remodel-hero {
        min-height: 700px;
    }

    .reelite-remodel-hero h1 {
        font-size: 48px;
    }

    .reelite-remodel-kicker {
        font-size: 9px;
        letter-spacing: .18em;
    }

    .reelite-remodel-card-image {
        height: 260px;
    }

    .reelite-remodel-card-content h3 {
        font-size: 26px;
    }

    .reelite-remodel-feature-image img {
        min-height: 350px;
    }

    .reelite-remodel-bathroom-gallery {
        min-height: 390px;
    }

    .reelite-remodel-bath-main {
        height: 350px;
    }

    .reelite-remodel-bath-small {
        height: 170px;
    }

    .reelite-remodel-why-image img {
        height: 400px;
    }

    .reelite-remodel-contact-mark {
        font-size: 220px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .reelite-remodel-page *,
    .reelite-remodel-page *::before,
    .reelite-remodel-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

}
.restate-commercial-page {

    --restate-black: #191a19;
    --restate-dark: #22231f;
    --restate-cream: #f5f2eb;
    --restate-paper: #faf9f6;
    --restate-muted: #74736d;
    --restate-line: #d7d4cc;
    --restate-gold: #b49a69;
    --restate-white: #ffffff;

    color: var(--restate-black);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    overflow: hidden;
}


/* =========================================================
   SECTION LABEL
   ========================================================= */

.restate-section-label {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 3px;

    color: var(--restate-muted);
}


/* =========================================================
   HERO
   ========================================================= */

.restate-hero {

    position: relative;

    min-height: 720px;

    height: min(90vh, 900px);

    overflow: hidden;

    display: flex;

    align-items: center;

    color: #fff;

    background: #171816;
}


/* HERO IMAGE */

.restate-hero__image {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

    transform: scale(1.08);

    animation:
        restateHeroZoom
        15s
        ease-out
        forwards;
}


/* HERO OVERLAY */

.restate-hero__overlay {

    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(11,13,11,.82),
            rgba(11,13,11,.47) 55%,
            rgba(11,13,11,.22)
        );
}


/* HERO GRAIN */

.restate-hero__grain {

    position: absolute;

    inset: 0;

    z-index: 2;

    opacity: .06;

    pointer-events: none;

    background-image:
        url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");
}


/* HERO CONTENT */

.restate-hero__content {

    position: relative;

    z-index: 3;

    width: min(900px, 90%);

    margin-left:
        clamp(25px, 9vw, 145px);
     margin-top: 3rem;   
}


/* EYEBROW */

.restate-hero__eyebrow {

    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 35px;

    font-size: 10px;

    letter-spacing: 4px;

    opacity: 0;

    animation:
        restateFadeUp
        1s
        .2s
        ease
        forwards;
}


.restate-hero__eyebrow-line {

    width: 42px;

    height: 1px;

    background:
        rgba(255,255,255,.7);
}


.restate-hero__eyebrow-dot {

    width: 4px;

    height: 4px;

    border-radius: 50%;

    background:
        var(--restate-gold);
}


/* HERO TITLE */
.restate-hero__title {

    margin: 0;

    max-width: 900px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(65px, 8vw, 125px);

    font-weight: 400;

    line-height: .9;

    letter-spacing: -5px;

    opacity: 0;

    transform:
        translateY(50px);

    animation:
        restateTitleReveal
        1.2s
        .35s
        cubic-bezier(.16,1,.3,1)
        forwards;
        color: rgb(248, 234, 207);
}


.restate-hero__title span {

    display: block;

    color:
        #d8c49a;

    font-style: italic;
}


/* HERO TEXT */

.restate-hero__text {

    max-width: 570px;

    margin:
        42px 0 35px;

    font-size: 16px;

    line-height: 1.8;

    color:
        rgba(255,255,255,.75);

    opacity: 0;

    transform:
        translateY(20px);

    animation:
        restateFadeUp
        1s
        .75s
        ease
        forwards;
}


/* HERO ACTIONS */

.restate-hero__actions {

    display: flex;

    align-items: center;

    gap: 30px;

    opacity: 0;

    animation:
        restateFadeUp
        1s
        1s
        ease
        forwards;
}


/* BUTTON */

.restate-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 20px;

    min-height: 52px;

    padding:
        0 25px;

    text-decoration: none;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 1.5px;

    transition:
        transform .4s ease,
        background .4s ease,
        color .4s ease;
}


.restate-btn span {

    font-size: 17px;
}


.restate-btn:hover {

    transform:
        translateY(-4px);
}


.restate-btn--light {

    color:
        #171816;

    background:
        #fff;
}


.restate-btn--light:hover {

    background:
        #d8c49a;
}


.restate-btn--dark {

    color: #fff;

    background:
        var(--restate-black);
}


.restate-btn--dark:hover {

    background:
        var(--restate-gold);
}


/* HERO LINK */

.restate-hero__link {

    color: #fff;

    text-decoration: none;

    font-size: 11px;

    letter-spacing: 1.5px;

    border-bottom:
        1px solid
        rgba(255,255,255,.45);

    padding-bottom: 8px;
}


.restate-hero__link span {

    margin-left: 8px;
}


/* HERO BOTTOM */

.restate-hero__bottom {

    position: absolute;

    z-index: 3;

    left:
        clamp(25px, 9vw, 145px);

    right:
        clamp(25px, 5vw, 80px);

    bottom: 28px;

    display: flex;

    justify-content: space-between;

    font-size: 8px;

    letter-spacing: 3px;

    color:
        rgba(255,255,255,.55);
}


/* HERO SCROLL */

.restate-hero__scroll {

    position: absolute;

    z-index: 3;

    right: 30px;

    bottom: 110px;

    display: flex;

    align-items: center;

    gap: 10px;

    writing-mode:
        vertical-rl;

    font-size: 8px;

    letter-spacing: 3px;

    color:
        rgba(255,255,255,.6);
}


.restate-hero__scroll span {

    width: 1px;

    height: 45px;

    background:
        rgba(255,255,255,.55);
}


/* =========================================================
   INTRO
   ========================================================= */

.restate-intro {

    padding:
        130px
        clamp(25px, 9vw, 145px);

    background:
        var(--restate-paper);
}


.restate-intro__top {

    display: flex;

    justify-content: space-between;

    padding-bottom: 30px;

    border-bottom:
        1px solid
        var(--restate-line);
}


.restate-intro__layout {

    display: grid;

    grid-template-columns:
        1.1fr .9fr;

    gap: 100px;

    padding-top: 85px;
}


.restate-intro__heading h2 {

    margin: 0;

    max-width: 700px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(48px, 6vw, 85px);

    line-height: .98;

    font-weight: 400;

    letter-spacing: -3px;
}


.restate-intro__heading em,
.restate-section-heading em,
.restate-strategy h2 em,
.restate-services h2 em,
.restate-global h2 em,
.restate-process h2 em,
.restate-architecture h2 em,
.restate-contact h2 em {

    color:
        var(--restate-gold);

    font-style: italic;
}


.restate-intro__copy {

    padding-top: 10px;
}


.restate-intro__lead {

    margin-top: 0;

    font-size: 22px;

    line-height: 1.55;
}


.restate-intro__copy p:not(.restate-intro__lead) {

    color:
        #686761;

    font-size: 15px;

    line-height: 1.9;
}


.restate-text-link {

    display: inline-block;

    margin-top: 20px;

    color:
        var(--restate-black);

    text-decoration: none;

    font-size: 11px;

    letter-spacing: 1.5px;

    border-bottom:
        1px solid
        var(--restate-black);

    padding-bottom: 8px;
}


/* =========================================================
   METRICS
   ========================================================= */

.restate-metrics {

    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    background:
        #ebe8e0;
}


.restate-metrics__item {

    min-height: 230px;

    padding:
        45px 35px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    border-right:
        1px solid
        #d4d0c7;

    transition:
        background .4s ease,
        transform .4s ease;
}


.restate-metrics__item:hover {

    background:
        #f2f0ea;

    transform:
        translateY(-5px);
}


.restate-metrics__item strong {

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(38px,4vw,62px);

    font-weight: 400;
}


.restate-metrics__item span {

    max-width: 190px;

    font-size: 12px;

    line-height: 1.7;

    color:
        #6d6b65;
}


/* =========================================================
   OPPORTUNITIES
   ========================================================= */

.restate-opportunities {

    padding:
        135px
        clamp(25px, 7vw, 110px);

    background:
        #f7f5ef;
}


.restate-section-heading {

    display: grid;

    grid-template-columns:
        1fr .65fr;

    gap: 80px;

    align-items: end;

    margin-bottom: 70px;
}


.restate-section-heading h2 {

    margin:
        22px 0 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(48px,6vw,82px);

    font-weight: 400;

    line-height: 1;

    letter-spacing: -3px;
}


.restate-section-heading p {

    margin: 0;

    color:
        #6c6a64;

    font-size: 14px;

    line-height: 1.9;
}


/* PROPERTY GRID */

.restate-property-grid {

    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 20px;
}


/* PROPERTY CARD */

.restate-property-card {

    position: relative;

    min-height: 570px;

    overflow: hidden;

    color: #fff;
}


/* PROPERTY IMAGE */

.restate-property-card__image {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

    transition:
        transform 1s
        cubic-bezier(.16,1,.3,1);
}


/* CARD OVERLAY */

.restate-property-card__overlay {

    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.05),
            rgba(0,0,0,.78)
        );
}


/* CARD CONTENT */

.restate-property-card__content {

    position: absolute;

    inset:
        auto 35px 35px;

    z-index: 2;
}


.restate-property-card__content > span {

    font-size: 10px;

    letter-spacing: 3px;

    color:
        #d6c297;
}


.restate-property-card__content h3 {

    max-width: 400px;

    margin:
        15px 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(35px,4vw,57px);

    line-height: .95;

    font-weight: 400;
    color: wheat;
}


.restate-property-card__content p {

    max-width: 390px;

    margin-bottom: 25px;

    color:
        rgba(255,255,255,.72);

    font-size: 13px;

    line-height: 1.7;
}


.restate-property-card__content a {

    color: #fff;

    text-decoration: none;

    font-size: 10px;

    letter-spacing: 2px;
}


.restate-property-card__content a span {

    margin-left: 8px;
}


.restate-property-card:hover
.restate-property-card__image {

    transform:
        scale(1.08);
}


/* =========================================================
   STRATEGY
   ========================================================= */

.restate-strategy {

    display: grid;

    grid-template-columns:
        1fr 1fr;

    min-height: 720px;

    background:
        #22231f;

    color: #fff;
}


/* STRATEGY IMAGE */

.restate-strategy__image {

    position: relative;

    min-height: 500px;

    overflow: hidden;
}


.restate-strategy__image img {

    width: 100%;

    height: 100%;

    min-height: 100%;

    object-fit: cover;

    object-position: center;

    display: block;
}


.restate-strategy__content {

    padding:
        100px clamp(35px,7vw,110px);

    display: flex;

    flex-direction: column;

    justify-content: center;
}


.restate-strategy__content
.restate-section-label {

    color:
        #aaa79d;
}


.restate-strategy h2 {

    margin:
        25px 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(50px,6vw,85px);

    line-height: .95;

    font-weight: 400;

    letter-spacing: -3px;
}


.restate-strategy__lead {

    font-size: 21px;

    line-height: 1.5;
}


.restate-strategy__content > p:not(.restate-strategy__lead) {

    max-width: 520px;

    color:
        #aaa9a1;

    font-size: 14px;

    line-height: 1.9;
}


/* STRATEGY POINTS */

.restate-strategy__points {

    margin-top: 45px;

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 20px;
}


.restate-strategy__points div {

    display: flex;

    gap: 15px;

    padding-top: 15px;

    border-top:
        1px solid
        rgba(255,255,255,.15);
}


.restate-strategy__points span {

    color:
        var(--restate-gold);

    font-size: 9px;

    letter-spacing: 2px;
}


.restate-strategy__points strong {

    font-size: 11px;

    font-weight: 500;

    letter-spacing: 1px;
}


/* =========================================================
   SERVICES
   ========================================================= */

.restate-services {

    padding:
        135px
        clamp(25px,9vw,145px);

    background:
        var(--restate-paper);
}


.restate-services__heading {

    max-width: 800px;

    margin-bottom: 80px;
}


.restate-services h2 {

    margin:
        20px 0 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(50px,6vw,85px);

    line-height: .95;

    font-weight: 400;

    letter-spacing: -3px;
}


.restate-service {

    display: grid;

    grid-template-columns:
        70px 1.3fr 1fr 40px;

    align-items: center;

    gap: 30px;

    padding:
        35px 0;

    border-top:
        1px solid
        var(--restate-line);

    transition:
        padding .4s ease,
        background .4s ease;
}


.restate-service:last-child {

    border-bottom:
        1px solid
        var(--restate-line);
}


.restate-service:hover {

    padding-left: 15px;

    padding-right: 15px;

    background:
        #f1efe8;
}


.restate-service__number {

    color:
        var(--restate-gold);

    font-size: 10px;

    letter-spacing: 2px;
}


.restate-service__title h3 {

    margin: 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(25px,3vw,42px);

    line-height: 1;

    font-weight: 400;
}


.restate-service p {

    margin: 0;

    color:
        #73716a;

    font-size: 13px;

    line-height: 1.7;
}


.restate-service__arrow {

    font-size: 24px;

    transition:
        transform .4s ease;
}


.restate-service:hover
.restate-service__arrow {

    transform:
        rotate(45deg);
}


/* =========================================================
   GLOBAL SECTION
   ========================================================= */

.restate-global {

    position: relative;

    min-height: 720px;

    display: flex;

    align-items: center;

    overflow: hidden;

    background:
        #e9e6de;
}


.restate-global__map {

    position: absolute;

    width: 650px;

    height: 650px;

    right: 3%;

    top: 50%;

    transform:
        translateY(-50%);

    border:
        1px solid
        rgba(80,80,70,.12);

    border-radius: 50%;
}


.restate-global__map::before,
.restate-global__map::after {

    content: "";

    position: absolute;

    inset: 15%;

    border:
        1px solid
        rgba(80,80,70,.10);

    border-radius: 50%;
}


.restate-global__map::after {

    inset: 30%;
}


.restate-global__orbit {

    position: absolute;

    inset: 5%;

    border:
        1px dashed
        rgba(80,80,70,.14);

    border-radius: 50%;

    animation:
        restateOrbit
        25s
        linear
        infinite;
}


/* GLOBAL DOTS */

.restate-global__dot {

    position: absolute;

    width: 9px;

    height: 9px;

    border-radius: 50%;

    background:
        var(--restate-gold);

    box-shadow:
        0 0 0 7px
        rgba(180,154,105,.12);
}


.restate-global__dot--one {

    top: 26%;

    left: 35%;
}


.restate-global__dot--two {

    top: 42%;

    right: 23%;
}


.restate-global__dot--three {

    bottom: 25%;

    left: 48%;
}


.restate-global__dot--four {

    bottom: 39%;

    right: 42%;
}


.restate-global__content {

    position: relative;

    z-index: 2;

    width: min(650px, 90%);

    margin-left:
        clamp(25px,9vw,145px);
}


.restate-global h2 {

    margin:
        25px 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(55px,7vw,95px);

    font-weight: 400;

    line-height: .9;

    letter-spacing: -4px;
}


.restate-global__content > p {

    max-width: 550px;

    color:
        #69675f;

    font-size: 15px;

    line-height: 1.9;
}


.restate-global__locations {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 35px;
}


.restate-global__locations span {

    padding:
        9px 13px;

    border:
        1px solid
        #c8c4ba;

    font-size: 8px;

    letter-spacing: 2px;
}


/* =========================================================
   PROCESS
   ========================================================= */

.restate-process {

    padding:
        135px
        clamp(25px,7vw,110px);

    background:
        #f8f7f3;
}


.restate-process__heading {

    max-width: 800px;

    margin-bottom: 100px;
}


.restate-process h2 {

    margin:
        22px 0 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(50px,6vw,85px);

    line-height: .95;

    font-weight: 400;

    letter-spacing: -3px;
}


.restate-process__timeline {

    position: relative;

    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    gap: 30px;
}


.restate-process__line {

    position: absolute;

    left: 0;

    right: 0;

    top: 7px;

    height: 1px;

    background:
        var(--restate-line);
}


.restate-process__step {

    position: relative;

    padding-top: 45px;
}


.restate-process__step > span {

    position: absolute;

    top: 0;

    left: 0;

    width: 15px;

    height: 15px;

    border-radius: 50%;

    background:
        var(--restate-gold);

    font-size: 0;

    box-shadow:
        0 0 0 8px
        #f8f7f3;
}


.restate-process__step h3 {

    margin:
        0 0 15px;

    font-family:
        Georgia,
        serif;

    font-size: 28px;

    font-weight: 400;
}


.restate-process__step p {

    max-width: 230px;

    margin: 0;

    color:
        #77746d;

    font-size: 13px;

    line-height: 1.8;
}


/* =========================================================
   ARCHITECTURE
   ========================================================= */

.restate-architecture {

    display: grid;

    grid-template-columns:
        1.1fr .9fr;

    min-height: 650px;
}


/* ARCHITECTURE IMAGE */

.restate-architecture__image {

    position: relative;

    min-height: 500px;

    overflow: hidden;
}


.restate-architecture__image img {

    display: block;

    width: 100%;

    height: 100%;

    min-height: 100%;

    object-fit: cover;

    object-position: center;
}


.restate-architecture__content {

    padding:
        90px clamp(30px,7vw,100px);

    display: flex;

    flex-direction: column;

    justify-content: center;

    background:
        #d9d5cb;
}


.restate-architecture h2 {

    margin:
        25px 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(50px,5.5vw,78px);

    line-height: .95;

    font-weight: 400;

    letter-spacing: -3px;
}


.restate-architecture__content p {

    max-width: 480px;

    font-size: 15px;

    line-height: 1.9;

    color:
        #67655e;
}


.restate-architecture .restate-btn {

    align-self: flex-start;

    margin-top: 25px;
}


/* =========================================================
   CONTACT
   ========================================================= */

.restate-contact {

    position: relative;

    min-height: 600px;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    overflow: hidden;

    background:
        #1d1e1b;

    color: #fff;
}


.restate-contact__glow {

    position: absolute;

    width: 600px;

    height: 600px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(180,154,105,.16),
            transparent 68%
        );

    animation:
        restateGlow
        7s
        ease-in-out
        infinite alternate;
}


.restate-contact__content {

    position: relative;

    z-index: 2;

    max-width: 900px;

    padding:
        60px 25px;
}


.restate-contact
.restate-section-label {

    color:
        #9d9a91;
}


.restate-contact h2 {

    margin:
        25px 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(55px,7vw,100px);

    font-weight: 400;

    line-height: .9;

    letter-spacing: -4px;
}


.restate-contact p {

    max-width: 550px;

    margin:
        0 auto 35px;

    color:
        #aaa9a1;

    font-size: 15px;

    line-height: 1.8;
}


.restate-contact__actions {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 25px;
}


.restate-contact__email {

    color:
        #aaa9a1;

    font-size: 11px;

    letter-spacing: 1px;

    text-decoration: none;

    border-bottom:
        1px solid
        rgba(255,255,255,.2);

    padding-bottom: 7px;
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes restateHeroZoom {

    from {
        transform: scale(1.08);
    }

    to {
        transform: scale(1);
    }

}


@keyframes restateFadeUp {

    from {

        opacity: 0;

        transform:
            translateY(25px);

    }

    to {

        opacity: 1;

        transform:
            translateY(0);

    }

}


@keyframes restateTitleReveal {

    from {

        opacity: 0;

        transform:
            translateY(50px);

        clip-path:
            inset(0 0 100% 0);

    }

    to {

        opacity: 1;

        transform:
            translateY(0);

        clip-path:
            inset(0 0 0 0);

    }

}


@keyframes restateOrbit {

    from {

        transform:
            rotate(0deg);

    }

    to {

        transform:
            rotate(360deg);

    }

}


@keyframes restateGlow {

    from {

        transform:
            scale(.9);

        opacity: .5;

    }

    to {

        transform:
            scale(1.15);

        opacity: 1;

    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .restate-hero {

        min-height: 650px;

    }


    .restate-intro__layout {

        gap: 50px;

    }


    .restate-metrics {

        grid-template-columns:
            repeat(2,1fr);

    }


    .restate-property-card {

        min-height: 480px;

    }


    .restate-strategy {

        grid-template-columns:
            1fr;

    }


    .restate-strategy__image {

        min-height: 450px;

    }


    .restate-strategy__image img {

        min-height: 450px;

    }


    .restate-service {

        grid-template-columns:
            50px 1fr;

    }


    .restate-service p {

        grid-column: 2;

    }


    .restate-service__arrow {

        grid-column: 2;

        grid-row: 1;

        justify-self: end;

    }


    .restate-global__map {

        width: 500px;

        height: 500px;

        right: -150px;

        opacity: .5;

    }


    .restate-process__timeline {

        grid-template-columns:
            repeat(2,1fr);

        gap: 60px 35px;

    }


    .restate-process__line {

        display: none;

    }


    .restate-architecture {

        grid-template-columns:
            1fr;

    }


    .restate-architecture__image {

        min-height: 500px;

    }


    .restate-architecture__image img {

        min-height: 500px;

    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

    .restate-hero {

        min-height: 680px;

        height: 88vh;

    }


    .restate-hero__image {

        object-position:
            60% center;

    }


    .restate-hero__content {

        width: auto;

        margin:
            0 25px;

    }


    .restate-hero__eyebrow {

        font-size: 8px;

        letter-spacing: 2.5px;

        flex-wrap: wrap;

    }


    .restate-hero__title {

        font-size:
            clamp(55px,15vw,80px);

        letter-spacing:
            -3px;

    }


    .restate-hero__text {

        margin-top: 30px;

        font-size: 14px;

    }


    .restate-hero__actions {

        flex-direction: column;

        align-items: flex-start;

        gap: 22px;

    }


    .restate-hero__bottom {

        left: 25px;

        right: 25px;

        font-size: 7px;

        letter-spacing: 2px;

    }


    .restate-hero__bottom span:last-child {

        display: none;

    }


    .restate-hero__scroll {

        display: none;

    }


    /* INTRO */

    .restate-intro {

        padding:
            80px 25px;

    }


    .restate-intro__top {

        gap: 15px;

    }


    .restate-intro__top
    .restate-section-label:last-child {

        display: none;

    }


    .restate-intro__layout {

        grid-template-columns:
            1fr;

        gap: 45px;

        padding-top: 55px;

    }


    .restate-intro__heading h2 {

        font-size:
            clamp(45px,12vw,65px);

    }


    .restate-intro__lead {

        font-size: 19px;

    }


    /* METRICS */

    .restate-metrics {

        grid-template-columns:
            1fr 1fr;

    }


    .restate-metrics__item {

        min-height: 180px;

        padding: 30px 20px;

    }


    .restate-metrics__item strong {

        font-size: 38px;

    }


    .restate-metrics__item span {

        font-size: 10px;

    }


    /* OPPORTUNITIES */

    .restate-opportunities {

        padding:
            80px 20px;

    }


    .restate-section-heading {

        grid-template-columns:
            1fr;

        gap: 25px;

        margin-bottom: 45px;

    }


    .restate-section-heading h2 {

        font-size:
            clamp(45px,12vw,65px);

    }


    .restate-property-grid {

        grid-template-columns:
            1fr;

    }


    .restate-property-card {

        min-height: 500px;

    }


    /* STRATEGY */

    .restate-strategy__image {

        min-height: 380px;

    }


    .restate-strategy__image img {

        min-height: 380px;

    }


    .restate-strategy__content {

        padding:
            75px 25px;

    }


    .restate-strategy h2 {

        font-size:
            clamp(48px,12vw,68px);

    }


    .restate-strategy__points {

        grid-template-columns:
            1fr;

    }


    /* SERVICES */

    .restate-services {

        padding:
            80px 25px;

    }


    .restate-services__heading {

        margin-bottom: 50px;

    }


    .restate-services h2 {

        font-size:
            clamp(48px,12vw,68px);

    }


    .restate-service {

        grid-template-columns:
            35px 1fr 25px;

        gap: 15px;

        padding:
            30px 0;

    }


    .restate-service__title h3 {

        font-size: 27px;

    }


    .restate-service p {

        grid-column:
            2 / 4;

    }


    .restate-service__arrow {

        grid-column: 3;

        grid-row: 1;

    }


    /* GLOBAL */

    .restate-global {

        min-height: 650px;

    }


    .restate-global__map {

        width: 430px;

        height: 430px;

        right: -200px;

        top: 55%;

    }


    .restate-global__content {

        margin:
            0 25px;

        align-self:
            flex-start;

        padding-top: 80px;

    }


    .restate-global h2 {

        font-size:
            clamp(50px,13vw,75px);

    }


    /* PROCESS */

    .restate-process {

        padding:
            80px 25px;

    }


    .restate-process__heading {

        margin-bottom: 60px;

    }


    .restate-process h2 {

        font-size:
            clamp(48px,12vw,68px);

    }


    .restate-process__timeline {

        grid-template-columns:
            1fr;

        gap: 45px;

    }


    .restate-process__step {

        padding-top: 35px;

        border-top:
            1px solid
            var(--restate-line);

    }


    /* ARCHITECTURE */

    .restate-architecture__image {

        min-height: 380px;

    }


    .restate-architecture__image img {

        min-height: 380px;

    }


    .restate-architecture__content {

        padding:
            75px 25px;

    }


    .restate-architecture h2 {

        font-size:
            clamp(48px,12vw,68px);

    }


    /* CONTACT */

    .restate-contact {

        min-height: 570px;

    }


    .restate-contact h2 {

        font-size:
            clamp(52px,13vw,75px);

    }

}


/* =========================================================
   VERY SMALL DEVICES
   ========================================================= */

@media (max-width: 380px) {

    .restate-hero__title {

        font-size: 51px;

    }


    .restate-metrics {

        grid-template-columns:
            1fr;

    }


    .restate-metrics__item {

        min-height: 150px;

    }


    .restate-property-card {

        min-height: 440px;

    }


    .restate-service__title h3 {

        font-size: 23px;

    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .restate-hero__image,
    .restate-global__orbit,
    .restate-contact__glow {

        animation: none;

    }


    .restate-hero__title,
    .restate-hero__text,
    .restate-hero__eyebrow,
    .restate-hero__actions {

        animation: none;

        opacity: 1;

        transform: none;

    }

}
.qrao-stats {

    position: relative;

    width: 100%;

    min-height: 650px;

    padding: 80px clamp(25px, 7vw, 105px);

    box-sizing: border-box;

    background: #f8f7f4;

    overflow: hidden;

    color: #292a30;
}


/* =========================================================
   SUBTLE BACKGROUND EFFECT
   ========================================================= */

.qrao-stats::before {

    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%, -50%);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255,255,255,0.75) 0%,
            rgba(255,255,255,0) 70%
        );

    pointer-events: none;

    opacity: 0.6;
}


/* =========================================================
   GRID
   ========================================================= */

.qrao-stats__grid {

    position: relative;

    z-index: 2;

    width: 100%;

    max-width: 1500px;

    min-height: 550px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 1fr;

    grid-template-rows: 1fr 1fr;
}


/* =========================================================
   INDIVIDUAL STAT
   ========================================================= */

.qrao-stats__item {

    position: relative;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: flex-start;

    text-align: center;

    box-sizing: border-box;

    padding: 20px 50px;

    opacity: 0;

    transform:
        translateY(35px);

    animation:
        qraoStatsReveal
        0.9s
        cubic-bezier(.16,1,.3,1)
        forwards;
}


/* =========================================================
   ANIMATION DELAYS
   ========================================================= */

.qrao-stats__item--top-left {

    animation-delay: 0.15s;
}


.qrao-stats__item--top-right {

    animation-delay: 0.30s;
}


.qrao-stats__item--bottom-left {

    animation-delay: 0.45s;
}


.qrao-stats__item--bottom-right {

    animation-delay: 0.60s;
}


/* =========================================================
   VERTICAL DIVIDERS
   ========================================================= */

/* Center divider */

.qrao-stats__item--top-right::before,
.qrao-stats__item--bottom-right::before {

    content: "";

    position: absolute;

    left: 0;

    top: 45px;

    width: 2px;

    height: 140px;

    background:
        #b9b9b9;

    transform-origin: top;

    transform:
        scaleY(0);

    animation:
        qraoDividerReveal
        1s
        0.75s
        ease
        forwards;
}


/* =========================================================
   NUMBER
   ========================================================= */

.qrao-stats__number {

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        clamp(90px, 9vw, 165px);

    font-weight: 300;

    line-height: 0.85;

    letter-spacing:
        -7px;

    color:
        #2d2e34;

    white-space: nowrap;

    margin-bottom: 42px;

    transition:
        transform 0.6s
        cubic-bezier(.16,1,.3,1),

        letter-spacing 0.6s ease;
}


/* Percentage symbol */

.qrao-stats__number span {

    font-size: 0.72em;

    font-weight: 300;

    margin-left: 2px;
}


/* =========================================================
   NUMBER HOVER
   ========================================================= */

.qrao-stats__item:hover
.qrao-stats__number {

    transform:
        translateY(-7px);

    letter-spacing:
        -5px;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.qrao-stats__description {

    max-width: 570px;

    margin: 0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        clamp(17px, 1.65vw, 27px);

    font-weight: 400;

    line-height: 1.4;

    letter-spacing:
        0.5px;

    color:
        #111217;
}


/* =========================================================
   SPECIAL POSITIONING
   ========================================================= */

/* Top-right text */

.qrao-stats__item--top-right
.qrao-stats__description {

    max-width: 600px;
}


/* Bottom-left */

.qrao-stats__item--bottom-left {

    padding-top: 5px;
}


.qrao-stats__item--bottom-left
.qrao-stats__number {

    margin-bottom: 43px;
}


/* Bottom-right */

.qrao-stats__item--bottom-right {

    padding-top: 5px;
}


/* =========================================================
   ANIMATED UNDERLINE
   ========================================================= */

.qrao-stats__description::after {

    content: "";

    display: block;

    width: 0;

    height: 1px;

    margin:
        22px auto 0;

    background:
        #303136;

    opacity: 0.25;

    transition:
        width 0.6s
        cubic-bezier(.16,1,.3,1);
}


.qrao-stats__item:hover
.qrao-stats__description::after {

    width: 45px;
}


/* =========================================================
   KEYFRAMES
   ========================================================= */

@keyframes qraoStatsReveal {

    0% {

        opacity: 0;

        transform:
            translateY(35px);
    }

    100% {

        opacity: 1;

        transform:
            translateY(0);
    }
}


@keyframes qraoDividerReveal {

    0% {

        transform:
            scaleY(0);

        opacity: 0;
    }

    100% {

        transform:
            scaleY(1);

        opacity: 1;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .qrao-stats {

        min-height: 600px;

        padding:
            65px 35px;
    }


    .qrao-stats__grid {

        min-height: 500px;
    }


    .qrao-stats__item {

        padding:
            20px 30px;
    }


    .qrao-stats__number {

        font-size:
            clamp(75px, 11vw, 115px);

        letter-spacing:
            -5px;

        margin-bottom:
            32px;
    }


    .qrao-stats__description {

        font-size:
            clamp(15px, 2vw, 21px);

        line-height:
            1.4;
    }


    .qrao-stats__item--top-right::before,
    .qrao-stats__item--bottom-right::before {

        height: 120px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

    .qrao-stats {

        min-height: auto;

        padding:
            65px 20px;
    }


    .qrao-stats__grid {

        display: grid;

        grid-template-columns: 1fr;

        grid-template-rows: auto;

        min-height: auto;
    }


    .qrao-stats__item {

        padding:
            55px 20px;

        min-height:
            270px;
    }


    /* Remove desktop center divider */

    .qrao-stats__item--top-right::before,
    .qrao-stats__item--bottom-right::before {

        display: none;
    }


    /* Mobile horizontal divider */

    .qrao-stats__item:not(:first-child)::before {

        content: "";

        display: block;

        position: absolute;

        top: 0;

        left: 50%;

        width: 80px;

        height: 1px;

        background:
            #b9b9b9;

        transform:
            translateX(-50%);
    }


    .qrao-stats__number {

        font-size:
            clamp(80px, 24vw, 120px);

        letter-spacing:
            -5px;

        margin-bottom:
            30px;
    }


    .qrao-stats__description {

        max-width:
            430px;

        font-size:
            17px;

        line-height:
            1.45;
    }


    .qrao-stats__item--bottom-left,
    .qrao-stats__item--bottom-right {

        padding-top:
            55px;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .qrao-stats {

        padding:
            45px 15px;
    }


    .qrao-stats__item {

        min-height:
            250px;

        padding:
            45px 15px;
    }


    .qrao-stats__number {

        font-size:
            76px;

        letter-spacing:
            -4px;

        margin-bottom:
            27px;
    }


    .qrao-stats__description {

        font-size:
            15px;

        max-width:
            320px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .qrao-stats__item,
    .qrao-stats__item--top-right::before,
    .qrao-stats__item--bottom-right::before {

        animation: none;

        opacity: 1;

        transform: none;
    }


    .qrao-stats__number,
    .qrao-stats__description::after {

        transition: none;
    }
}
.qrao-hero {
    position: relative;

    width: 100%;
    min-height: 365px;
    height: min(78vh, 680px);

    overflow: hidden;
    isolation: isolate;

    background: #111;
    color: #fff;
}


/* =========================================================
   BACKGROUND IMAGE
   ========================================================= */

.qrao-hero__background {
    position: absolute;
    inset: 0;

    background-image:
        url("assets/img/abhead.jpg");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    transform: scale(1.06);

    animation:
        qraoHeroZoom
        12s
        ease-out
        forwards;

    z-index: -3;
}


/* =========================================================
   DARK CINEMATIC OVERLAY
   ========================================================= */

.qrao-hero__overlay {
    position: absolute;
    inset: 0;

    z-index: -2;
    background:
        linear-gradient(
            90deg,
            rgba(8, 10, 8, 0.68) 0%,
            rgba(41, 138, 41, 0.38) 42%,
            rgba(2, 42, 2, 0.48) 100%
        ),

        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.22) 0%,
            rgba(155, 68, 68, 0.05) 45%,
            rgba(90, 57, 1, 0.62) 100%
        );

    pointer-events: none;
}


/* =========================================================
   DECORATIVE GLOW
   ========================================================= */

.qrao-hero__glow {
    position: absolute;

    width: 300px;
    height: 300px;

    border-radius: 50%;

    filter: blur(90px);

    opacity: 0.12;

    pointer-events: none;

    z-index: -1;
}


.qrao-hero__glow--one {
    top: -150px;
    left: 18%;

    background: #e5c98b;
}


.qrao-hero__glow--two {
    right: 5%;
    bottom: -170px;

    background: #78906d;
}


/* =========================================================
   MAIN CONTENT
   ========================================================= */

.qrao-hero__content {
    position: relative;

    width: 100%;
    height: 100%;
    min-height: inherit;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        55px
        clamp(28px, 7vw, 105px);

    box-sizing: border-box;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.qrao-hero__eyebrow {
    display: flex;
    align-items: center;

    gap: 17px;

    margin-bottom: 36px;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 12px;

    font-weight: 500;

    letter-spacing: 5px;

    color:
        rgba(255, 255, 255, 0.78);

    opacity: 0;

    transform:
        translateY(20px);

    animation:
        qraoFadeUp
        0.9s
        0.25s
        ease
        forwards;
}


.qrao-hero__line {
    display: block;

    width: 38px;
    height: 1px;

    background:
        rgba(255, 255, 255, 0.65);
}


.qrao-hero__diamond {
    font-size: 7px;

    opacity: 0.75;
}


/* =========================================================
   MAIN TITLE
   ========================================================= */

.qrao-hero__title {
    max-width: 1500px;

    margin: 0;

    font-family:
        "Times New Roman",
        "Bodoni 72",
        Didot,
        Georgia,
        serif;

    font-size:
        clamp(48px, 6.4vw, 105px);

    font-weight: 400;

    line-height: 0.98;

    letter-spacing: -3px;

    color: #fff;

    text-shadow:
        0 3px 25px
        rgba(0, 0, 0, 0.28);

    opacity: 0;

    transform:
        translateY(35px);

    animation:
        qraoTitleReveal
        1.2s
        0.5s
        cubic-bezier(.16,1,.3,1)
        forwards;
}


/* =========================================================
   BOTTOM INFORMATION
   ========================================================= */

.qrao-hero__bottom {
    position: absolute;

    left:
        clamp(28px, 7vw, 105px);

    right:
        clamp(28px, 7vw, 105px);

    bottom: 35px;

    display: flex;

    justify-content: space-between;

    align-items: center;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 9px;

    letter-spacing: 3px;

    color:
        rgba(255, 255, 255, 0.72);

    opacity: 0;

    animation:
        qraoFadeUp
        0.9s
        1s
        ease
        forwards;
}


/* =========================================================
   SCROLL INDICATOR
   ========================================================= */

.qrao-hero__scroll {
    display: flex;

    align-items: center;

    gap: 13px;
}


.qrao-hero__scroll-line {
    width: 48px;
    height: 1px;

    background:
        rgba(255, 255, 255, 0.65);

    position: relative;

    overflow: hidden;
}


.qrao-hero__scroll-line::after {
    content: "";

    position: absolute;

    left: -100%;
    top: 0;

    width: 100%;
    height: 100%;

    background: #fff;

    animation:
        qraoScrollLine
        2.4s
        ease-in-out
        infinite;
}


/* =========================================================
   LOCATION
   ========================================================= */

.qrao-hero__location {
    display: flex;

    align-items: center;

    gap: 10px;
}


.qrao-hero__location-dot {
    width: 5px;
    height: 5px;

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.85);

    box-shadow:
        0 0 0 5px
        rgba(255, 255, 255, 0.07);
}


/* =========================================================
   BOTTOM PROGRESS BAR
   ========================================================= */

.qrao-hero__progress {
    position: absolute;

    right: 0;
    bottom: 0;

    display: flex;

    width: 50%;

    height: 8px;

    background:
        rgba(255, 255, 255, 0.88);

    z-index: 5;
}


.qrao-hero__progress span {
    flex: 1;

    background:
        rgba(255, 255, 255, 0.88);

    transition:
        background 0.35s ease;
}


.qrao-hero__progress span + span {
    border-left:
        1px solid
        rgba(0, 0, 0, 0.04);
}


.qrao-hero__progress-active {
    background:
        #aebfdc !important;

    flex:
        1.15 !important;
}


/* =========================================================
   HOVER EFFECTS
   ========================================================= */

.qrao-hero:hover
.qrao-hero__background {

    transform:
        scale(1.085);

    transition:
        transform
        2.5s
        cubic-bezier(.16,1,.3,1);
}


.qrao-hero:hover
.qrao-hero__title {

    letter-spacing: -2px;

    transition:
        letter-spacing
        0.8s
        ease;
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes qraoHeroZoom {

    from {
        transform: scale(1.06);
    }

    to {
        transform: scale(1);
    }

}


@keyframes qraoFadeUp {

    from {
        opacity: 0;

        transform:
            translateY(20px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}


@keyframes qraoTitleReveal {

    from {
        opacity: 0;

        transform:
            translateY(35px);

        clip-path:
            inset(0 0 100% 0);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);

        clip-path:
            inset(0 0 0 0);
    }

}


@keyframes qraoScrollLine {

    0% {
        left: -100%;
    }

    45%,
    100% {
        left: 100%;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .qrao-hero {
        height: 600px;

        min-height: 500px;
    }


    .qrao-hero__content {

        padding:
            45px
            clamp(25px, 6vw, 60px);
    }


    .qrao-hero__eyebrow {

        margin-bottom: 28px;

        font-size: 10px;

        letter-spacing: 4px;
    }


    .qrao-hero__title {

        font-size:
            clamp(48px, 8vw, 76px);

        letter-spacing: -2px;
    }


    .qrao-hero__bottom {

        left:
            clamp(25px, 6vw, 60px);

        right:
            clamp(25px, 6vw, 60px);
    }


    .qrao-hero__progress {

        width: 45%;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .qrao-hero {

        min-height: 580px;

        height: 78vh;

        max-height: 720px;
    }


    .qrao-hero__background {

        background-position:
            58% center;
    }


    .qrao-hero__overlay {

        background:

            linear-gradient(
                90deg,
                rgba(8, 10, 8, 0.73),
                rgba(8, 10, 8, 0.35)
            ),

            linear-gradient(
                180deg,
                rgba(0,0,0,0.28),
                rgba(0,0,0,0.15) 45%,
                rgba(0,0,0,0.72)
            );
    }


    .qrao-hero__content {

        justify-content: center;

        padding:
            35px 22px;
    }


    .qrao-hero__eyebrow {

        gap: 9px;

        margin-bottom: 25px;

        font-size: 8px;

        letter-spacing: 2.5px;

        flex-wrap: wrap;
    }


    .qrao-hero__line {

        width: 24px;
    }


    .qrao-hero__diamond {

        font-size: 5px;
    }


    .qrao-hero__title {

        max-width: 100%;

        font-size:
            clamp(43px, 12vw, 68px);

        line-height: 0.98;

        letter-spacing: -1.8px;
    }


    .qrao-desktop-break {

        display: none;
    }


    .qrao-hero__bottom {

        left: 22px;

        right: 22px;

        bottom: 27px;

        font-size: 7px;

        letter-spacing: 2px;
    }


    .qrao-hero__scroll {

        gap: 8px;
    }


    .qrao-hero__scroll-line {

        width: 27px;
    }


    .qrao-hero__progress {

        width: 60%;

        height: 6px;
    }

}


/* =========================================================
   VERY SMALL DEVICES
   ========================================================= */

@media (max-width: 380px) {

    .qrao-hero {

        min-height: 520px;
    }


    .qrao-hero__title {

        font-size: 41px;
    }


    .qrao-hero__location {

        display: none;
    }


    .qrao-hero__bottom {

        justify-content: flex-start;
    }


    .qrao-hero__progress {

        width: 70%;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .qrao-hero__background,
    .qrao-hero__title,
    .qrao-hero__eyebrow,
    .qrao-hero__bottom,
    .qrao-hero__scroll-line::after {

        animation: none;

        transition: none;
    }


    .qrao-hero__background {

        transform: scale(1);
    }


    .qrao-hero__title,
    .qrao-hero__eyebrow,
    .qrao-hero__bottom {

        opacity: 1;

        transform: none;

        clip-path: none;
    }

}
.ree-buy-section {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding: 24px 4% 22px;
    overflow: hidden;
    color: #ffffff;
    background: linear-gradient(180deg, #705005 0%, #19192f 58%, #202e2a 100%);
    font-family: "Inter", "Montserrat", Arial, sans-serif;
}

.ree-buy-section *,
.ree-buy-section *::before,
.ree-buy-section *::after {
    box-sizing: border-box;
}

/* Heading */

.ree-buy-heading {
    position: relative;
    text-align: center;
    margin: 0 auto 15px;
    animation: ree-buy-fade-down 0.9s ease both;
}

.ree-buy-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #d6d6e0;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.1px;
}

.ree-buy-heading h2 {
    margin: 0;
    color: #f2f1f8;
    font-size: clamp(21px, 2.25vw, 27px);
    font-weight: 400;
    letter-spacing: 3px;
    line-height: 1.4;
}

.ree-buy-heading-line {
    width: 1px;
    height: 60px;
    margin: 16px auto 0;
    background: linear-gradient(
        to bottom,
        #f2f0fa,
        rgba(242, 240, 250, 0.2)
    );
    transform-origin: top;
    animation: ree-buy-line-grow 1.2s ease both;
    animation-delay: 0.3s;
}

/* Category Navigation */

.ree-buy-categories {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 25px;
    margin: 0 auto 17px;
    padding: 0;
}

.ree-buy-category {
    position: relative;
    display: inline-block;
    padding: 4px 0 7px;
    color: #aaaabb;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    transition: color 0.3s ease;
}

.ree-buy-category::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: #e4c995;
    content: "";
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.ree-buy-category:hover,
.ree-buy-category:focus-visible,
.ree-buy-category.ree-buy-active {
    color: #ffffff;
}

.ree-buy-category:hover::after,
.ree-buy-category:focus-visible::after,
.ree-buy-category.ree-buy-active::after {
    transform: scaleX(1);
}

/* Property Grid */

.ree-buy-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    width: 100%;
    align-items: stretch;
}

/* Individual Cards */

.ree-buy-card {
    position: relative;
    isolation: isolate;
    min-width: 0;
    height: 355px;
    overflow: hidden;
    background: #242536;
    border: 1px solid rgba(255, 255, 255, 0.12);
    animation: ree-buy-card-entrance 0.8s ease both;
    transition:
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}

.ree-buy-card:nth-child(1) {
    animation-delay: 0.1s;
}

.ree-buy-card:nth-child(2) {
    animation-delay: 0.2s;
}

.ree-buy-card:nth-child(3) {
    animation-delay: 0.3s;
}

.ree-buy-card:nth-child(4) {
    animation-delay: 0.4s;
}

.ree-buy-card:hover {
    z-index: 2;
    border-color: rgba(231, 205, 157, 0.8);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

/* Property Images */

.ree-buy-image {
    position: absolute;
    inset: 0;
    z-index: -2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition:
        transform 0.8s ease,
        filter 0.8s ease;
}

.ree-buy-card:hover .ree-buy-image {
    transform: scale(1.07);
    filter: brightness(1.08);
}

/* Dark Gradient Overlay */

.ree-buy-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        to bottom,
        rgba(9, 9, 18, 0.02) 5%,
        rgba(9, 9, 18, 0.04) 35%,
        rgba(9, 9, 18, 0.50) 60%,
        rgba(0, 0, 0, 0.97) 100%
    );
    transition: background 0.4s ease;
}

.ree-buy-card:hover .ree-buy-overlay {
    background: linear-gradient(
        to bottom,
        rgba(9, 9, 18, 0.02) 5%,
        rgba(9, 9, 18, 0.12) 35%,
        rgba(9, 9, 18, 0.62) 65%,
        rgba(0, 0, 0, 0.98) 100%
    );
}

/* Text Content */

.ree-buy-card-content {
    position: absolute;
    right: 7px;
    bottom: 13px;
    left: 7px;
    text-align: center;
    transition: transform 0.35s ease;
}

.ree-buy-card:hover .ree-buy-card-content {
    transform: translateY(-5px);
}

.ree-buy-property-type {
    display: block;
    margin-bottom: 5px;
    color: #e8d2aa;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 1.2px;
    opacity: 0;
    transform: translateY(7px);
    transition:
        opacity 0.35s ease,
        transform 0.35s ease;
}

.ree-buy-card:hover .ree-buy-property-type {
    opacity: 1;
    transform: translateY(0);
}

.ree-buy-card-content h3 {
    margin: 0 0 4px;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(17px, 1.6vw, 22px);
    font-weight: 400;
    line-height: 1.25;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
}

.ree-buy-details {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin: 0 0 7px;
    color: #eeeeef;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.6px;
    line-height: 1.7;
}

.ree-buy-separator {
    color: #c7c3cc;
}

.ree-buy-price {
    margin: 0;
    color: #ffffff;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.5px;
}

/* Hover Property Link */

.ree-buy-view-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
    padding: 7px 13px;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 20px;
    color: #ffffff;
    text-decoration: none;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.8px;
    opacity: 0;
    transform: translateY(8px);
    transition:
        opacity 0.3s ease,
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease;
}

.ree-buy-card:hover .ree-buy-view-link,
.ree-buy-card:focus-within .ree-buy-view-link {
    opacity: 1;
    transform: translateY(0);
}

.ree-buy-view-link:hover {
    color: #161526;
    background: #e8d2aa;
    border-color: #e8d2aa;
}

.ree-buy-view-link span {
    font-size: 13px;
}

/* View All Button */

.ree-buy-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 23px;
}

.ree-buy-all-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 36px;
    padding: 9px 19px;
    border: 1px solid #9293a3;
    border-radius: 25px;
    color: #ffffff;
    background: transparent;
    text-decoration: none;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.7px;
    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ree-buy-all-button:hover {
    color: #171629;
    background: #e8d2aa;
    border-color: #e8d2aa;
    transform: translateY(-3px);
}

.ree-buy-button-arrow {
    display: inline-block;
    font-size: 14px;
    transition: transform 0.3s ease;
}

.ree-buy-all-button:hover .ree-buy-button-arrow {
    transform: translateX(4px);
}

/* Animations */

@keyframes ree-buy-fade-down {
    from {
        opacity: 0;
        transform: translateY(-15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ree-buy-line-grow {
    from {
        transform: scaleY(0);
    }

    to {
        transform: scaleY(1);
    }
}

@keyframes ree-buy-card-entrance {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================
   TABLET RESPONSIVENESS
========================================= */

@media (max-width: 1000px) {
    .ree-buy-section {
        padding-right: 3%;
        padding-left: 3%;
    }

    .ree-buy-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .ree-buy-card {
        height: 370px;
    }

    .ree-buy-card-content h3 {
        font-size: 22px;
    }

    .ree-buy-categories {
        gap: 10px 20px;
    }
}

/* =========================================
   MOBILE RESPONSIVENESS
========================================= */

@media (max-width: 600px) {
    .ree-buy-section {
        padding: 27px 14px 25px;
    }

    .ree-buy-heading {
        margin-bottom: 18px;
    }

    .ree-buy-heading h2 {
        font-size: clamp(18px, 5vw, 24px);
        letter-spacing: 1.8px;
    }

    .ree-buy-eyebrow {
        font-size: 9px;
    }

    .ree-buy-heading-line {
        height: 35px;
        margin-top: 13px;
    }

    .ree-buy-categories {
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: 20px;
        margin-bottom: 17px;
        padding: 0 0 8px;
        overflow-x: auto;
        scrollbar-width: thin;
        scrollbar-color: #77758b transparent;
    }

    .ree-buy-category {
        flex: 0 0 auto;
        font-size: 9px;
        white-space: nowrap;
    }

    .ree-buy-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .ree-buy-card {
        height: 290px;
    }

    .ree-buy-card-content {
        right: 4px;
        bottom: 10px;
        left: 4px;
    }

    .ree-buy-property-type {
        font-size: 7px;
        letter-spacing: 0.7px;
    }

    .ree-buy-card-content h3 {
        font-size: clamp(15px, 4vw, 19px);
    }

    .ree-buy-details {
        gap: 3px;
        font-size: 8px;
        letter-spacing: 0;
    }

    .ree-buy-price {
        font-size: 10px;
    }

    .ree-buy-view-link {
        gap: 5px;
        margin-top: 8px;
        padding: 6px 8px;
        font-size: 7px;
    }

    .ree-buy-footer {
        padding-top: 22px;
    }
}

/* Very Small Phones */

@media (max-width: 360px) {
    .ree-buy-grid {
        grid-template-columns: 1fr;
    }

    .ree-buy-card {
        height: 350px;
    }

    .ree-buy-heading h2 {
        font-size: 18px;
        letter-spacing: 1px;
    }
}

/* Accessibility: Respect reduced motion */

@media (prefers-reduced-motion: reduce) {
    .ree-buy-section *,
    .ree-buy-section *::before,
    .ree-buy-section *::after {
        animation: none !important;
        transition: none !important;
    }
}
.ree-founder-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #273b35;
    color: #ffffff;
    padding: 100px 30px;
    isolation: isolate;
}

.ree-founder-container {
    position: relative;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    z-index: 2;
}


/* ---------------------------------------------------------
   BACKGROUND EFFECTS
--------------------------------------------------------- */

.ree-founder-bg-shape {
    position: absolute;
    border: 1px solid rgba(210, 174, 91, 0.12);
    border-radius: 50%;
    pointer-events: none;
}

.ree-founder-shape-one {
    width: 500px;
    height: 500px;
    top: -250px;
    right: -180px;
    animation: reeFounderFloat 8s ease-in-out infinite;
}

.ree-founder-shape-two {
    width: 350px;
    height: 350px;
    bottom: -190px;
    left: -160px;
    animation: reeFounderFloatReverse 10s ease-in-out infinite;
}


/* ---------------------------------------------------------
   LABEL
--------------------------------------------------------- */

.ree-founder-label-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-bottom: 28px;
    animation: reeFounderFadeDown 0.8s ease both;
}

.ree-founder-label {
    color: #d2ae5b;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 5px;
    text-transform: uppercase;
    white-space: nowrap;
}

.ree-founder-label-line {
    width: 45px;
    height: 1px;
    background: rgba(210, 174, 91, 0.55);
}


/* ---------------------------------------------------------
   MAIN HEADING
--------------------------------------------------------- */

.ree-founder-heading-area {
    max-width: 900px;
    margin: 0 auto 75px;
    text-align: center;
    animation: reeFounderFadeUp 1s ease both;
}

.ree-founder-main-title {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(45px, 6vw, 78px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -2px;
}

.ree-founder-main-title span {
    color: #d2ae5b;
}

.ree-founder-intro {
    max-width: 680px;
    margin: 25px auto 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 17px;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   MAIN FOUNDER CARD
--------------------------------------------------------- */

.ree-founder-main-card {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 65px;
    align-items: center;
    margin-bottom: 120px;
}


/* ---------------------------------------------------------
   FOUNDER VISUAL
--------------------------------------------------------- */

.ree-founder-visual {
    position: relative;
    padding: 15px;
}

.ree-founder-image-frame {
    position: relative;
    min-height: 560px;
    border: 1px solid rgba(210, 174, 91, 0.35);
    padding: 12px;
}

.ree-founder-image-placeholder {
    position: relative;
    min-height: 530px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background:
        linear-gradient(
            145deg,
            rgba(210, 174, 91, 0.14),
            rgba(0, 0, 0, 0.18)
        );
    overflow: hidden;
}

.ree-founder-image-placeholder::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border: 1px solid rgba(210, 174, 91, 0.18);
    border-radius: 50%;
}

.ree-founder-image-icon {
    position: relative;
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(210, 174, 91, 0.5);
    border-radius: 50%;
    color: #d2ae5b;
    font-size: 30px;
    margin-bottom: 25px;
}

.ree-founder-image-text {
    position: relative;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    letter-spacing: 6px;
}

.ree-founder-image-placeholder small {
    position: relative;
    margin-top: 12px;
    color: #d2ae5b;
    font-size: 9px;
    letter-spacing: 3px;
}


/* ---------------------------------------------------------
   EXPERIENCE BADGE
--------------------------------------------------------- */

.ree-founder-experience-badge {
    position: absolute;
    right: -18px;
    bottom: 45px;
    width: 125px;
    height: 125px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #d2ae5b;
    color: #273b35;
    border-radius: 50%;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
    animation: reeFounderBadgeFloat 5s ease-in-out infinite;
}

.ree-founder-experience-badge strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 35px;
    font-weight: 400;
}

.ree-founder-experience-badge span {
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 2px;
    text-align: center;
    line-height: 1.5;
}


/* ---------------------------------------------------------
   FOUNDER CONTENT
--------------------------------------------------------- */

.ree-founder-content {
    animation: reeFounderFadeRight 1s ease both;
}

.ree-founder-small-title {
    color: #d2ae5b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
}

.ree-founder-name {
    margin: 12px 0 22px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 400;
    line-height: 1.15;
}

.ree-founder-divider {
    width: 70px;
    height: 1px;
    background: #d2ae5b;
    margin-bottom: 28px;
}

.ree-founder-content p,
.ree-founder-story-content p,
.ree-founder-purpose-text,
.ree-founder-closing-text p {
    margin: 0 0 20px;
    color: rgba(255, 255, 255, 0.70);
    font-size: 15px;
    line-height: 1.9;
}

.ree-founder-content strong,
.ree-founder-story-content strong {
    color: rgba(255, 255, 255, 0.92);
    font-weight: 600;
}


/* ---------------------------------------------------------
   STORY SECTION
--------------------------------------------------------- */

.ree-founder-story-grid {
    display: grid;
    grid-template-columns: 1fr 0.9fr;
    gap: 80px;
    align-items: center;
    margin-bottom: 120px;
}

.ree-founder-section-label {
    display: inline-block;
    color: #d2ae5b;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 4px;
    margin-bottom: 18px;
}

.ree-founder-section-title {
    margin: 0 0 20px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4.5vw, 58px);
    line-height: 1.08;
    font-weight: 400;
}

.ree-founder-section-title span,
.ree-founder-purpose-title span,
.ree-founder-closing-text h3 span {
    color: #d2ae5b;
}

.ree-founder-gold-line {
    width: 65px;
    height: 1px;
    background: #d2ae5b;
    margin-bottom: 28px;
}


/* ---------------------------------------------------------
   JOURNEY BOX
--------------------------------------------------------- */

.ree-founder-journey-box {
    border: 1px solid rgba(255, 255, 255, 0.13);
    background: rgba(0, 0, 0, 0.09);
    padding: 12px;
}

.ree-founder-journey-item {
    display: grid;
    grid-template-columns: 55px 1fr;
    gap: 20px;
    align-items: start;
    padding: 25px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    transition: 0.35s ease;
}

.ree-founder-journey-item:last-child {
    border-bottom: none;
}

.ree-founder-journey-item:hover {
    background: rgba(210, 174, 91, 0.08);
    transform: translateX(7px);
}

.ree-founder-journey-number {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(210, 174, 91, 0.5);
    border-radius: 50%;
    color: #d2ae5b;
    font-size: 11px;
    transition: 0.35s ease;
}

.ree-founder-journey-item:hover .ree-founder-journey-number {
    background: #d2ae5b;
    color: #273b35;
}

.ree-founder-journey-item h4 {
    margin: 0 0 7px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 400;
}

.ree-founder-journey-item p {
    margin: 0;
    color: rgba(255, 255, 255, 0.58);
    font-size: 13px;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   PURPOSE SECTION
--------------------------------------------------------- */

.ree-founder-purpose {
    position: relative;
    padding: 90px 30px;
    margin-bottom: 110px;
    border-top: 1px solid rgba(210, 174, 91, 0.18);
    border-bottom: 1px solid rgba(210, 174, 91, 0.18);
    text-align: center;
}

.ree-founder-purpose::before,
.ree-founder-purpose::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    background: #d2ae5b;
    border-radius: 50%;
    top: -4px;
}

.ree-founder-purpose::before {
    left: 0;
}

.ree-founder-purpose::after {
    right: 0;
}

.ree-founder-purpose-inner {
    max-width: 820px;
    margin: 0 auto;
}

.ree-founder-purpose-title {
    margin: 0 0 28px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1.08;
    font-weight: 400;
}

.ree-founder-purpose-text {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}


/* ---------------------------------------------------------
   QUOTE
--------------------------------------------------------- */

.ree-founder-quote-section {
    max-width: 900px;
    margin: 0 auto 120px;
    text-align: center;
}

.ree-founder-quote-mark {
    height: 50px;
    color: #d2ae5b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 85px;
    line-height: 1;
}

.ree-founder-quote {
    margin: 10px 0 30px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 4vw, 45px);
    font-weight: 400;
    line-height: 1.35;
    font-style: italic;
    color: rgba(255, 255, 255, 0.92);
}

.ree-founder-quote-author {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    color: #d2ae5b;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
}

.ree-founder-quote-author span {
    width: 35px;
    height: 1px;
    background: rgba(210, 174, 91, 0.5);
}


/* ---------------------------------------------------------
   CLOSING AREA
--------------------------------------------------------- */

.ree-founder-closing {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    padding: 55px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.ree-founder-closing-text {
    max-width: 700px;
}

.ree-founder-closing-text h3 {
    margin: 0 0 20px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(35px, 4vw, 53px);
    font-weight: 400;
    line-height: 1.1;
}

.ree-founder-closing-text p {
    max-width: 650px;
}


/* ---------------------------------------------------------
   BUTTON
--------------------------------------------------------- */

.ree-founder-contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    min-width: 210px;
    padding: 18px 25px;
    border: 1px solid rgba(210, 174, 91, 0.65);
    color: #ffffff;
    text-decoration: none;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    transition: all 0.35s ease;
}

.ree-founder-contact-btn i {
    color: #d2ae5b;
    transition: transform 0.35s ease;
}

.ree-founder-contact-btn:hover {
    background: #d2ae5b;
    color: #273b35;
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.20);
}

.ree-founder-contact-btn:hover i {
    color: #273b35;
    transform: translateX(7px);
}
.ree-founder-journey-item h4 {
        color: wheat;
    }
h2.ree-founder-main-title{
    color: #f6f6f6;
}
.ree-footer-logo {
display: inline-block;
text-decoration: none;
transition: all 0.35s ease;
}

.ree-footer-logo img {
max-width: 180px;
height: auto;
display: block;
transition: transform 0.35s ease, opacity 0.35s ease;
}

.ree-footer-logo:hover img {
transform: scale(1.06);
opacity: 0.85;
}

/* ---------------------------------------------------------
   ANIMATIONS
--------------------------------------------------------- */

@keyframes reeFounderFadeUp {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes reeFounderFadeDown {
    from {
        opacity: 0;
        transform: translateY(-25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes reeFounderFadeRight {
    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes reeFounderFloat {
    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(25px) rotate(5deg);
    }
}

@keyframes reeFounderFloatReverse {
    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-20px) rotate(-5deg);
    }
}

@keyframes reeFounderBadgeFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}


/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 991px) {

    .ree-founder-section {
        padding: 80px 25px;
    }

    .ree-founder-main-card {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .ree-founder-visual {
        max-width: 600px;
        width: 100%;
        margin: 0 auto;
    }

    .ree-founder-image-frame {
        min-height: 480px;
    }

    .ree-founder-image-placeholder {
        min-height: 450px;
    }

    .ree-founder-story-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .ree-founder-closing {
        align-items: flex-start;
        flex-direction: column;
    }

    .ree-founder-closing-action {
        width: 100%;
    }

    .ree-founder-contact-btn {
        width: 100%;
        max-width: 250px;
    }
}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 600px) {

    .ree-founder-section {
        padding: 65px 18px;
    }

    .ree-founder-label-wrap {
        gap: 9px;
    }

    .ree-founder-label {
        font-size: 9px;
        letter-spacing: 3px;
    }

    .ree-founder-label-line {
        width: 25px;
    }

    .ree-founder-heading-area {
        margin-bottom: 55px;
    }

    .ree-founder-main-title {
        font-size: 43px;
        letter-spacing: -1px;
    }

    .ree-founder-intro {
        font-size: 14px;
    }

    .ree-founder-main-card {
        gap: 40px;
        margin-bottom: 80px;
    }

    .ree-founder-visual {
        padding: 5px;
    }

    .ree-founder-image-frame {
        min-height: 390px;
        padding: 8px;
    }

    .ree-founder-image-placeholder {
        min-height: 370px;
    }

    .ree-founder-image-text {
        font-size: 28px;
        letter-spacing: 4px;
    }

    .ree-founder-image-icon {
        width: 70px;
        height: 70px;
        font-size: 23px;
    }

    .ree-founder-experience-badge {
        width: 95px;
        height: 95px;
        right: -5px;
        bottom: 25px;
    }

    .ree-founder-experience-badge strong {
        font-size: 27px;
    }

    .ree-founder-experience-badge span {
        font-size: 7px;
    }

    .ree-founder-name {
        font-size: 36px;
    }

    .ree-founder-content p,
    .ree-founder-story-content p,
    .ree-founder-purpose-text,
    .ree-founder-closing-text p {
        font-size: 14px;
        line-height: 1.8;
    }

    .ree-founder-story-grid {
        margin-bottom: 80px;
    }

    .ree-founder-section-title {
        font-size: 39px;
    }

    .ree-founder-journey-item {
        grid-template-columns: 43px 1fr;
        gap: 13px;
        padding: 20px 12px;
    }

    .ree-founder-journey-number {
        width: 36px;
        height: 36px;
        font-size: 9px;
    }

    .ree-founder-journey-item h4 {
        font-size: 18px;
        color: wheat;
    }

    .ree-founder-journey-item p {
        font-size: 12px;
    }

    .ree-founder-purpose {
        padding: 65px 15px;
        margin-bottom: 80px;
    }

    .ree-founder-purpose-title {
        font-size: 39px;
    }

    .ree-founder-quote-section {
        margin-bottom: 80px;
    }

    .ree-founder-quote {
        font-size: 27px;
    }

    .ree-founder-quote-author {
        font-size: 8px;
        letter-spacing: 2px;
    }

    .ree-founder-closing {
        padding-top: 40px;
    }

    .ree-founder-closing-text h3 {
        font-size: 37px;
    }

    .ree-founder-contact-btn {
        max-width: none;
    }
}


/* ---------------------------------------------------------
   VERY SMALL DEVICES
--------------------------------------------------------- */

@media (max-width: 380px) {

    .ree-founder-section {
        padding-left: 14px;
        padding-right: 14px;
    }

    .ree-founder-main-title {
        font-size: 37px;
    }

    .ree-founder-name {
        font-size: 31px;
    }

    .ree-founder-section-title,
    .ree-founder-purpose-title,
    .ree-founder-closing-text h3 {
        font-size: 34px;
       color: white;
    }

    .ree-founder-image-frame {
        min-height: 340px;
    }

    .ree-founder-image-placeholder {
        min-height: 320px;
    }

    .ree-founder-experience-badge {
        width: 82px;
        height: 82px;
    }
}
.ree-founder-section-title, .ree-founder-purpose-title, .ree-founder-closing-text h3 {
      
        color: white;
    }
h3.ree-founder-name{
    color: white;
}

.arx-company-story {
    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;
    padding: 80px 5%;
    background-color: #fafafa;

    /*
       Subtle geometric diamond pattern
       Similar to the reference image
    */
    background-image:
        linear-gradient(45deg, rgba(80, 80, 80, 0.035) 1px, transparent 1px),
        linear-gradient(-45deg, rgba(80, 80, 80, 0.035) 1px, transparent 1px);
    background-size: 140px 140px;
    background-position: center center;
}


/* Large soft decorative shapes */
.arx-company-story::before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    left: -250px;
    top: -260px;
    border-radius: 50%;
    background: rgba(190, 170, 130, 0.055);
    filter: blur(10px);
    z-index: -1;
    animation: arxFloatShape 9s ease-in-out infinite alternate;
}


.arx-company-story::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -220px;
    bottom: -220px;
    border-radius: 50%;
    background: rgba(190, 170, 130, 0.045);
    filter: blur(8px);
    z-index: -1;
    animation: arxFloatShape 11s ease-in-out infinite alternate-reverse;
}


/* Main container */
.arx-story-inner {
    width: 100%;
    max-width: 1680px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(420px, 0.95fr);
    align-items: center;
    gap: 65px;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.arx-story-content {
    position: relative;
    padding: 10px 0;

    animation: arxContentReveal 1s cubic-bezier(.22, .61, .36, 1) both;
}


/* Small heading */
.arx-story-label {
    display: inline-block;
    margin-bottom: 16px;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    color: #a28c68;

    opacity: 0;
    animation: arxFadeUp .7s ease .1s forwards;
}


/* Main heading */
.arx-story-title {
    max-width: 980px;
    margin: 0;

    font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
    font-size: clamp(32px, 3.05vw, 48px);
    font-weight: 300;
    line-height: 1.12;
    letter-spacing: -1.2px;

    color: #292725;

    opacity: 0;
    animation: arxFadeUp .8s ease .2s forwards;
}


/* Gold divider */
.arx-story-divider {
    width: 195px;
    height: 1px;
    margin: 23px 0 17px;

    background: linear-gradient(
        to right,
        #aa9875,
        #c5b99f,
        transparent
    );

    transform-origin: left center;
    transform: scaleX(0);

    animation: arxDividerReveal .9s cubic-bezier(.22, .61, .36, 1) .55s forwards;
}


/* Paragraph container */
.arx-story-text {
    max-width: 1010px;
}


/* Paragraphs */
.arx-story-text p {
    margin: 0 0 26px;

    font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: .05px;

    color: #33312f;

    opacity: 0;
    animation: arxParagraphReveal .8s ease forwards;
}


.arx-story-text p:nth-child(1) {
    animation-delay: .65s;
}

.arx-story-text p:nth-child(2) {
    animation-delay: .8s;
}

.arx-story-text p:nth-child(3) {
    animation-delay: .95s;
}


/* Fargo link */
.arx-story-link {
    position: relative;
    color: #35322f;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition:
        color .3s ease,
        text-decoration-color .3s ease;
}


.arx-story-link:hover {
    color: #9b835c;
    text-decoration-color: #9b835c;
}


/* Small footer decoration */
.arx-story-footer {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-top: 5px;

    opacity: 0;
    animation: arxFadeUp .8s ease 1.15s forwards;
}


.arx-story-line {
    width: 38px;
    height: 1px;
    background: #a89573;
}


.arx-story-caption {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 2.5px;
    color: #92836b;
}


/* =========================================================
   RIGHT IMAGE
========================================================= */

.arx-story-visual {
    position: relative;
    width: 100%;

    opacity: 0;
    transform: translateX(45px);

    animation: arxImageReveal 1.1s cubic-bezier(.22, .61, .36, 1) .25s forwards;
}


/* Image frame */
.arx-image-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 1.28 / 1;

    overflow: hidden;

    background: #e9e5df;

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.09),
        0 3px 12px rgba(0, 0, 0, 0.05);

    transition:
        transform .55s cubic-bezier(.22, .61, .36, 1),
        box-shadow .55s ease;
}


/* Slight image frame movement */
.arx-image-frame:hover {
    transform: translateY(-7px);

    box-shadow:
        0 28px 65px rgba(0, 0, 0, 0.13),
        0 5px 18px rgba(0, 0, 0, 0.06);
}


/* Actual image */
.arx-story-image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transform: scale(1.015);

    transition:
        transform 1s cubic-bezier(.22, .61, .36, 1),
        filter .6s ease;
}


.arx-image-frame:hover .arx-story-image {
    transform: scale(1.06);
}


/* Soft overlay */
.arx-image-overlay {
    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.10),
            transparent 40%,
            rgba(20, 20, 20, 0.08)
        );

    opacity: .7;

    transition: opacity .5s ease;
}


.arx-image-frame:hover .arx-image-overlay {
    opacity: .35;
}


/* Decorative image glow */
.arx-image-glow {
    position: absolute;
    width: 120px;
    height: 120px;

    top: -55px;
    right: -55px;

    border-radius: 50%;

    background: rgba(196, 173, 133, .32);

    filter: blur(20px);

    z-index: 2;
    pointer-events: none;
}


/* =========================================================
   EXPERIENCE BADGE
========================================================= */

.arx-image-badge {
    position: absolute;
    left: 22px;
    bottom: 22px;

    display: flex;
    align-items: center;
    gap: 12px;

    padding: 13px 17px;

    background: rgba(255, 255, 255, .93);
    backdrop-filter: blur(8px);

    border-left: 2px solid #a89573;

    box-shadow: 0 8px 25px rgba(0, 0, 0, .10);

    z-index: 4;

    transform: translateY(8px);
    opacity: .88;

    transition:
        transform .4s ease,
        box-shadow .4s ease;
}


.arx-image-frame:hover .arx-image-badge {
    transform: translateY(0);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .14);
}


.arx-image-badge strong {
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 27px;
    font-weight: 500;
    line-height: 1;
    color: #2e2c29;
}


.arx-image-badge span {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 8px;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 1.5px;
    color: #746b5d;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes arxContentReveal {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes arxFadeUp {

    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes arxParagraphReveal {

    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes arxDividerReveal {

    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }

}


@keyframes arxImageReveal {

    from {
        opacity: 0;
        transform: translateX(45px) scale(.97);
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1);
    }

}


@keyframes arxFloatShape {

    from {
        transform: translate(0, 0);
    }

    to {
        transform: translate(35px, 25px);
    }

}


/* =========================================================
   LARGE TABLETS
========================================================= */

@media (max-width: 1200px) {

    .arx-company-story {
        padding: 70px 4%;
    }

    .arx-story-inner {
        grid-template-columns: minmax(0, 1.25fr) minmax(370px, .85fr);
        gap: 45px;
    }

    .arx-story-title {
        font-size: clamp(30px, 3.5vw, 42px);
    }

    .arx-story-text p {
        font-size: 15px;
        line-height: 1.8;
    }

}


/* =========================================================
   TABLETS
========================================================= */

@media (max-width: 900px) {

    .arx-company-story {
        padding: 65px 5%;
    }

    .arx-story-inner {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .arx-story-content {
        max-width: 850px;
    }

    .arx-story-title {
        max-width: 800px;
        font-size: clamp(32px, 5vw, 43px);
    }

    .arx-story-text {
        max-width: 900px;
    }

    .arx-story-visual {
        width: min(100%, 700px);
        margin: 0 auto;
        transform: translateY(35px);

        animation-name: arxMobileImageReveal;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .arx-company-story {
        padding: 55px 20px;
        background-size: 100px 100px;
    }

    .arx-story-inner {
        gap: 35px;
    }

    .arx-story-label {
        font-size: 9px;
        letter-spacing: 2.3px;
        margin-bottom: 12px;
    }

    .arx-story-title {
        font-size: 30px;
        line-height: 1.18;
        letter-spacing: -.7px;
    }

    .arx-desktop-break {
        display: none;
    }

    .arx-story-divider {
        width: 125px;
        margin: 20px 0 17px;
    }

    .arx-story-text p {
        font-size: 14px;
        line-height: 1.8;
        margin-bottom: 21px;
    }

    .arx-story-visual {
        width: 100%;
    }

    .arx-image-frame {
        aspect-ratio: 1.08 / 1;
    }

    .arx-image-badge {
        left: 13px;
        bottom: 13px;
        padding: 10px 12px;
    }

    .arx-image-badge strong {
        font-size: 23px;
    }

    .arx-image-badge span {
        font-size: 7px;
        letter-spacing: 1.2px;
    }

    .arx-story-footer {
        margin-top: -2px;
    }

}


/* =========================================================
   SMALL PHONES
========================================================= */

@media (max-width: 380px) {

    .arx-company-story {
        padding: 45px 16px;
    }

    .arx-story-title {
        font-size: 27px;
    }

    .arx-story-text p {
        font-size: 13.5px;
    }

    .arx-image-frame {
        aspect-ratio: 1 / 1;
    }

    .arx-image-badge {
        display: none;
    }

}


/* ================================
   PROJECT CTA SECTION
   ================================ */

.project-cta-zone {
  position: relative;
  width: 100%;
  min-height: 390px;
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #2b3c30;
  color: #ffffff;

  isolation: isolate;
}

/* Subtle decorative glow */
.project-cta-zone::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  left: -180px;
  top: -220px;

  background: rgba(255, 255, 255, 0.035);
  border-radius: 50%;

  animation: projectCtaFloat 7s ease-in-out infinite;
}

/* Second decorative glow */
.project-cta-zone::after {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  right: -150px;
  bottom: -180px;

  background: rgba(255, 255, 255, 0.025);
  border-radius: 50%;

  animation: projectCtaFloatReverse 9s ease-in-out infinite;
}

/* Main content */
.project-cta-content {
  position: relative;
  z-index: 2;

  width: min(900px, 90%);
  text-align: center;

  padding: 55px 20px;
}

/* Heading */
.project-cta-title {
  margin: 0;

  color: #ffffff;

  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.3rem, 4vw, 3.25rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.5px;

  animation: projectCtaTitleIn 0.9s ease-out both;
}

/* Subtitle */
.project-cta-subtitle {
  margin: 28px 0 46px;

  color: #f2f6f3;

  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  font-weight: 400;
  line-height: 1.5;

  animation: projectCtaSubtitleIn 1s ease-out 0.15s both;
}

/* Button */
.project-cta-button {
  position: relative;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 375px;
  min-height: 86px;
  padding: 20px 40px;

  box-sizing: border-box;

  background: #ffffff;
  color: #197d45;

  border-radius: 11px;

  text-decoration: none;
  overflow: hidden;

  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.55rem;
  font-weight: 500;

  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background-color 0.3s ease;

  animation: projectCtaButtonIn 0.9s ease-out 0.3s both;
}

/* Animated shine */
.project-cta-button::before {
  content: "";

  position: absolute;
  top: 0;
  left: -120%;

  width: 70%;
  height: 100%;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(25, 125, 69, 0.08),
    transparent
  );

  transform: skewX(-20deg);

  transition: left 0.65s ease;
}

/* Button text stays above shine */
.project-cta-button span {
  position: relative;
  z-index: 2;
}

/* Hover */
.project-cta-button:hover {
  color: #146b3b;
  background: #ffffff;

  transform: translateY(-5px);

  box-shadow:
    0 15px 35px rgba(0, 0, 0, 0.16),
    0 0 0 4px rgba(255, 255, 255, 0.08);
}

.project-cta-button:hover::before {
  left: 150%;
}

/* Active/click effect */
.project-cta-button:active {
  transform: translateY(-1px) scale(0.98);
}

/* Keyboard accessibility */
.project-cta-button:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 5px;
}


/* ================================
   ANIMATIONS
   ================================ */

@keyframes projectCtaTitleIn {
  from {
    opacity: 0;
    transform: translateY(25px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes projectCtaSubtitleIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes projectCtaButtonIn {
  from {
    opacity: 0;
    transform: translateY(25px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes projectCtaFloat {
  0%,
  100% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(30px, 25px);
  }
}

@keyframes projectCtaFloatReverse {
  0%,
  100% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(-25px, -20px);
  }
}


/* ================================
   TABLET
   ================================ */

@media (max-width: 768px) {

  .project-cta-zone {
    min-height: 350px;
  }

  .project-cta-content {
    padding: 50px 25px;
  }

  .project-cta-subtitle {
    margin-top: 22px;
    margin-bottom: 38px;
  }

  .project-cta-button {
    min-width: 320px;
    min-height: 75px;
    font-size: 1.3rem;
    padding: 18px 30px;
  }
}


/* ================================
   MOBILE
   ================================ */

@media (max-width: 480px) {

  .project-cta-zone {
    min-height: 330px;
  }

  .project-cta-content {
    width: 100%;
    padding: 45px 18px;
  }

  .project-cta-title {
    font-size: 2.05rem;
    line-height: 1.2;
  }

  .project-cta-subtitle {
    margin: 20px auto 32px;
    max-width: 330px;

    font-size: 1.05rem;
    line-height: 1.5;
  }

  .project-cta-button {
    width: 100%;
    min-width: 0;
    min-height: 68px;

    padding: 16px 20px;

    border-radius: 9px;

    font-size: 1.12rem;
  }
}


/* ================================
   REDUCED MOTION
   ================================ */

@media (prefers-reduced-motion: reduce) {

  .project-cta-zone::before,
  .project-cta-zone::after,
  .project-cta-title,
  .project-cta-subtitle,
  .project-cta-button {
    animation: none;
  }

  .project-cta-button {
    transition: none;
  }
}
/* =========================================================
   REDUCED MOTION ACCESSIBILITY
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .arx-company-story *,
    .arx-company-story::before,
    .arx-company-story::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

}
.renovx-showcase {
    width: 100%;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}


/* =========================================================
   HERO IMAGE
   ========================================================= */

.renovx-hero {
    width: 100%;
    height: 495px;

    position: relative;
    overflow: hidden;

    background-image:
        url("images/renovation-bedroom.jpg");

    background-size: cover;
    background-position: center center;

    display: flex;
    align-items: center;

    isolation: isolate;
}


/* =========================================================
   IMAGE OVERLAY
   ========================================================= */

.renovx-image-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(18, 17, 15, 0.58) 0%,
            rgba(18, 17, 15, 0.20) 42%,
            rgba(18, 17, 15, 0.02) 75%
        );

    z-index: -1;

    pointer-events: none;
}


/* =========================================================
   SUBTLE IMAGE SHIMMER
   ========================================================= */

.renovx-image-shimmer {
    position: absolute;

    top: 0;
    left: -40%;

    width: 30%;
    height: 100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,0.07),
            transparent
        );

    transform: skewX(-20deg);

    animation:
        renovx-image-shine 7s ease-in-out infinite;

    pointer-events: none;
}


@keyframes renovx-image-shine {

    0% {
        left: -40%;
    }

    35% {
        left: 120%;
    }

    100% {
        left: 120%;
    }

}


/* =========================================================
   PROJECT CARD
   ========================================================= */

.renovx-project-card {

    position: relative;

    width: min(860px, 58%);

    min-height: 305px;

    margin-left: 4%;

    box-sizing: border-box;

    background:
        rgba(249, 248, 244, 0.90);

    display: flex;
    align-items: center;

    padding: 45px 40px;

    z-index: 3;

    animation:
        renovx-card-enter 1s cubic-bezier(.22,.61,.36,1) both;
}


@keyframes renovx-card-enter {

    from {
        opacity: 0;
        transform: translateX(-55px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


/* =========================================================
   DECORATIVE DOUBLE BORDER
   ========================================================= */

.renovx-project-border {
    position: absolute;

    pointer-events: none;

    border: 1px solid rgba(174, 168, 150, 0.85);
}


.renovx-border-one {
    inset: 12px -10px -12px 10px;
}


.renovx-border-two {
    inset: 2px 2px 2px 2px;
}


/* =========================================================
   PROJECT CONTENT
   ========================================================= */

.renovx-project-content {
    position: relative;
    z-index: 5;
}


.renovx-project-content h1 {

    margin: 0;

    color: #111111;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: clamp(34px, 3.15vw, 55px);

    line-height: 1.18;

    font-weight: 300;

    letter-spacing: -1.5px;

    text-transform: uppercase;

    animation:
        renovx-text-enter 1.15s
        cubic-bezier(.22,.61,.36,1)
        0.15s both;
}


@keyframes renovx-text-enter {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================================
   TITLE LINE
   ========================================================= */

.renovx-title-line {

    width: 158px;
    height: 2px;

    margin-top: 30px;

    background: #bdb7a7;

    transform-origin: left;

    animation:
        renovx-line-grow 1s ease
        0.5s both;
}


@keyframes renovx-line-grow {

    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }

}


/* =========================================================
   PROJECT NUMBER
   ========================================================= */

.renovx-project-number {

    position: absolute;

    right: 35px;
    top: 30px;

    color: rgba(255,255,255,0.8);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 12px;

    letter-spacing: 2px;

    z-index: 5;
}


/* =========================================================
   IMAGE CONTROLS
   ========================================================= */

.renovx-image-controls {

    position: absolute;

    right: 35px;
    bottom: 32px;

    display: flex;

    gap: 8px;

    z-index: 5;
}


.renovx-control-btn {

    width: 44px;
    height: 44px;

    border: 1px solid
        rgba(255,255,255,0.65);

    background:
        rgba(20,20,18,0.35);

    color: white;

    cursor: pointer;

    display: flex;

    align-items: center;
    justify-content: center;

    font-size: 20px;

    transition:
        background 0.3s ease,
        transform 0.3s ease,
        border-color 0.3s ease;
}


.renovx-control-btn:hover {

    background: #ffffff;

    color: #151515;

    border-color: #ffffff;

    transform: translateY(-3px);

}


.renovx-control-btn:active {

    transform: translateY(0);

}


/* =========================================================
   CATEGORY BAR
   ========================================================= */

.renovx-category-bar {

    width: 100%;

    min-height: 83px;

    background: #24211d;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;
}


/* =========================================================
   CATEGORY TRACK
   ========================================================= */

.renovx-category-track {

    width: 100%;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 55px;

    padding: 0 30px;

    box-sizing: border-box;
}


/* =========================================================
   CATEGORY LINKS
   ========================================================= */

.renovx-category-link {

    position: relative;

    color: #c8c5c0;

    text-decoration: none;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 23px;

    font-weight: 300;

    letter-spacing: 0.4px;

    white-space: nowrap;

    padding: 8px 0;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}


.renovx-category-link::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 100%;
    height: 1px;

    background: #d1c9b5;

    transform:
        scaleX(0);

    transform-origin: right;

    transition:
        transform 0.4s
        cubic-bezier(.22,.61,.36,1);
}


.renovx-category-link:hover {

    color: #ffffff;

    transform: translateY(-2px);
}


.renovx-category-link:hover::after {

    transform:
        scaleX(1);

    transform-origin: left;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .renovx-hero {

        height: 450px;

    }


    .renovx-project-card {

        width: 65%;

        min-height: 280px;

        margin-left: 4%;

        padding: 38px 35px;

    }


    .renovx-project-content h1 {

        font-size: clamp(
            30px,
            4vw,
            47px
        );

    }


    .renovx-category-track {

        gap: 35px;

    }


    .renovx-category-link {

        font-size: 18px;

    }

}


/* =========================================================
   TABLET / SMALL LAPTOP
   ========================================================= */

@media (max-width: 800px) {

    .renovx-hero {

        height: 420px;

        background-position:
            center center;

    }


    .renovx-project-card {

        width: 72%;

        min-height: 255px;

    }


    .renovx-project-content h1 {

        font-size: 31px;

        line-height: 1.2;

        letter-spacing: -0.8px;

    }


    .renovx-category-bar {

        min-height: 75px;

    }


    .renovx-category-track {

        justify-content: flex-start;

        overflow-x: auto;

        scrollbar-width: none;

        padding-left: 25px;

        padding-right: 25px;

    }


    .renovx-category-track::-webkit-scrollbar {

        display: none;

    }


    .renovx-category-link {

        font-size: 17px;

    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .renovx-hero {

        height: 440px;

        align-items: flex-end;

        padding-bottom: 25px;

        box-sizing: border-box;

        background-position: center;

    }


    .renovx-image-overlay {

        background:
            linear-gradient(
                180deg,
                rgba(20,18,16,0.12) 0%,
                rgba(20,18,16,0.25) 35%,
                rgba(20,18,16,0.70) 100%
            );

    }


    .renovx-project-card {

        width: calc(100% - 35px);

        margin-left: 17px;

        min-height: auto;

        padding: 32px 25px;

    }


    .renovx-project-content h1 {

        font-size: 27px;

        line-height: 1.18;

        letter-spacing: -0.7px;

    }


    .renovx-title-line {

        width: 110px;

        margin-top: 23px;

    }


    .renovx-project-border {

        border-color:
            rgba(174,168,150,0.7);

    }


    .renovx-border-one {

        inset: 9px -7px -9px 7px;

    }


    .renovx-project-number {

        top: 20px;

        right: 20px;

        font-size: 10px;

    }


    .renovx-image-controls {

        right: 18px;

        bottom: 18px;

    }


    .renovx-control-btn {

        width: 38px;
        height: 38px;

        font-size: 17px;

    }


    .renovx-category-bar {

        min-height: 70px;

    }


    .renovx-category-track {

        gap: 30px;

    }


    .renovx-category-link {

        font-size: 15px;

    }

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 390px) {

    .renovx-hero {

        height: 425px;

    }


    .renovx-project-card {

        width: calc(100% - 28px);

        margin-left: 14px;

        padding: 28px 21px;

    }


    .renovx-project-content h1 {

        font-size: 23px;

    }


    .renovx-title-line {

        width: 90px;

        margin-top: 19px;

    }


    .renovx-project-number {

        display: none;

    }


    .renovx-image-controls {

        display: none;

    }

}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .renovx-image-shimmer,
    .renovx-project-card,
    .renovx-project-content h1,
    .renovx-title-line {

        animation: none;

    }


    .renovx-control-btn,
    .renovx-category-link {

        transition: none;

    }

}

.estatehub-info-section {
    position: relative;
    width: 100%;
    padding: 90px 7%;
    background: #f6f7f9;
    overflow: hidden;
    box-sizing: border-box;
}


/* subtle background decoration */

.estatehub-info-section::before {
    content: "";
    position: absolute;
    width: 450px;
    height: 450px;
    top: -250px;
    left: -220px;
    border-radius: 50%;
    background: rgba(0, 76, 153, 0.035);
    pointer-events: none;
}

.estatehub-info-section::after {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    right: -280px;
    bottom: -300px;
    border-radius: 50%;
    background: rgba(0, 76, 153, 0.03);
    pointer-events: none;
}


/* ==========================================================
   CONTENT ROW
   ========================================================== */

.estatehub-content-row {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

    align-items: center;

    width: 100%;
    max-width: 1200px;

    margin: 0 auto;
}


/* ==========================================================
   FIRST ROW
   ========================================================== */

.estatehub-first-row {
    column-gap: 100px;
    min-height: 500px;
}


/* ==========================================================
   SECOND ROW
   ========================================================== */

.estatehub-second-row {
    column-gap: 80px;
    min-height: 480px;

    margin-top: 95px;
}


/* ==========================================================
   IMAGE COLLAGE
   ========================================================== */

.estatehub-image-collage {
    position: relative;

    width: 100%;
    max-width: 500px;

    height: 430px;

    margin: 0 auto;

    animation: estatehubCollageReveal 1s ease both;
}


/* ==========================================================
   COLLAGE IMAGES
   ========================================================== */

.estatehub-photo {
    position: absolute;

    overflow: hidden;

    background: #e8edf2;

    box-shadow:
        0 15px 35px rgba(15, 36, 63, 0.10);

    transition:
        transform 0.5s ease,
        box-shadow 0.5s ease;
}


/* Main left image */

.estatehub-photo-main {
    left: 0;
    top: 75px;

    width: 225px;
    height: 185px;

    border-radius: 18px;

    z-index: 1;
}


/* Small upper image */

.estatehub-photo-small {
    top: 0;
    left: 235px;

    width: 145px;
    height: 132px;

    border-radius: 18px;

    z-index: 3;
}


/* Large front image */

.estatehub-photo-front {
    left: 180px;
    top: 165px;

    width: 225px;
    height: 210px;

    border-radius: 20px;

    z-index: 4;
}


/* Images */

.estatehub-photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform 0.7s ease,
        filter 0.5s ease;
}


/* ==========================================================
   IMAGE HOVER EFFECT
   ========================================================== */

.estatehub-image-collage:hover
.estatehub-photo-main {
    transform: translate(-5px, -5px);
}

.estatehub-image-collage:hover
.estatehub-photo-small {
    transform: translateY(-8px);
}

.estatehub-image-collage:hover
.estatehub-photo-front {
    transform: translate(7px, 7px);
}


.estatehub-image-collage:hover
.estatehub-photo img {
    transform: scale(1.06);
}


/* ==========================================================
   DECORATIVE CIRCLES
   ========================================================== */

.estatehub-decor-circle {
    position: absolute;

    border-radius: 50%;

    pointer-events: none;

    z-index: 0;
}


.estatehub-circle-one {
    width: 35px;
    height: 35px;

    left: -18px;
    top: 40px;

    border: 2px solid rgba(0, 80, 160, 0.15);

    animation:
        estatehubFloat 5s ease-in-out infinite;
}


.estatehub-circle-two {
    width: 20px;
    height: 20px;

    right: 30px;
    bottom: 25px;

    background: rgba(0, 88, 177, 0.08);

    animation:
        estatehubFloat 4s ease-in-out infinite reverse;
}


/* ==========================================================
   TEXT CONTENT
   ========================================================== */

.estatehub-text-content {
    width: 100%;
    max-width: 530px;

    animation:
        estatehubTextReveal 0.9s ease 0.15s both;
}


.estatehub-small-label {
    display: inline-block;

    margin-bottom: 15px;

    color: #1267c5;

    font-family:
        "Inter",
        Arial,
        sans-serif;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 2px;
}


/* ==========================================================
   HEADINGS
   ========================================================== */

.estatehub-text-content h2 {
    margin: 0 0 24px;

    color: #080d4c;

    font-family:
        "Inter",
        Arial,
        sans-serif;

    font-size: clamp(32px, 3.1vw, 42px);

    font-weight: 400;

    line-height: 1.2;

    letter-spacing: -0.8px;
}


/* ==========================================================
   PARAGRAPHS
   ========================================================== */

.estatehub-text-content p {
    max-width: 530px;

    margin: 0 0 18px;

    color: #14214a;

    font-family:
        "Inter",
        Arial,
        sans-serif;

    font-size: 14px;

    font-weight: 400;

    line-height: 1.65;
}


/* ==========================================================
   BUTTON
   ========================================================== */

.estatehub-outline-button {
    position: relative;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 0;

    min-height: 47px;

    margin-top: 14px;

    padding: 0 15px;

    border: 1px solid #006cff;

    border-radius: 7px;

    background: transparent;

    color: #07104a;

    font-family:
        "Inter",
        Arial,
        sans-serif;

    font-size: 14px;

    font-weight: 500;

    text-decoration: none;

    overflow: hidden;

    transition:
        color 0.35s ease,
        background 0.35s ease,
        border-color 0.35s ease,
        transform 0.35s ease,
        box-shadow 0.35s ease;
}


.estatehub-outline-button::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 0;
    height: 100%;

    background: #006cff;

    z-index: -1;

    transition: width 0.35s ease;
}


.estatehub-outline-button span {
    position: relative;
    z-index: 2;
}


.estatehub-outline-button i {
    position: relative;

    width: 0;

    margin-left: 0;

    opacity: 0;

    transform: translateX(-7px);

    transition:
        width 0.3s ease,
        margin 0.3s ease,
        opacity 0.3s ease,
        transform 0.3s ease;
}


.estatehub-outline-button:hover {
    color: #ffffff;

    transform: translateY(-3px);

    border-color: #006cff;

    box-shadow:
        0 10px 24px rgba(0, 108, 255, 0.18);
}


.estatehub-outline-button:hover::before {
    width: 100%;
}


.estatehub-outline-button:hover i {
    width: 13px;

    margin-left: 10px;

    opacity: 1;

    transform: translateX(0);
}


/* ==========================================================
   AGENT SECTION
   ========================================================== */

.estatehub-agent-content {
    max-width: 500px;

    animation:
        estatehubTextReveal 0.9s ease both;
}


/* Agent label */

.estatehub-agent-label {
    color: #1267c5;
}


/* Agent button */

.estatehub-agent-button {
    border-color: #ff5045;
}


.estatehub-agent-button::before {
    background: #ff5045;
}


.estatehub-agent-button:hover {
    border-color: #ff5045;

    box-shadow:
        0 10px 24px rgba(255, 80, 69, 0.18);
}


/* ==========================================================
   AGENT IMAGE
   ========================================================== */

.estatehub-agent-image {
    position: relative;

    width: 100%;

    max-width: 500px;

    margin-left: auto;

    animation:
        estatehubImageReveal 1s ease 0.15s both;
}


.estatehub-agent-photo {
    position: relative;

    width: 100%;

    height: 295px;

    overflow: hidden;

    border-radius: 0 0 16px 16px;

    box-shadow:
        0 20px 45px rgba(14, 31, 56, 0.10);
}


.estatehub-agent-photo img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.7s ease,
        filter 0.5s ease;
}


/* Image hover */

.estatehub-agent-image:hover
.estatehub-agent-photo img {
    transform: scale(1.045);

    filter: saturate(1.05);
}


/* ==========================================================
   AGENT IMAGE DECORATION
   ========================================================== */

.estatehub-agent-decoration {
    position: absolute;

    right: -17px;
    top: -17px;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    border-radius: 50%;

    background: #ffffff;

    color: #0767c8;

    font-size: 17px;

    box-shadow:
        0 8px 25px rgba(15, 35, 60, 0.12);

    animation:
        estatehubFloat 4s ease-in-out infinite;
}


/* ==========================================================
   ANIMATIONS
   ========================================================== */

@keyframes estatehubCollageReveal {

    0% {
        opacity: 0;
        transform: translateX(-35px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }

}


@keyframes estatehubTextReveal {

    0% {
        opacity: 0;
        transform: translateX(35px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }

}


@keyframes estatehubImageReveal {

    0% {
        opacity: 0;
        transform: translateX(35px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }

}


@keyframes estatehubFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-9px);
    }

}


/* ==========================================================
   LARGE TABLETS
   ========================================================== */

@media (max-width: 1050px) {

    .estatehub-info-section {
        padding-left: 5%;
        padding-right: 5%;
    }


    .estatehub-first-row {
        column-gap: 55px;
    }


    .estatehub-second-row {
        column-gap: 50px;
    }


    .estatehub-image-collage {
        transform: scale(0.9);
        transform-origin: center;
    }


    .estatehub-text-content h2 {
        font-size: 34px;
    }

}


/* ==========================================================
   TABLETS
   ========================================================== */

@media (max-width: 800px) {

    .estatehub-info-section {
        padding: 70px 30px;
    }


    .estatehub-content-row {
        grid-template-columns: 1fr;

        row-gap: 45px;

        max-width: 650px;
    }


    .estatehub-first-row,
    .estatehub-second-row {
        min-height: auto;

        margin-top: 0;
    }


    .estatehub-second-row {
        margin-top: 100px;
    }


    /* Images first on first section */

    .estatehub-image-collage {
        order: 1;

        margin: 0 auto;

        transform: none;
    }


    .estatehub-first-row .estatehub-text-content {
        order: 2;
    }


    /* Agent text */

    .estatehub-agent-content {
        order: 1;

        margin: 0 auto;
    }


    .estatehub-agent-image {
        order: 2;

        margin: 0 auto;
    }


    .estatehub-text-content {
        max-width: 650px;
    }


    .estatehub-text-content h2 {
        font-size: 34px;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .estatehub-info-section {
        padding: 55px 18px;
    }


    .estatehub-content-row {
        row-gap: 30px;
    }


    /* Image collage */

    .estatehub-image-collage {
        width: 100%;

        max-width: 430px;

        height: 350px;
    }


    .estatehub-photo-main {
        left: 0;

        top: 62px;

        width: 52%;

        height: 155px;

        border-radius: 14px;
    }


    .estatehub-photo-small {
        left: 54%;

        top: 0;

        width: 34%;

        height: 112px;

        border-radius: 14px;
    }


    .estatehub-photo-front {
        left: 40%;

        top: 145px;

        width: 54%;

        height: 180px;

        border-radius: 15px;
    }


    /* Text */

    .estatehub-text-content h2 {
        font-size: 30px;

        line-height: 1.22;
    }


    .estatehub-text-content p {
        font-size: 14px;

        line-height: 1.65;
    }


    .estatehub-outline-button {
        min-height: 48px;

        font-size: 14px;
    }


    /* Agent image */

    .estatehub-agent-photo {
        height: 260px;

        border-radius: 0 0 14px 14px;
    }


    .estatehub-agent-decoration {
        right: -5px;
        top: -15px;

        width: 42px;
        height: 42px;

        font-size: 15px;
    }


    .estatehub-second-row {
        margin-top: 80px;
    }

}


/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 420px) {

    .estatehub-info-section {
        padding-left: 14px;
        padding-right: 14px;
    }


    .estatehub-image-collage {
        height: 310px;
    }


    .estatehub-photo-main {
        height: 135px;
    }


    .estatehub-photo-small {
        height: 95px;
    }


    .estatehub-photo-front {
        top: 125px;

        height: 160px;
    }


    .estatehub-text-content h2 {
        font-size: 27px;
    }


    .estatehub-agent-photo {
        height: 230px;
    }

}


/* ==========================================================
   REDUCED MOTION ACCESSIBILITY
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .estatehub-info-section *,
    .estatehub-info-section *::before,
    .estatehub-info-section *::after {

        animation-duration: 0.01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: 0.01ms !important;
    }

}
.propview-section {
    position: relative;
    width: 100%;
    padding: 48px 28px 75px;
    background: #f5f6f8;
    overflow: hidden;
    box-sizing: border-box;
}


/* Decorative background */

.propview-section::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    top: -260px;
    right: -180px;
    border-radius: 50%;
    background: rgba(0, 78, 170, 0.035);
    pointer-events: none;
}

.propview-section::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    bottom: -220px;
    left: -160px;
    border-radius: 50%;
    background: rgba(255, 65, 48, 0.025);
    pointer-events: none;
}


/* Main container */

.propview-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1620px;
    margin: 0 auto;
}


/* ==========================================================
   HEADING
   ========================================================== */

.propview-heading {
    text-align: center;
    margin-bottom: 60px;
    animation: propviewHeadingReveal 0.8s ease both;
}

.propview-title {
    margin: 0 0 22px;
    color: #080b43;
    font-family: "Inter", Arial, sans-serif;
    font-size: clamp(30px, 3vw, 39px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -0.8px;
}


/* ==========================================================
   TABS
   ========================================================== */

.propview-tabs {
    display: flex;
    justify-content: center;
    align-items: stretch;
    width: max-content;
    margin: 0 auto;
    border-bottom: 1px solid #d8d9dd;
}

.propview-tab {
    position: relative;
    min-width: 104px;
    padding: 0 10px 15px;
    border: 0;
    background: transparent;
    color: #9ba0ae;
    font-family: "Inter", Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    cursor: pointer;
    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.propview-tab::after {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: -1px;
    height: 4px;
    border-radius: 4px 4px 0 0;
    background: #0a0b43;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.35s ease;
}

.propview-tab:hover {
    color: #0a0b43;
    transform: translateY(-2px);
}

.propview-tab-active {
    color: #080b43;
    font-weight: 600;
}

.propview-tab-active::after {
    transform: scaleX(1);
}


/* ==========================================================
   PANELS
   ========================================================== */

.propview-panel {
    display: none;
}

.propview-panel-active {
    display: block;
    animation: propviewPanelReveal 0.55s ease both;
}


/* ==========================================================
   WHITE CARD CONTAINER
   ========================================================== */

.propview-card-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    min-height: 570px;
    background: #ffffff;
    border-radius: 26px;
    overflow: hidden;
    box-shadow:
        0 15px 45px rgba(18, 31, 56, 0.06),
        0 2px 10px rgba(18, 31, 56, 0.025);
}


/* ==========================================================
   INDIVIDUAL CARDS
   ========================================================== */

.propview-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-width: 0;
    padding: 42px 55px 48px;
    border-right: 1px solid #e0e1e5;
    overflow: hidden;
    transition:
        background 0.35s ease,
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.propview-card:last-child {
    border-right: 0;
}


/* Hover effect */

.propview-card:hover {
    z-index: 3;
    background: #ffffff;
    transform: translateY(-6px);
    box-shadow:
        0 18px 40px rgba(5, 22, 65, 0.08);
}


/* subtle top highlight */

.propview-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 15%;
    right: 15%;
    height: 3px;
    border-radius: 0 0 5px 5px;
    background: #0875df;
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

.propview-card:hover::before {
    transform: scaleX(1);
}


/* ==========================================================
   IMAGE / ILLUSTRATION AREA
   ========================================================== */

.propview-image-area {
    position: relative;
    width: 270px;
    height: 235px;
    margin-bottom: 24px;
    flex-shrink: 0;
}


/* pale blue circle */

.propview-image-circle {
    position: absolute;
    width: 198px;
    height: 198px;
    left: 50%;
    top: 28px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: #e4f5fc;
    transition:
        transform 0.5s ease,
        background 0.5s ease;
}

.propview-card:hover .propview-image-circle {
    transform: translateX(-50%) scale(1.08);
    background: #dff2fb;
}


/* ==========================================================
   FLOATING RED ICON
   ========================================================== */

.propview-floating-icon {
    position: absolute;
    right: 13px;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 59px;
    height: 59px;
    border: 5px solid #ffffff;
    border-radius: 50%;
    background: #fa4335;
    color: #ffffff;
    font-size: 24px;
    box-shadow: 0 7px 18px rgba(250, 67, 53, 0.18);
    animation: propviewFloatIcon 3s ease-in-out infinite;
    z-index: 5;
}

.propview-card:nth-child(2) .propview-floating-icon {
    animation-delay: 0.4s;
}

.propview-card:nth-child(3) .propview-floating-icon {
    animation-delay: 0.8s;
}

.propview-floating-icon i {
    transition: transform 0.3s ease;
}

.propview-card:hover .propview-floating-icon i {
    transform: rotate(10deg) scale(1.12);
}


/* ==========================================================
   PHONE ILLUSTRATION
   ========================================================== */

.propview-phone {
    position: absolute;
    z-index: 3;
    left: 95px;
    top: 38px;
    width: 59px;
    height: 116px;
    border: 3px solid #0963c5;
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 8px 15px rgba(7, 57, 115, 0.13);
    transform: rotate(0deg);
    transition: transform 0.4s ease;
}

.propview-card:hover .propview-phone {
    transform: rotate(-4deg) translateY(-5px);
}

.propview-phone-speaker {
    position: absolute;
    left: 50%;
    top: 5px;
    width: 21px;
    height: 2px;
    transform: translateX(-50%);
    border-radius: 4px;
    background: #c9d4df;
}

.propview-phone-screen {
    position: absolute;
    left: 8px;
    right: 8px;
    top: 20px;
    bottom: 8px;
    border: 1px solid #d6dce4;
    background: #ffffff;
}

.propview-house-icon {
    position: absolute;
    left: 50%;
    top: 25px;
    width: 25px;
    height: 20px;
    transform: translateX(-50%);
    background: #0c5cae;
}

.propview-house-icon::before {
    content: "";
    position: absolute;
    left: -4px;
    top: -10px;
    width: 0;
    height: 0;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-bottom: 12px solid #083f7d;
}

.propview-house-icon span {
    position: absolute;
    width: 7px;
    height: 9px;
    bottom: 0;
    left: 9px;
    background: #ffffff;
}

.propview-screen-line {
    position: absolute;
    height: 3px;
    left: 9px;
    right: 9px;
    border-radius: 4px;
    background: #d7dce4;
}

.propview-line-one {
    top: 58px;
}

.propview-line-two {
    top: 68px;
    right: 19px;
}


/* abstract hands */

.propview-hand {
    position: absolute;
    z-index: 2;
    background: #a86b4c;
}

.propview-hand-back {
    left: 38px;
    top: 45px;
    width: 36px;
    height: 150px;
    border-radius: 40px 35px 25px 25px;
    transform: rotate(29deg);
}

.propview-hand-front {
    right: 40px;
    bottom: 7px;
    width: 43px;
    height: 110px;
    border-radius: 40px 40px 25px 25px;
    transform: rotate(-27deg);
}


/* ==========================================================
   CHART ILLUSTRATION
   ========================================================== */

.propview-illustration-chart {
    position: absolute;
    left: 50%;
    top: 18px;
    width: 215px;
    height: 210px;
    transform: translateX(-50%);
}

.propview-chart {
    position: absolute;
    left: 50px;
    top: 58px;
    width: 145px;
    height: 120px;
}

.propview-chart-bar {
    position: absolute;
    bottom: 0;
    width: 16px;
    border-radius: 3px 3px 0 0;
    background: #d7dce3;
}

.propview-chart .bar-one {
    left: 8px;
    height: 50px;
}

.propview-chart .bar-two {
    left: 42px;
    height: 78px;
}

.propview-chart .bar-three {
    left: 76px;
    height: 64px;
}

.propview-chart-line {
    position: absolute;
    inset: 5px 0 0 0;
    width: 100%;
    height: 100%;
    color: #0964c7;
    overflow: visible;
    animation: propviewChartDraw 1.5s ease both;
}

.propview-person {
    position: absolute;
    z-index: 4;
    left: 12px;
    top: 42px;
    width: 70px;
    height: 150px;
    transition: transform 0.4s ease;
}

.propview-card:hover .propview-person {
    transform: translateY(-6px);
}

.propview-head {
    width: 22px;
    height: 26px;
    margin-left: 22px;
    border-radius: 50%;
    background: #c47b51;
}

.propview-body {
    position: relative;
    width: 31px;
    height: 65px;
    margin-left: 16px;
    margin-top: 2px;
    border-radius: 8px 8px 15px 15px;
    background: #0b66be;
}

.propview-arm-left,
.propview-arm-right {
    position: absolute;
    top: 8px;
    width: 40px;
    height: 10px;
    border-radius: 10px;
    background: #0b66be;
}

.propview-arm-left {
    left: -24px;
    transform: rotate(55deg);
}

.propview-arm-right {
    right: -25px;
    transform: rotate(-10deg);
}

.propview-leg-left,
.propview-leg-right {
    position: absolute;
    top: 88px;
    width: 9px;
    height: 54px;
    border-radius: 8px;
    background: #0a183d;
}

.propview-leg-left {
    left: 25px;
    transform: rotate(4deg);
}

.propview-leg-right {
    left: 43px;
    transform: rotate(-8deg);
}


/* ==========================================================
   PROPERTY FOR SALE ILLUSTRATION
   ========================================================== */

.propview-illustration-sale {
    position: absolute;
    left: 50%;
    top: 20px;
    width: 230px;
    height: 205px;
    transform: translateX(-50%);
}

.propview-property-board {
    position: absolute;
    z-index: 2;
    left: 35px;
    top: 12px;
    width: 90px;
    height: 176px;
    border: 4px solid #0761be;
    border-radius: 13px;
    background: #ffffff;
    box-shadow: 0 7px 15px rgba(6, 69, 131, 0.1);
    transform: rotate(0deg);
    transition: transform 0.4s ease;
}

.propview-card:hover .propview-property-board {
    transform: rotate(-3deg) translateY(-5px);
}

.propview-board-logo {
    margin-top: 10px;
    color: #0761be;
    font-size: 8px;
    font-weight: 700;
}

.propview-board-logo span {
    color: #0da2df;
}

.propview-board-house {
    position: relative;
    width: 70px;
    height: 85px;
    margin: 7px auto 0;
    border: 2px solid #b7c4d2;
}

.propview-board-roof {
    position: absolute;
    left: 5px;
    top: 11px;
    width: 55px;
    height: 55px;
    border-top: 2px solid #9ba9b8;
    border-left: 2px solid #9ba9b8;
    transform: rotate(45deg);
}

.propview-board-building {
    position: absolute;
    left: 9px;
    right: 9px;
    bottom: 8px;
    height: 43px;
    background: #f6f8fa;
    border: 1px solid #aebac7;
}

.propview-board-building span {
    display: inline-block;
    width: 12px;
    height: 13px;
    margin: 8px 2px 0;
    border: 1px solid #7f8b98;
}

.propview-sale-label {
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: 10px;
    padding: 7px 2px;
    background: #0761be;
    color: #ffffff;
    font-size: 8px;
    font-weight: 700;
}


/* People beside sign */

.propview-buyer {
    position: absolute;
    z-index: 4;
}

.propview-buyer-one {
    left: 125px;
    top: 61px;
}

.propview-buyer-two {
    left: 162px;
    top: 48px;
}

.propview-buyer-head {
    width: 17px;
    height: 19px;
    margin: 0 auto;
    border-radius: 50%;
    background: #c67d52;
}

.propview-buyer-body {
    width: 27px;
    height: 57px;
    margin-top: 2px;
    border-radius: 10px 10px 6px 6px;
    background: #19a9dc;
}

.propview-buyer-two .propview-buyer-body {
    background: #0a66bf;
}

.propview-buyer-leg {
    width: 8px;
    height: 38px;
    margin-left: 10px;
    border-radius: 6px;
    background: #17324e;
}


/* ==========================================================
   CARD CONTENT
   ========================================================== */

.propview-card-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    flex: 1;
}

.propview-card-content h2 {
    margin: 0 0 25px;
    color: #080b43;
    font-family: "Inter", Arial, sans-serif;
    font-size: 29px;
    font-weight: 400;
    line-height: 1.25;
    transition: transform 0.3s ease;
}

.propview-card:hover .propview-card-content h2 {
    transform: translateY(-2px);
}

.propview-card-content p {
    max-width: 430px;
    min-height: 72px;
    margin: 0 auto 28px;
    color: #526078;
    font-family: "Inter", Arial, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.55;
}


/* ==========================================================
   BUTTON
   ========================================================== */

.propview-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 22px;
    border: 1px solid #0069df;
    border-radius: 9px;
    background: #ffffff;
    color: #080b43;
    font-family: "Inter", Arial, sans-serif;
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
    box-sizing: border-box;
    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}

.propview-button i {
    font-size: 13px;
    opacity: 0;
    width: 0;
    transform: translateX(-8px);
    transition:
        opacity 0.3s ease,
        width 0.3s ease,
        transform 0.3s ease;
}

.propview-button:hover {
    background: #075fc1;
    border-color: #075fc1;
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(7, 95, 193, 0.2);
    transform: translateY(-3px);
}

.propview-button:hover i {
    width: 13px;
    opacity: 1;
    transform: translateX(0);
}


/* ==========================================================
   RENTING / SELLING SIMPLE ICONS
   ========================================================== */

.propview-simple-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 130px;
    height: 130px;
    margin: 25px auto 45px;
    border-radius: 50%;
    background: #e4f5fc;
    color: #0764c5;
    font-size: 55px;
    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}

.propview-card:hover .propview-simple-icon {
    transform: scale(1.08) rotate(3deg);
    box-shadow: 0 12px 30px rgba(7, 100, 197, 0.12);
}


/* ==========================================================
   ANIMATIONS
   ========================================================== */

@keyframes propviewHeadingReveal {

    from {
        opacity: 0;
        transform: translateY(-18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes propviewPanelReveal {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes propviewFloatIcon {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-7px);
    }

}


@keyframes propviewChartDraw {

    from {
        opacity: 0;
        stroke-dasharray: 400;
        stroke-dashoffset: 400;
    }

    to {
        opacity: 1;
        stroke-dasharray: 400;
        stroke-dashoffset: 0;
    }

}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1100px) {

    .propview-section {
        padding-left: 20px;
        padding-right: 20px;
    }

    .propview-card-wrapper {
        min-height: auto;
    }

    .propview-card {
        padding: 40px 28px 42px;
    }

    .propview-image-area {
        transform: scale(0.92);
        margin-left: -10px;
        margin-right: -10px;
    }

    .propview-card-content h2 {
        font-size: 25px;
    }

    .propview-card-content p {
        font-size: 15px;
    }

}


/* ==========================================================
   TABLET / SMALL LAPTOP
   ========================================================== */

@media (max-width: 850px) {

    .propview-section {
        padding-top: 40px;
        padding-bottom: 60px;
    }

    .propview-heading {
        margin-bottom: 40px;
    }

    .propview-title {
        font-size: 32px;
    }

    .propview-card-wrapper {
        grid-template-columns: 1fr;
        border-radius: 20px;
    }

    .propview-card {
        min-height: 520px;
        padding: 40px 35px 45px;
        border-right: 0;
        border-bottom: 1px solid #e0e1e5;
    }

    .propview-card:last-child {
        border-bottom: 0;
    }

    .propview-image-area {
        transform: none;
        margin: 0 0 25px;
    }

    .propview-card-content p {
        max-width: 600px;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .propview-section {
        padding: 32px 14px 45px;
    }

    .propview-title {
        font-size: 27px;
        letter-spacing: -0.5px;
    }

    .propview-heading {
        margin-bottom: 35px;
    }

    .propview-tabs {
        width: 100%;
        max-width: 330px;
    }

    .propview-tab {
        flex: 1;
        min-width: 0;
        font-size: 15px;
        padding-bottom: 13px;
    }

    .propview-card {
        min-height: auto;
        padding: 32px 20px 38px;
    }

    .propview-image-area {
        width: 260px;
        height: 220px;
        transform: scale(0.9);
        margin-top: -5px;
        margin-bottom: 8px;
    }

    .propview-floating-icon {
        right: 7px;
        width: 51px;
        height: 51px;
        font-size: 20px;
    }

    .propview-card-content h2 {
        margin-bottom: 17px;
        font-size: 25px;
    }

    .propview-card-content p {
        min-height: 0;
        margin-bottom: 25px;
        font-size: 15px;
        line-height: 1.55;
    }

    .propview-button {
        width: auto;
        min-height: 50px;
        padding: 0 18px;
        font-size: 15px;
    }

    .propview-simple-icon {
        width: 110px;
        height: 110px;
        margin-bottom: 30px;
        font-size: 45px;
    }

}


/* ==========================================================
   VERY SMALL DEVICES
   ========================================================== */

@media (max-width: 390px) {

    .propview-section {
        padding-left: 10px;
        padding-right: 10px;
    }

    .propview-title {
        font-size: 24px;
    }

    .propview-tab {
        font-size: 14px;
    }

    .propview-card {
        padding-left: 15px;
        padding-right: 15px;
    }

    .propview-image-area {
        transform: scale(0.82);
        margin-left: -20px;
        margin-right: -20px;
    }

    .propview-card-content h2 {
        font-size: 23px;
    }

    .propview-card-content p {
        font-size: 14px;
    }

}

/* ===== ROBERT ELITE ESTATES CONTACT BUTTON ===== */

.ree-contact-nav-item {
    list-style: none;
    display: flex;
    align-items: center;
}

.ree-contact-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    color: #ffffff !important;
    background: linear-gradient(135deg, #c49a4a, #4f3a0f);
    border-radius: 8px;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.3px;
    overflow: hidden;
    box-shadow: 0 5px 18px rgba(196, 154, 74, 0.25);
    transition: all 0.35s ease;
    z-index: 1;
    margin-left: 7px;
}

/* Shimmer effect */
.ree-contact-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.35),
        transparent
    );
    transform: skewX(-20deg);
    transition: left 0.6s ease;
    z-index: -1;
}

.ree-contact-btn:hover::before {
    left: 0%;
}

/* Button hover */
.ree-contact-btn:hover {
    color: #ffffff !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(196, 154, 74, 0.40);
}

/* Arrow */
.ree-contact-btn i {
    font-size: 12px;
    transition: transform 0.35s ease;
}

.ree-contact-btn:hover i {
    transform: translateX(5px);
}

/* Small glow animation */
@keyframes reeContactGlow {
    0%, 100% {
        box-shadow: 0 5px 18px rgba(196, 154, 74, 0.20);
    }
    50% {
        box-shadow: 0 7px 25px rgb(155 102 0);
    }
}

.ree-contact-btn {
    animation: reeContactGlow 3s ease-in-out infinite;
}

/* Mobile */
@media (max-width: 768px) {
    .ree-contact-btn {
        padding: 10px 18px;
        font-size: 13px;
    }
}
/* ==========================================================
   ACCESSIBILITY
   ========================================================== */

.propview-tab:focus-visible,
.propview-button:focus-visible {
    outline: 3px solid rgba(0, 105, 223, 0.3);
    outline-offset: 4px;
}


/* Reduce animation when the user requests reduced motion */

@media (prefers-reduced-motion: reduce) {

    .propview-section *,
    .propview-section *::before,
    .propview-section *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

}
	.fa-solid{
		color: rgb(158 124 30);
		padding-right: 5px;
	}
/* ==========================================
   LUXTRUST AGENCIES SECTION
   All classes are uniquely scoped
   ========================================== */

.luxtrust-agencies-section {
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    overflow: hidden;
}

.luxtrust-agencies-inner {
    width: 100%;
    min-height: 165px;
    box-sizing: border-box;

    background: #f4f3ef;

    border-radius: 0 0 40px 40px;

    display: flex;
    align-items: center;

    padding: 27px 5% 28px 4.8%;

    gap: 45px;

    position: relative;

    animation: luxtrustFadeUp 0.8s ease both;
}


/* ==========================================
   HEADING
   ========================================== */

.luxtrust-agencies-heading {
    flex: 0 0 245px;
    position: relative;
    z-index: 2;
}

.luxtrust-agencies-heading h2 {
    margin: 0;

    color: #263e56;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 22px;
    line-height: 1.4;

    font-weight: 600;

    letter-spacing: 0.6px;

    text-align: left;
}


/* ==========================================
   LOGO AREA
   ========================================== */

.luxtrust-agencies-logos {
    flex: 1;

    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 25px;
}


/* ==========================================
   GENERIC LOGO
   ========================================== */

.luxtrust-agency-logo {
    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    position: relative;

    transition:
        transform 0.35s ease,
        opacity 0.35s ease,
        filter 0.35s ease;
}

.luxtrust-agency-logo:hover {
    transform: translateY(-4px) scale(1.03);
    filter: brightness(0.85);
}


/* ==========================================
   GENERIC LOGO TYPOGRAPHY
   ========================================== */

.luxtrust-logo-main {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    color: #111;

    white-space: nowrap;
}

.luxtrust-logo-sub {
    font-family:
        Arial,
        Helvetica,
        sans-serif;

    color: #222;

    white-space: nowrap;

    letter-spacing: 0.25px;
}


/* ==========================================
   SOTHEBY'S
   ========================================== */

.luxtrust-sothebys {
    flex-direction: column;
    gap: 1px;
}

.luxtrust-sothebys .luxtrust-logo-main {
    font-size: 20px;
    line-height: 1;
}

.luxtrust-sothebys .luxtrust-logo-sub {
    font-size: 5px;
    letter-spacing: 0.6px;
}


/* ==========================================
   CHRISTIE'S
   ========================================== */

.luxtrust-christies {
    flex-direction: column;
    gap: 1px;
}

.luxtrust-christies .luxtrust-logo-main {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 19px;
    font-weight: 500;

    line-height: 1;
}

.luxtrust-christies .luxtrust-logo-sub {
    font-size: 5px;
    letter-spacing: 0.45px;
}


/* ==========================================
   KNIGHT FRANK
   ========================================== */

.luxtrust-knight {
    gap: 7px;
}

.luxtrust-knight-symbol {
    width: 28px;
    height: 28px;

    display: grid;

    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;

    gap: 2px;
}

.luxtrust-knight-symbol span {
    background: #e4003b;

    display: block;

    transition:
        transform 0.3s ease,
        opacity 0.3s ease;
}

.luxtrust-knight-symbol span:nth-child(1) {
    border-radius: 2px 0 0 0;
}

.luxtrust-knight-symbol span:nth-child(2) {
    border-radius: 0 2px 0 0;
}

.luxtrust-knight-symbol span:nth-child(3) {
    border-radius: 0 0 0 2px;
}

.luxtrust-knight-symbol span:nth-child(4) {
    border-radius: 0 0 2px 0;
}

.luxtrust-knight:hover
.luxtrust-knight-symbol span {
    transform: rotate(5deg);
}

.luxtrust-knight-text {
    display: flex;
    flex-direction: column;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 13px;
    line-height: 0.95;

    color: #e4003b;
}


/* ==========================================
   ENGEL & VÖLKERS
   ========================================== */

.luxtrust-engel {
    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 12px;

    letter-spacing: -0.3px;

    color: #252525;

    white-space: nowrap;
}

.luxtrust-engel span {
    font-size: 11px;
    padding: 0 1px;
}


/* ==========================================
   BARNES
   ========================================== */

.luxtrust-barnes {
    flex-direction: column;
    gap: 1px;
}

.luxtrust-barnes .luxtrust-logo-main {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 24px;
    letter-spacing: 0.5px;
}

.luxtrust-barnes .luxtrust-logo-sub {
    font-size: 4.5px;
    letter-spacing: 0.7px;
}


/* ==========================================
   COLDWELL BANKER
   ========================================== */

.luxtrust-coldwell {
    gap: 8px;
}

.luxtrust-coldwell-symbol {
    width: 26px;
    height: 26px;

    border: 1.5px solid #111;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
}

.luxtrust-coldwell-inner {
    width: 18px;
    height: 18px;

    border: 1px solid #111;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    font-family: Georgia, serif;

    font-size: 7px;
    font-weight: bold;
}

.luxtrust-coldwell-text {
    display: flex;
    flex-direction: column;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 13px;

    line-height: 1;
    color: #111;
}


/* ==========================================
   JOHN TAYLOR
   ========================================== */

.luxtrust-johntaylor {
    flex-direction: column;
    gap: 2px;
}

.luxtrust-jt-signature {
    font-family:
        "Times New Roman",
        Georgia,
        serif;

    font-size: 13px;

    font-style: italic;

    color: #222;
}

.luxtrust-jt-name {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 8px;

    letter-spacing: 1.1px;

    white-space: nowrap;
}

.luxtrust-jt-sub {
    font-family: Arial, sans-serif;

    font-size: 4px;

    letter-spacing: 0.5px;

    white-space: nowrap;
}


/* ==========================================
   FINE & COUNTRY
   ========================================== */

.luxtrust-finecountry {
    gap: 7px;
}

.luxtrust-fc-icon {
    display: flex;

    align-items: flex-end;

    gap: 2px;

    height: 29px;
}

.luxtrust-fc-icon span {
    width: 4px;

    background: #a18c58;

    display: block;

    border-radius: 1px 1px 0 0;
}

.luxtrust-fc-icon span:nth-child(1) {
    height: 20px;
}

.luxtrust-fc-icon span:nth-child(2) {
    height: 27px;
}

.luxtrust-fc-icon span:nth-child(3) {
    height: 20px;
}

.luxtrust-fc-text {
    display: flex;
    flex-direction: column;

    color: #282828;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 11px;

    line-height: 0.95;

    white-space: nowrap;
}


/* ==========================================
   ANIMATION
   ========================================== */

@keyframes luxtrustFadeUp {

    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* ==========================================
   LARGE TABLETS
   ========================================== */

@media (max-width: 1200px) {

    .luxtrust-agencies-inner {
        padding-left: 35px;
        padding-right: 35px;

        gap: 30px;
    }

    .luxtrust-agencies-heading {
        flex-basis: 190px;
    }

    .luxtrust-agencies-heading h2 {
        font-size: 18px;
    }

    .luxtrust-agencies-logos {
        gap: 17px;
    }

    .luxtrust-sothebys .luxtrust-logo-main {
        font-size: 17px;
    }

    .luxtrust-christies .luxtrust-logo-main {
        font-size: 16px;
    }

    .luxtrust-barnes .luxtrust-logo-main {
        font-size: 20px;
    }

    .luxtrust-knight-text,
    .luxtrust-coldwell-text {
        font-size: 11px;
    }

    .luxtrust-engel {
        font-size: 10px;
    }

}


/* ==========================================
   TABLETS
   ========================================== */

@media (max-width: 900px) {

    .luxtrust-agencies-inner {
        min-height: auto;

        padding: 28px 30px;

        flex-direction: column;

        align-items: flex-start;

        gap: 25px;

        border-radius: 0 0 30px 30px;
    }

    .luxtrust-agencies-heading {
        flex-basis: auto;
        width: 100%;
    }

    .luxtrust-agencies-heading h2 {
        font-size: 19px;
        line-height: 1.3;
    }

    .luxtrust-agencies-logos {
        width: 100%;

        display: grid;

        grid-template-columns:
            repeat(4, 1fr);

        row-gap: 25px;

        column-gap: 20px;

        justify-items: center;
    }

}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 600px) {

    .luxtrust-agencies-inner {
        padding: 26px 20px 30px;

        gap: 24px;

        border-radius: 0 0 24px 24px;
    }

    .luxtrust-agencies-heading h2 {
        font-size: 17px;

        letter-spacing: 0.5px;
    }

    .luxtrust-agencies-logos {
        grid-template-columns:
            repeat(2, 1fr);

        gap: 27px 18px;

        justify-items: center;
    }

    .luxtrust-agency-logo {
        transform: scale(0.95);
    }

    .luxtrust-agency-logo:hover {
        transform:
            translateY(-3px)
            scale(1);
    }

}


/* ==========================================
   SMALL MOBILE
   ========================================== */

@media (max-width: 380px) {

    .luxtrust-agencies-inner {
        padding-left: 15px;
        padding-right: 15px;
    }

    .luxtrust-agencies-heading h2 {
        font-size: 15px;
    }

    .luxtrust-agencies-logos {
        column-gap: 10px;
        row-gap: 22px;
    }

    .luxtrust-sothebys .luxtrust-logo-main {
        font-size: 15px;
    }

    .luxtrust-christies .luxtrust-logo-main {
        font-size: 14px;
    }

    .luxtrust-barnes .luxtrust-logo-main {
        font-size: 18px;
    }

    .luxtrust-knight-text {
        font-size: 10px;
    }

    .luxtrust-engel {
        font-size: 9px;
    }

    .luxtrust-coldwell-text {
        font-size: 10px;
    }

}


/* ==========================================
   REDUCED MOTION ACCESSIBILITY
   ========================================== */

@media (prefers-reduced-motion: reduce) {

    .luxtrust-agencies-inner {
        animation: none;
    }

    .luxtrust-agency-logo {
        transition: none;
    }

}


body {
color: #444;
font-family: 'Exo', sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 28px;
background:#fff;
overflow-x:hidden;
}
html,
body { height: 100% }
h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: 0px;
  margin-top: 0px;
  font-family: 'Exo', sans-serif;
  color: #1d293e;
  font-weight: 400;
}

a {
font-family: 'Exo', sans-serif;
text-decoration: none;
-webkit-transition: all 0.2s ease 0s;
-o-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
color: rgb(255, 234, 196);
}
a:hover {
    color: #fff;
    text-decoration: none;
}
a:focus {
    outline: none;
    text-decoration: none;
}
p {
    margin-bottom: 0;
}
ul,
li {
    margin: 0;
    padding: 0;
}
fieldset {
    border: 0 none;
    margin: 0 auto;
    padding: 0;
}
/*START PRELOADER DESIGN*/
.preloader {
    background: #fff;
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 99999;
}

.status-mes {
    width: 50px;
    height: 50px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -40px 0 0 -40px;
    font-size: 10px;
    text-indent: -12345px;
    border-top: 8px solid rgba(0, 0, 0, 0.08);
    border-right: 8px solid rgba(0, 0, 0, 0.08);
    border-bottom: 8px solid rgba(0, 0, 0, 0.08);
    border-left: 8px solid #35ac39;
    border-radius: 50%;
    -webkit-animation: spinner 700ms infinite linear;
    animation: spinner 700ms infinite linear;
    z-index: 10000;
}

@-webkit-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
.no-padding { padding: 0 }
/*END PRELOADER DESIGN*/
.section-padding { padding:80px 0 }
/*START SECTION TITLE DESIGN*/
.section-title { margin-bottom: 60px }
.section-title h2 {
	margin-bottom: 0;
	margin-top: 0;
	text-transform: capitalize;
	font-weight: 600;
	font-size: 40px;
}
.section-title div {
background: #35ac39 none repeat scroll 0 0;
display: block;
height: 2px;
margin: 20px auto 0;
overflow: hidden;
width: 50px;
}
/*END SECTION TITLE DESIGN*/
/*START SCROLL TO TOP*/
.topcontrol {
background: #35ac39 none repeat scroll 0 0;
border-radius: 5px;
bottom: 5px;
-webkit-box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.2);
color: #fff;
cursor: pointer;
font-size: 22px;
height: 35px;
line-height: 33px;
opacity: 1;
position: fixed;
right: 5px;
text-align: center;
-webkit-transition: all 0.2s ease 0s;
-o-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
width: 35px;
}
.topcontrol:hover {
    background: #222;
    color: #fff;
}
/*END SCROLL TO TOP*/
/*
* ----------------------------------------------------------------------------------------
* 01.END GENERAL STYLE
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 02.START BOOTSTRAP NAVIGATION OVERRIDES
* ----------------------------------------------------------------------------------------
*/

.navbar-default {
    background: #fff;
    border: medium none;
    border-radius: 0;
    margin-bottom: 0;
    padding: 20px 0;
    -webkit-transition: all 0.2s ease-in-out 0s;
            -o-transition: all 0.2s ease-in-out 0s;
            transition: all 0.2s ease-in-out 0s;
    width: 100%;
}
.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:hover,
.navbar-default .navbar-nav>.active>a:focus {
    color: #35ac39 !important;
    background-color: transparent;
}
.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:hover,
.navbar-default .navbar-nav>.open>a:focus {
    color: #35ac39 !important;
    background-color: transparent;
}
.navbar-brand { padding: 0px }
.navbar-brand img { width: 150px;}

.navbar-default .navbar-collapse, .navbar-default .navbar-form {
  border-color: #fff;
}
.menu-top li a {
    color: #1d293e  !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
}
.menu-top li a:hover { color: #35ac39!important }
.navbar-default.menu-shrink {
    background-color: #fff;
    -webkit-box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.1);
            box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.1);
    padding: 10px 0;
    width: 100%;
}
/*START DROPDOWN MENU*/
.menu_dropdown  ul { list-style-type: none }
.menu_dropdown  li ul.sub-menu,
.menu_dropdown  ul li ul.sub-menu li ul.sub-menu {
    background: #fff;
    left: 10px;
    opacity: 0;
    filter: alpha(opacity=0);
    padding: 15px;
    position: absolute;
	-webkit-box-shadow:10px 15px 18px rgba(23, 23, 36, 0.15);
	        box-shadow:10px 15px 18px rgba(23, 23, 36, 0.15);
    top: 115%;
    -webkit-transition: all 0.3s ease 0s;
            -o-transition: all 0.3s ease 0s;
            transition: all 0.3s ease 0s;
    visibility: hidden;
    width: 200px;
    z-index: -99;
}
.menu_dropdown  ul li ul.sub-menu li ul.sub-menu {
    top: 0;
    left: 100%;
    -webkit-transition: all 0.5s ease 0s;
            -o-transition: all 0.5s ease 0s;
            transition: all 0.5s ease 0s;
}
.menu_dropdown  ul li ul.sub-menu li {
    padding: 0;
    width: 100%;
}
.menu_dropdown  ul li:hover ul.sub-menu {
    top: 100%;
    opacity: 1;
    filter: alpha(opacity=100);
    z-index: 999;
    visibility: visible;
}
.menu_dropdown  ul.nav > li ul li:hover ul.sub-menu {
    opacity: 1;
    filter: alpha(opacity=100);
    visibility: visible;
}
.menu_dropdown  ul li ul.sub-menu li a {
border-bottom: 1px solid #eee;
color: #1d293e !important;
cursor: pointer;
display: block;
font-size: 14px;
font-weight: 600;
padding: 13px 10px 12px;
text-transform: uppercase;
}
.menu_dropdown  ul li ul.sub-menu li:last-child a{border-bottom:none;}
.menu_dropdown  ul li:hover ul.sub-menu li a:hover {
    color: #35ac39!important;
    text-decoration: none;
}
/*END DROPDOWN MENU*/
.navbar-default.menu-shrink li a { color: #282828 !important }
.navbar-default.menu-shrink li a:hover { color: #35ac39 !important }
.navbar-default .navbar-toggle { background: #fff none repeat scroll 0 0 }
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus { background-color: #fff }
.navbar-default .navbar-toggle .icon-bar { background-color: #35ac39 }
/*
* ----------------------------------------------------------------------------------------
* 02.END BOOTSTRAP NAVIGATION OVERRIDES
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 03.START HOME DESIGN
* ----------------------------------------------------------------------------------------
*/
.home_bg {
    height: 700px;
    position: relative;
}
.home_bg:before {
    background: rgba(0, 0, 0, 0.6);
    content: "";
    height: 100%;
    filter: alpha(opacity=80);
    position: absolute;
    width: 100%;
}
.hero-text h2 {
	color: #fff;
	font-size: 60px;
	font-weight: 700;
	line-height: 70px;
	padding-top: 250px;
	text-transform: capitalize;
}
.hero-text p {
	color: #fff;
	width: 80%;
	margin: auto;
}
.home_btn{
margin-top: 30px;
}
.home_btn a {
	background: transparent none repeat scroll 0 0;
	border: 2px solid #fff;
	border-radius: 2px;
	display: inline-block;
	font-size: 16px;
	font-weight: 500;
	margin: 0 10px 15px;
	padding: 9px 30px;
	text-transform: capitalize;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

.home_btn_color_one{background: #fff none repeat scroll 0 0 !important;color: #1d293e;}
.home_btn_color_one:hover{background: #1d293e!important;color:#fff;border: 2px solid #1d293e !important;}
.home_btn_color_two{background: #35ac39 none repeat scroll 0 0 !important;border: 2px solid #35ac39 !important;color: #fff;}
.home_btn_color_two:hover{background: #1d293e!important;color:#fff;border: 2px solid #1d293e !important;}
.home_map iframe{
width:100%;
height:650px;
}

/*START HOME SLIDER DESIGN*/
.flexslider .slides > li:first-child {
	display: block; 
}
.flexslider.loading .slides > li:first-child {
	opacity: 1 !important;
} 
.flexslider{
	position: relative;	
	margin: 0;
	padding: 0;
	border: none;
	-webkit-box-shadow: none;
	        box-shadow: none;
	border-radius: 0;
	overflow: hidden;
	background: none;
}
#home-slider .slides li{
	height: 700px;
	background-size: cover!important;
	 position: relative;
}
#home-slider .slides li:after {
    position: absolute;
    background:rgba(0, 0, 0, 0.5);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    content: "";
    z-index: -1;
}
.flex-control-nav {
  width: 20px;
  bottom: auto;
  z-index: 20;
  top: 40%;
  right: 20px; 
 }

.flex-control-nav li {
  display: block;
  margin: 0 0 6px 0; 
 }

.flex-control-paging li a {
  background: transparent;
  border: 2px solid #FFF;
  border-radius: 100%;
  -webkit-box-shadow: none;
          box-shadow: none; 
 }
.flex-control-paging li a.flex-active,
.flex-control-paging li a:hover {
  background: #FFF;
  border-color: #FFF; 
}
#home-slider.flexslider.loading {
  position: relative; 
}
#home-slider.flexslider.loading:after {
    content: ' ';
    position: absolute;
    width: 30px;
    height: 30px;
    right: 20px;
    top: 40%;
    margin: 0 0 0 -15px;
    border: 4px solid #3cd2ad;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spin 1s linear infinite;
    animation: spin 1s linear infinite; 
}
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

/*END HOME SLIDER DESIGN*/
/*
* ----------------------------------------------------------------------------------------
* 03.END HOME DESIGN
* ----------------------------------------------------------------------------------------
*/
.search_bar{}
.single_search{}
.single_search select {
	background: #e0eff4;
	border: 1px solid #e0eff4;
	margin-bottom: 20px;
	padding: 0 25px;
	width: 260px;
	height: 52px;
}
@media only screen and (max-width:768px) { 
.single_search select {width: 100%;}
}
.single_search select option{
 padding: 10px;
}
.search_btn{margin-top: 30px;}
.btn-serach-bg {
	background: #35ac39 none repeat scroll 0 0;
	border: 1px solid #35ac39;
	-webkit-box-shadow: 0 1px 20px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 1px 20px rgba(0, 0, 0, 0.2);
	color: #fff;
	font-size: 16px;
	padding: 10px 40px;
	text-transform: capitalize;
	-webkit-transition: all 0.2s ease 0s;
	-o-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
}
.btn-serach-bg:hover,
.btn-serach-bg:focus {
    background: #1d293e;
    border: 1px solid #1d293e;
    color: #fff;
}
/*
* ----------------------------------------------------------------------------------------
* 04.START PROPERTY DESIGN
* ----------------------------------------------------------------------------------------
*/
.template_property{background:rgb(247 247 247);padding-bottom:5px}

.single_property {
	background: #fff none repeat scroll 0 0;
	-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
	        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
	margin-bottom: 30px;
	padding: 20px;
	border-radius: 5px;
}

.single_property img{}
.single_property_price{
border-top: 1px solid #eee;
color: #1d293e;
font-weight: 500;
padding-top: 10px;
text-transform: capitalize;
}
.single_property_price span {
	font-size: 18px;
	font-weight: 700;
	color: #35ac39;
	display: block;
	margin: 5px 0;
}
.single_property_content {}
.single_property_content h4 {
margin-bottom: 10px;
text-transform: uppercase;
}
.single_property_content h4 a {
	color: #1d293e;
	-webkit-transition: all 0.2s ease 0s;
	-o-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
	text-transform: capitalize;
	font-weight: 500;
	font-size: 22px;
}
.single_property_content h4 a:hover{color: #35ac39;}
.single_property_content p{margin-bottom: 15px;}
.single_property_price i{color:#ffaf00;}
.single_property_description{
background: #2a364d;
padding: 15px 10px;
margin-bottom:20px;
}
.single_property_description span {
	color: #fff;
	margin-right: 10px;
	font-size: 14px;
	line-height: 32px;
}
.single_property_description i{color:#fff;margin-right:3px;}
/*ABOUT SLIDER*/
.property_single_details_slide{}


.property_single_details_description {margin-top:20px;}
.property_single_details_description h4 {
	text-transform: capitalize;
	font-weight: 600;
	border-bottom: 1px solid #eee;
	padding-bottom: 10px;
	font-size: 22px;
}

.property_single_details_price{margin: 40px 0;
overflow: hidden;}
.property_single_details_price h1 {
	text-transform: capitalize;
	font-weight: 500;
	margin-bottom: 20px;
}
.property_single_details_price h4{color: #35ac39;
font-size: 28px;}
.property_single_details_price  p {
  margin-bottom: 10px;
}
.property_single_details_price ul{list-style:none;}
.property_single_details_price ul li{float: left;
margin-right: 20px;}
.property_single_details_price ul li i{color:#35ac39;}

.property_map{margin: 40px 0;}
.property_map h4{
border-bottom: 1px solid #eee;
margin-bottom: 20px;
padding-bottom: 10px;
font-weight: 500;
text-transform: uppercase;
}

.recent_single {
    margin: 40px 0;
    overflow: hidden;
}
.recent_single  a:hover { color: #f94481 }
.recent_single img {
    width: 120px;
    height: 80px;
    float: left;
    overflow: hidden;
    margin-right: 10px;
}
.recent_single h4 {
    line-height: 25px;
    font-size: 16px;
}
@media only screen and (max-width:991px) { 
    .recent_single h4 { font-size: 12px }
    
}
@media only screen and (max-width:768px) { 
    .recent_single h4 { font-size: 12px }
}
@media only screen and (max-width:480px) { 
    .recent_single h4 { font-size: 12px }
}
@media only screen and (max-width:360px) { 
    .recent_single h4 { font-size: 12px }
}
@media only screen and (max-width:320px) { 
    .recent_single h4 { font-size: 12px }
}
.recent_single span i {
    color: #f94481;
    margin-right: 10px;
}

.property_info{
border: 1px solid #eee;
margin-top: 40px;
padding: 40px;
}
.single_property_list{}
.single_property_list h4{margin-bottom: 30px;
text-transform: uppercase;font-weight: 500;}
.single_property_list ul{list-style:none;}
.single_property_list ul li i{margin-right: 10px;color:#35ac39 ;}
.single_property_list ul li{line-height: 40px;}
.single_property_list_mr{margin-right:70px;float: left;}

.single_property_form{}
.single_property_form h4 {
	margin-bottom: 30px;
	font-weight: 600;
	border-bottom: 1px solid #eee;
	padding-bottom: 10px;
	text-transform: capitalize;
	font-size: 26px;
}

.single_property_form_agent{margin-top:60px;}
.single_property_form_agent_profile{
border: 1px solid #eee;
padding: 10px ;
margin-bottom: 30px;
text-align: center;
}
.single_property_form_agent_profile img{margin-bottom: 10px;}
.single_property_form_agent_profile h4 {
	font-size: 16px;
	font-weight: 500;
	margin-top: 15px;
}
.single_property_form_agent_profile h4 i{color:#35ac39;}
.single_property_form_agent_profile h4 a{color:#35ac39;font-size: 16px;}


.carousel .slide-control {
background: #35ac39 none repeat scroll 0 0;
border-radius: 30px;
color: #fff;
font-size: 30px;
height: 45px;
line-height: 40px;
margin-top: -25px;
position: absolute;
text-align: center;
top: 50%;
width: 45px;
}
.carousel .slide-control.right { left: auto }
.carousel .left.slide-control {
    left: 100px;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.carousel .right.slide-control {
    right: 100px;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.carousel:hover .left.slide-control {
    left: 30px;
    opacity: .9;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=9)";
}
.carousel:hover .right.slide-control {
    right: 30px;
    opacity: .9;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=9)";
}
.carousel.slide-control:focus {
    color: #fff;
    opacity: .25;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=25)";
}
/*ABOUT SLIDER*/
/*
* ----------------------------------------------------------------------------------------
* 04.END PROPERTY DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 05.START ABOUT US DESIGN
* ----------------------------------------------------------------------------------------
*/
.about-us-content h2 {
	font-size: 30px;
	margin: 0 0 25px;
	text-transform: capitalize;
	font-weight: 600;
}
@media only screen and (max-width:320px) { 
    .about-us-content h2 { font-size: 40px }
}
.about-us-content p { margin-bottom: 25px }
.about-us-content ul{list-style: outside none none;
margin-bottom: 30px;}
.about-us-content ul li {line-height: 36px;}
.about-us-content ul li i{color:#35ac39;margin-right:10px}
@media only screen and (max-width:768px) { 
    .about_img { margin-top: 30px }
}
.H5CONTENT{
    color: white;
}
.H2HEAD{
color: wheat;
}
.about-us-content a {
	background: #6d5600;
	border: 3px solid #012d03;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	font-size: 18px;
	overflow: hidden;
	padding: 12px 40px;
	font-weight: 600;
	text-transform: capitalize;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.15);
	box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.15);
}
.about-us-content a:hover {
	background: #6d5600;
	border: 3px solid #012d03;
    color: #fff;
	-webkit-box-shadow: none;
	        box-shadow: none;
}
/*
* ----------------------------------------------------------------------------------------
* 05.END ABOUT US DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 06.START HOW IT WORKS DESIGN
* ----------------------------------------------------------------------------------------
*/
.about_video {
padding-bottom: 120px;
padding-top: 100px;
position: relative;
}
.about_video::before {
	background: #020928;
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.6;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
	position: absolute;
	top: 0;
	width: 100%;
}
.our_video h1 {
	color: #fff;
	font-weight: 600;
	margin-bottom: 0;
	margin-top: 80px;
	margin-bottom: 30px;
	font-size: 50px;
}
@media only screen and (max-width:320px) { 
    .video-container h1 { font-size: 20px }
}
.mfp-iframe-holder .mfp-content {
  line-height: 0;
  margin-top: 55px;
  max-width: 900px;
  width: 100%;
}
.our_video a  {
background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
border: 10px solid rgba(0, 0, 0, 0.05);
border-radius: 100px;
color: #35ac39;
display: block;
font-size: 24px;
height: 100px;
line-height: 85px;
margin-bottom: auto;
margin-left: auto;
margin-right: auto;
text-align: center;
width: 100px;
}
/*
* ----------------------------------------------------------------------------------------
* 06.END HOW IT WORKS DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 07.START OUR TEAM DESIGN
* ----------------------------------------------------------------------------------------
*/
.our_team {
  background: #e0eff4 none repeat scroll 0 0;
}
.single_team {
	background: #fff none repeat scroll 0 0;
	border-bottom: 4px solid #35ac39;
	-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
	        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
	padding: 15px;
	border-radius: 5px;
}
.single_team img{}
.single_team h3 {
	text-transform: capitalize;
	font-size: 18px;
	margin-top: 15px;
	margin-bottom: 5px;
	font-weight: 600;
}
.single_team p {
	margin-bottom: 15px;
	text-transform: capitalize;
	font-size: 15px;
	letter-spacing: 0;
	font-weight: 400;
}
.single_team ul{
margin-bottom: 10px;
text-align:center;
}
.single_team ul li{display:inline-block}
.single_team ul li a{
border-radius: 30px;
color: #fff;
display: block;
height: 40px;
line-height: 40px;
margin: 0 4px;
-webkit-transition: all 0.3s ease 0s;
-o-transition: all 0.3s ease 0s;
transition: all 0.3s ease 0s;
width: 40px;
}
.st-facebook{background:#3B5998;}
.st-twitter{background:#1A90D9;}
.st-instagram{background:#FF5252;}

/*
* ----------------------------------------------------------------------------------------
* 07.START OUR TEAM DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 08.START OUR AGENTS DESIGN
* ----------------------------------------------------------------------------------------
*/
.team_grid figure {
    position: relative;
    overflow: hidden;
    text-align: center;
    cursor: pointer;
}
.team_grid figure img {
    position: relative;
    display: block;
    height: 100%;
    width: 100%;
    opacity: 0.99;
    filter: alpha(opacity=80);
}
.team_grid figure figcaption {
    padding: 20px;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.25em;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.team_grid figure figcaption,
.team_grid figure figcaption > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.team_grid figure figcaption > a {
    z-index: 1000;
    text-indent: 200%;
    white-space: nowrap;
    font-size: 0;
    opacity: 0;
    filter: alpha(opacity=0);
}
.team_grid figure h4 {
    word-spacing: -0.15em;
    font-weight: 300;
}
.team_grid figure h4,
.team_grid figure p { margin: 0 }
.team_grid figure p {
    font-size: 16px;
    letter-spacing: 1px;
}
.team_grid figure p a {color: #fff;
letter-spacing: 0;}
figure.effect-sadie figcaption:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(28, 186, 200, 0)), color-stop(75%, rgba(28, 186, 200, 0.9)));
    background: -o-linear-gradient(top, rgba(28, 186, 200, 0) 0%, rgba(28, 186, 200, 0.9) 75%);
    background: linear-gradient(to bottom, rgba(28, 186, 200, 0) 0%, rgba(28, 186, 200, 0.9) 75%);
    content: '';
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transform: translate3d(0,50%,0);
    transform: translate3d(0,50%,0);
}
figure.effect-sadie h4 {
background: #fff none repeat scroll 0 0;
color: #222;
font-size: 14px;
left: 20%;
letter-spacing: 2px;
opacity: 0;
padding: 15px 0;
position: absolute;
top: 50%;
-webkit-transform: translate3d(0px, -50%, 0px);
        transform: translate3d(0px, -50%, 0px);
-webkit-transition: color 0.35s ease 0s, -webkit-transform 0.35s ease 0s;
transition: color 0.35s ease 0s, -webkit-transform 0.35s ease 0s;
-o-transition: transform 0.35s ease 0s, color 0.35s ease 0s;
transition: transform 0.35s ease 0s, color 0.35s ease 0s;
transition: transform 0.35s ease 0s, color 0.35s ease 0s, -webkit-transform 0.35s ease 0s;
width: 60%;
}
@media only screen and (max-width:768px) { 
    figure.effect-sadie h4 { font-size: 12px }
}
@media only screen and (max-width:480px) { 
    figure.effect-sadie h4 { font-size: 18px }
}
@media only screen and (max-width:320px) { 
    figure.effect-sadie h4 { font-size: 14px }
}
figure.effect-sadie figcaption:before,
figure.effect-sadie p {
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, -webkit-transform 0.35s;
    -o-transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
}
figure.effect-sadie p {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 2em;
    width: 100%;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transform: translate3d(0,10px,0);
    transform: translate3d(0,10px,0);
}
figure.effect-sadie:hover h4 {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
    transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
}
figure.effect-sadie:hover figcaption:before,
figure.effect-sadie:hover p {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}
.portfolio_btn { padding-top: 50px }

/*project modal*/
.modal-dialog {
  margin: 80px auto 30px;
}
.modal-title {
  color: #1d293e;
  margin: 0;
  text-transform: uppercase;
}
.modal-content{
	padding: 10px 30px;
	border-radius: 0px;
}
.modal-body{
	margin-bottom: 15px;
}
.modal-body h4{}
.modal-body p{
	margin: 10px 0px 15px;
}

.template_agent{padding-top:60px;padding-bottom:30px;}
.agents_details_image{}
.agents_details_image img{
float: left;
margin-right: 20px;
width: 200px;
}
.agents_details_content{}
.agents_details_content h4{
text-transform: uppercase;
overflow: hidden;
}
.agents_details_content h5{
border-bottom: 1px solid #eee;
color: #35ac39;
margin-bottom: 20px;
overflow: hidden;
padding-bottom: 10px;
text-transform: uppercase;
}
.agents_details_content p{
overflow: hidden;
margin-top: 0px;
}
.agents_details_content i{margin-right:10px;color:#000;}
.agent_social ul li{display: inline-block;}
.agent_social ul li a {
	background: #e0eff4;
	border-radius: 30px;
	color: #1d293e;
	display: block;
	height: 40px;
	line-height: 40px;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	width: 40px;
	text-align: center;
	margin: 0 5px;
}
.agent_social ul li a i {
  margin-right: 0;
}
.agent_social ul li a:hover{background:#35ac39;color:#fff;}

/*End project modal*/

.template_agent{background:#e0eff4;}
.single_agent {
	background: #fff none repeat scroll 0 0;
	-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
	        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
	margin-bottom: 30px;
	overflow: hidden;
	padding: 40px;
}
.single_agent_image img{
float: left;
margin-right: 20px;
width: 270px;
}
.single_agent_content{

}
.agent_social {
  margin-top: 30px;
  overflow: hidden;
}
.single_agent_content h4{
text-transform: uppercase;
overflow: hidden;
font-weight: 600;
}
.single_agent_content h5 {
	border-bottom: 1px solid #eee;
	color: #35ac39;
	margin-bottom: 20px;
	overflow: hidden;
	padding-bottom: 10px;
	text-transform: capitalize;
	font-size: 14px;
	font-weight: 500;
}
.single_agent_content h6{
color: #777;
font-size: 16px;
line-height: 30px;
margin-bottom: 20px;
overflow: hidden;
}
.single_agent_content p{
line-height: 36px;
margin-top: 0;
overflow: hidden;
}
.single_agent_content i{margin-right:10px;color:#000;}
/*
* ----------------------------------------------------------------------------------------
* 08.END OUR AGENTS DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 09.START PORTFOLIO DESIGN
* ----------------------------------------------------------------------------------------
*/
.works_area{padding-top:60px;padding-bottom:50px;}
.portfolio-filters { margin-bottom: 60px }
.portfolio-filters li.active {
	color: #fff;
	background: #35ac39;
	border-radius: 500px;
	padding: 8px 30px;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
.portfolio-filters li {
	color: #1d293e;
	cursor: pointer;
	display: inline-block;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	margin-right: 5px;
	padding: 8px 30px;
	text-transform: capitalize;
	-webkit-transition: all 0.4s ease 0s;
	-o-transition: all 0.4s ease 0s;
	transition: all 0.4s ease 0s;
}
@media only screen and (max-width:480px) { 
    .portfolio-filters li { 
	padding: 8px 24px;
	margin-bottom:10px 
}
}

.portfolio-filters li:hover {
	color: #fff;
	background: #35ac39;
	border-radius: 500px;
	padding: 8px 30px;
}
.portfolio-items-list .mix {
    display: none;
    opacity: 0;
    filter: alpha(opacity=0);
}
.grid {
  margin-bottom: 30px;
}
.grid figure {
    background: #35ac39 none repeat scroll 0 0;
    overflow: hidden;
    position: relative;
}
.grid figure img {
    position: relative;
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
}
.grid figure figcaption {
    padding: 2em;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.25em;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.grid figure figcaption,
.grid figure figcaption > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.grid figure figcaption > a {
    z-index: 1000;
    text-indent: 200%;
    white-space: nowrap;
    font-size: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
}
.grid figure h2 span { font-weight: 700 }
.grid figure h2,
.grid figure p { margin: 0 }
.grid figure p {
    letter-spacing: 1px;
    font-size: 68.5%;
}
.effect-apollo p a {
	color: #fff;
	font-size: 18px;
	text-transform: capitalize;
	font-weight: 600;
}
figure.effect-apollo {background: rgba(0,0,0,0.9);}
figure.effect-apollo img {
    opacity: 0.95;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=95)";
    filter: alpha(opacity=95);
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, -webkit-transform 0.35s;
    -o-transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: scale3d(1.05,1.05,1);
    transform: scale3d(1.05,1.05,1);
}
figure.effect-apollo figcaption:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.8);
    content: '';
    -webkit-transition: -webkit-transform 0.6s;
    transition: -webkit-transform 0.6s;
    -o-transition: transform 0.6s;
    transition: transform 0.6s;
    transition: transform 0.6s, -webkit-transform 0.6s;
    -webkit-transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-100%,0);
    transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-100%,0);
}
figure.effect-apollo p {
border-right: 4px solid #fff;
bottom: 0;
margin: 3em;
max-width: 185px;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
padding: 0 1em;
position: absolute;
right: 0;
text-align: right;
-webkit-transition: opacity 0.35s ease 0s;
-o-transition: opacity 0.35s ease 0s;
transition: opacity 0.35s ease 0s;
}
figure.effect-apollo h4{ text-align: left;color:#fff;position: absolute; }
figure.effect-apollo:hover img {
    opacity: 0.6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    filter: alpha(opacity=60);
    -webkit-transform: scale3d(1,1,1);
    transform: scale3d(1,1,1);
}
figure.effect-apollo:hover figcaption:before {
    -webkit-transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,100%,0);
    transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,100%,0);
}
figure.effect-apollo:hover p {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    -webkit-transition-delay: 0.1s;
    -o-transition-delay: 0.1s;
       transition-delay: 0.1s;
}
.portfolio_btn { padding-top: 50px }

.btn-portfolio-bg {
background: #35ac39 none repeat scroll 0 0 !important;
border: 1px solid #35ac39;
border-radius: 3px;
-webkit-box-shadow: none;
        box-shadow: none;
color: #fff;
font-size: 12px;
padding: 12px 30px;
text-transform: uppercase;
-webkit-transition: all 0.2s ease 0s;
-o-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
}
.btn-portfolio-bg:hover,
.btn-portfolio-bg:focus {
    background: #1d293e!important;
    color: #fff;
    border: 1px solid #1d293e!important;
}
/*
* ----------------------------------------------------------------------------------------
* 09.END PORTFOLIO DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
 * ----------------------------------------------------------------------------------------
 *10.START TESTIMONIAL DESIGN
 * ----------------------------------------------------------------------------------------
 */
.our_testimonial {
position: relative;
padding:120px 0;
}
.our_testimonial:before {
    background:#020928;
	opacity:0.7;
    bottom: 0;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}
.single-testimonial{}
.single-testimonial img {
	width: 100px;
	height: 100px;
	margin-bottom: 20px;
	border-radius: 100px;
	display: inline-block;
	border: 5px solid #fff;
}
.single-testimonial h4 {
color:#fff;
	font-weight: 600;
	margin-bottom: 5px;
}
.single-testimonial span {
color:#fff;
	font-weight: 600;
	margin-bottom: 15px;
	display:inline-block;
}
.single-testimonial p {
	color: #fff;
	font-size: 22px;
	line-height: 32px;
}
@media only screen and (max-width:480px) { 
.single-testimonial p {
	color: #fff;
	font-size: 18px;
	line-height:26px;
}
}
.testimonial1-carousel .prev {
	left: -150px;
}
.testimonial1-carousel .next {
	right: -150px;
}
.testimonial1-carousel .slick-arrow {
	height: 90px;
	width: 90px;
	line-height: 90px;
	border-radius: 100px;
	font-size: 20px;
	border: 1px solid #eee;
	color:#fff;
	text-align: center;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	    transform: translateY(-50%);
	cursor: pointer;
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
}
@media only screen and (max-width: 812px){
.testimonial1-carousel .slick-arrow { display:none !important;}
}
@media only screen and (max-width: 768px){
.testimonial1-carousel .slick-arrow { display:none !important;}
}
@media only screen and (max-width: 667px){
.testimonial1-carousel .slick-arrow { display:none !important;}
}
.testimonial1-carousel .slick-arrow:hover{background:#fff;color:#1d293e;border: 1px solid #fff;}
.testimonial1-carousel .slick-dots {
	padding: 0;
	list-style: none;
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	    transform: translateX(-50%);
	bottom: -70px;
}
.testimonial1-carousel .slick-dots li {
	display: inline-block;
	height: 12px;
	width: 12px;
	margin-right: 10px;
	display: none;
}
.testimonial1-carousel .slick-dots li.slick-active button {
	background: #fff;
}
.testimonial1-carousel .slick-dots li button {
	display: inline-block;
	padding: 0;
	height: 12px;
	width: 12px;
	border: 2px solid #fff;
	border-radius: 100px;
	background: transparent;
	color: transparent;
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
}
/*
 * ----------------------------------------------------------------------------------------
 * 10.END TESTIMONIAL DESIGN
 * ----------------------------------------------------------------------------------------
 */
/*
 * ----------------------------------------------------------------------------------------
 * 11.START BLOG DESIGN
 * ----------------------------------------------------------------------------------------
 */
.fresh-news{
	padding-bottom: 0;
}
.single_blog {
	background: #fff;
	margin-bottom:30px;
}
.blog_img { overflow: hidden; }
.blog_img img {
    display: block;
    position: relative;
    -webkit-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}
.single_blog:hover .blog_img img {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}
.post-date {
	position: absolute;
	top: -17px;
	right: 0px;
	background: #fff;
	padding: 7px 12px;
	border-radius: 5px;
	text-align: center;
	-webkit-box-shadow: 0px 10px 20px rgba(0,0,0,.1);
	        box-shadow: 0px 10px 20px rgba(0,0,0,.1);
	-webkit-transition: all 0.4s ease 0s;
	-o-transition: all 0.4s ease 0s;
	transition: all 0.4s ease 0s;
}
.single_blog:hover .post-date{background:#35ac39 ;}
.single_blog:hover .post-date .date{color:#fff;}
.single_blog:hover .post-date .month {color:#fff;}
.date {
	font-size: 30px;
	font-weight: 500;
}
.month {
	display: block;
	font-size: 15px;
	font-weight: 500;
}

.blog_content{padding:20px;}
.blog_content h3{}
.blog_content h3 a {
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 10px;
	display: block;
	-webkit-transition: all 0.4s ease 0s;
	-o-transition: all 0.4s ease 0s;
	transition: all 0.4s ease 0s;
	line-height: 34px;
	color: #1d293e;
}
.blog_content h3 a:hover{color:#35ac39 ;}

.blog-page{background:#e0eff4;}
.single_blog_page {
	background: #fff;
	padding: 60px;
	border-bottom: 1px solid #ddd;
}
.single_blog_page img{}
.single_blog_page img a{}
.single_blog_page h2 a {
	font-weight: 600;
	font-size: 40px;
	line-height: 52px;
	margin: 20px 0;
	color: #1d293e;
	display: block;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
.single_blog_page h2 a:hover{color:#35ac39 ;}
.single_blog_page span{}
.single_blog_page span a {
	color: #35ac39 ;
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 10px;
	font-weight: 500;
}
.single_blog_page span a:hover{color:#1d293e;}
.single_blog_page p{margin-bottom: 25px;}
.single_blog_page_para{margin: 25px 0;}
.single_blog_page_btn{color: #35ac39 ;}
.single_blog_page_btn:hover{color: #1d293e;}


/*START PAGINATION*/
#pagination {
	margin-top: 60px;
}
ul.blog_pagination li a {
	border: 1px solid #eee;
	border-radius: 0;
	color: #1d293e;
	display: block;
	font-size: 16px;
	font-weight: 500;
	background: #fff;
	height: 45px;
	line-height: 45px;
	margin: 5px;
	text-align: center;
	width: 45px;
}
ul.blog_pagination li a:hover {
    color: #fff;
    background: #35ac39;
    border: 1px solid #35ac39;
}
/*END PAGINATION*/
/*START BLOG SIDEBAR DESIGN*/
.contact_form_blog{padding-top:0px!important;}
.blog_sidebar_title {
border-bottom: 1px solid #eee;
color: #1d293e;
font-size: 13px;
font-weight: 600;
letter-spacing: 1px;
margin-bottom: 15px;
margin-top: 0;
padding-bottom: 10px;
text-transform: uppercase;
}
.blog_search, .latest_blog, .advertisement_post, .video_post, .categories, .tag, .upcoming_event {
	margin-bottom: 30px;
	background: #fff;
	padding: 30px 30px;
	border-radius: 3px;
	border-top: 3px solid #35ac39;
	-webkit-box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.06);
	        box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.06);
}
.tag{overflow: hidden;}
@media only screen and (max-width:768px) { 
    .blog_search { margin-top: 60px }
}
.blog_search input {
background: #f5f8fa none repeat scroll 0 0;
border: 1px solid #eee;
border-radius: 0;
color: #282828;
-webkit-transition: all 0.3s ease 0s;
-o-transition: all 0.3s ease 0s;
transition: all 0.3s ease 0s;
height: 50px;
}
.blog_search input:focus{border: 1px solid #35ac39;}
.single_latest_blog {
	overflow: hidden;
	border-bottom: 1px solid #eee;
	padding-bottom: 15px;
	margin-bottom: 20px;
}
.single_latest_blog h4 {
	color: #666;
	font-size: 15px;
	font-weight: 500;
	line-height: 28px;
	margin: 0;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.single_latest_blog:hover h4 { color: #35ac39 }
.single_latest_blog span { color: #161616 }
.single_upcoming_event {margin-bottom: 20px;}
.single_upcoming_event h4 {
	color: #1d293e;
	font-size: 17px;
	font-weight: 600;
	line-height: 28px;
	margin: 10px 0 0;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.single_upcoming_event:hover h4 { color: #35ac39 }
.single_upcoming_event span i{margin-right:5px;color: #35ac39 }
.single_upcoming_event span { color: #777 }
.categories ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.categories ul li { }
.categories ul li a {
	color: #1d293e;
	display: block;
	font-size: 14px;
	font-weight: 500;
	padding: 5px 0;
}
.categories ul li a:hover { color: #35ac39 }
.categories ul li a i { margin-right: 10px }
.video_post iframe {
    width: 100%;
    height: 100%;
    border: medium none;
}
.tag a {
	border: 2px solid #35ac39;
	border-radius: 30px;
	color: #1d293e;
	display: block;
	float: left;
	font-size: 14px;
	font-weight: 600;
	margin: 6px 4px;
	padding: 5px 16px;
	text-transform: capitalize;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.tag a:hover {
    background: #35ac39;
    color: #fff;
    border: 2px solid #35ac39;
}
/*END BLOG SIDEBAR DESIGN*/
/*START BLOG SINGLE PAGE DESIGN*/
.blog_post{background:#e0eff4;}
.single_blog_post { margin-bottom: 60px }
.single_blog_post img {
    width: 750px;
    height: 455px;
}
.blog_post_text h4 { margin: 30px 0 }
.author_part {
    margin-bottom: 60px;
    overflow: hidden;
}
.single_author {
    background: #fff  none repeat scroll 0 0;
    padding: 20px;
}
.author_part img {
    border: 4px solid #35ac39;
    border-radius: 100px;
    float: left;
    height: 120px;
    margin-bottom: 25px;
    margin-right: 20px;
    width: 120px;
}
.author_part h4 {text-transform: uppercase;
font-size: 16px;
font-weight:700;
letter-spacing: 1px; }
.author_part p { margin-bottom: 0 }
.blog_head_title {
border-bottom: 1px solid #ddd;
margin: 0 0 30px;
padding-bottom: 10px;
font-weight: 700;
text-transform: uppercase;
font-size: 18px;
}

.single_blog_content{}
.single_blog_content p{margin:30px 0;}
.comment_form{
margin-top:60px;
background:#fff;
padding:60px;
}
.comments_part {
    margin-bottom: 60px;
    overflow: hidden;
}
.single_comment {
    margin-bottom: 30px;
    background: #fff;
    padding: 20px;
}
.single_comment_mbnone { margin-bottom: 0px }
.single_comment img {
    border: 4px solid #35ac39;
    border-radius: 100px;
    float: left;
    height: 120px;
    margin-bottom: 25px;
    margin-right: 20px;
    width: 120px;
}
.single_comment h4 { font-size: 16px;
font-weight:700;
letter-spacing: 1px;
text-transform: uppercase;}
.single_comment p { margin-bottom: 0 }
.comment_form input, .comment_form textarea {
	-moz-border-bottom-colors: none;
	-moz-border-left-colors: none;
	-moz-border-right-colors: none;
	-moz-border-top-colors: none;
	background: #f5f8fa;
	border-color: currentcolor currentcolor #ddd;
	-o-border-image: none;
	   border-image: none;
	border-radius: 0;
	border-style: none none solid;
	border-width: 0 0 1px;
	-webkit-box-shadow: none;
	        box-shadow: none;
	color: #1d293e;
	font-size: 16px;
	font-weight: 500;
	padding: 15px;
}

.comment_form textarea {

}
@media only screen and (max-width:768px) { 
    .comment_form textarea { width: 100% }
}
.comment_form input:hover,.comment_form input:focus {
	background: #f5f8fa;
    border-bottom: 1px solid #ddd;
    -webkit-box-shadow: none;
            box-shadow: none;
	color: #1d293e;
    outline: 0 none;
}
.comment_form textarea:hover,.comment_form textarea:focus {
	background: #f5f8fa;
    border-bottom: 1px solid #ddd;
    -webkit-box-shadow: none;
            box-shadow: none;
	color: #1d293e;
    outline: 0 none;
}
.btn-blog-bg {
	border-radius: 30px;
	color: #fff!important;
	outline: medium none !important;
	padding: 15px 27px;
	text-transform: capitalize;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	background: #35ac39!important;
	font-family: 'poppins', sans-serif;
	cursor: pointer;
	width: 100%;
}
.btn-blog-bg:hover,
.btn-blog-bg:focus {
    background: #1d293e!important;
    color: #fff!important;
}
/*END BLOG SINGLE PAGE DESIGN*/
/*
 * ----------------------------------------------------------------------------------------
 * 11.END BLOG DESIGN
 * ----------------------------------------------------------------------------------------
 */
 /*
 * ----------------------------------------------------------------------------------------
 * 12.START 404 PAGE
 * ----------------------------------------------------------------------------------------
 */
.search { margin-bottom: 30px }
.error_page h1 {
    font-size: 200px;
    text-shadow: 0 4px 0 #dcdcdc;
}
.form-control-feedback {
    color: #1d293e;
    line-height: 40px !important;
    width: 60px;
}
.error_page h2 {
	font-size:18px;
    line-height: 30px;
    margin-bottom: 30px;
}
.search-input input{border:1px solid #e8e8e9;margin-bottom:20px;}
.error-page{background:#f1f1f1;}
.error_page h1 {
    color: #1d293e;
    font-size: 200px;
    margin: 0;
    text-shadow: 0 4px 0 #dcdcdc;
}
.error_page h1 span { color: #35ac39 }

.form-control-feedback {
    color: #1d293e;
    line-height: 50px !important;
}
.error_page h2 {
    color: #1d293e;
    font-size: 18px;
    margin-bottom: 30px;
    margin-top: 10px;
}
.error_page input {
    background:#fff;
    border: medium none;
    color: #1d293e;
    font-size: 16px;
    margin-bottom: 40px;
}
.error_page input:hover,
.error_page input:focus { border: none }

 /*
 * ----------------------------------------------------------------------------------------
 * 12.END 404 PAGE
 * ----------------------------------------------------------------------------------------
 */
/*
* ----------------------------------------------------------------------------------------
* 13.START NEWSLETTER DESIGN
* ----------------------------------------------------------------------------------------
*/
.newsletter {background:#321949;}
/*START PARTNER LOGO DESIGN*/
.partner {
margin-bottom: 60px;
text-align: center;
}
/*END PARTNER LOGO DESIGN*/
.signup_form h3 {
color: #fff;
font-size: 36px;
letter-spacing: 1px;
margin-bottom: 30px;
margin-top: 0;
text-transform: capitalize;
}
.signup_form input {
background:#fff;
border-color: -moz-use-text-color -moz-use-text-color #fff;
border-radius: 0;
border-style: none none solid;
border-width: 0 0 1px;
-webkit-box-shadow: none;
        box-shadow: none;
color: #1d293e;
margin-bottom: 30px;
}
.signup_form input:focus{-webkit-box-shadow: none;box-shadow: none;}
.signup_form button {
    background: #35ac39 none repeat scroll 0 0;
    border-radius: 0;
    -webkit-box-shadow: 0 11px 10px 0 rgba(0, 0, 0, 0.1);
            box-shadow: 0 11px 10px 0 rgba(0, 0, 0, 0.1);
    color: #fff;
    
    font-size: 14px;
    padding: 10px 30px;
    text-transform: uppercase;
    -webkit-transition: all 0.2s ease 0s;
            -o-transition: all 0.2s ease 0s;
            transition: all 0.2s ease 0s;
}
.signup_form button:hover {
    background: #fff;
    color: #1d293e;
}
/*
* ----------------------------------------------------------------------------------------
* 13.END NEWSLETTER DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
 * ----------------------------------------------------------------------------------------
 * 14.START FAQ DESIGN
 * ----------------------------------------------------------------------------------------
 */
.template_faq{background: #e0eff4 none repeat scroll 0 0;padding-top:60px;padding-bottom:50px;}
.faq_desc { 
background: #fff none repeat scroll 0 0;
margin-bottom: 30px;
padding: 40px;
-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
}
.question { 
color: #1d293e;
font-weight: 700;
margin-bottom: 15px;
font-size:22px;
}
.question span {
    background: #1d293e none repeat scroll 0 0;
    color: #fff;
    margin-right: 10px;
    padding: 4px 10px;
}
.ans span {
    background: #35ac39 none repeat scroll 0 0;
    color: #fff;
    margin-right: 10px;
    padding: 4px 10px;
}
/*
 * ----------------------------------------------------------------------------------------
 * 14.END FAQ DESIGN
 * ----------------------------------------------------------------------------------------
 */
/*
* ----------------------------------------------------------------------------------------
* 15.START LOGIN AND REGISTER PAGE DESIGN
* ----------------------------------------------------------------------------------------
*/
.login_register {
  background: #e0eff4 none repeat scroll 0 0;
}
.login_register_title {
	margin-bottom: 20px;
	margin-top: 0;
	text-align: center;
	text-transform: capitalize;
	font-weight: 600;
}
.login{
background: #fff none repeat scroll 0 0;
-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
overflow: hidden;
padding: 60px;
}
.register{
background: #fff none repeat scroll 0 0;
-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
overflow: hidden;
padding: 60px;
}
/*
* ----------------------------------------------------------------------------------------
* 15.END LOGIN AND REGISTER PAGE DESIGN
* ----------------------------------------------------------------------------------------
*/


/*
* ----------------------------------------------------------------------------------------
* 16.START CONTACT FORM DESIGN
* ----------------------------------------------------------------------------------------
*/
.contact-area{background:#e0eff4;}
.single_contact_two{

}
.contact {
background:#fff;
padding:60px;
-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
}
.form-control {
background: #f5f8fa none repeat scroll 0 0;
border: 1px solid #f5f8fa;
border-radius: 0;
-webkit-box-shadow: none;
        box-shadow: none;
color: #1d293e;
height: 50px;
padding-left: 10px;
-webkit-transition: all 0.2s ease 0s;
-o-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
}
.form-control:focus {
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    outline: 0 none;
	border:1px solid #35ac39;
}
.mbnone { margin-bottom: 0px }
.actions {
    margin-top: 30px;
}
.btn-contact-bg {
	background: #35ac39;
	border: 1px solid #35ac39;
	border-radius: 30px;
	color: #fff;
	font-size: 16px;
	padding: 12px 40px;
	text-transform: capitalize;
	-webkit-transition: all 0.2s ease 0s;
	-o-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
	-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.15);
	        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.15);
}
.btn-contact-bg:hover,
.btn-contact-bg:focus {
    background: #35ac39;
    border: 1px solid #35ac39;
    color: #fff;
	-webkit-box-shadow:none;
	        box-shadow:none;
}
.success {
    background: #fff none repeat scroll 0 0;
    color: #379bbc;
    font-weight: 700;
    padding: 20px;
    text-align: center;
}
.single_address {
	background: #fff none repeat scroll 0 0;
	-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
	        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
	overflow: hidden;
	padding: 43px 20px;
	border-bottom: 1px solid #eee;
}

.single_address i{
background: #35ac39 none repeat scroll 0 0;
border-radius: 100px;
color: #fff;
float: left;
font-size: 22px;
height: 60px;
line-height: 60px;
margin-right: 20px;
text-align: center;
-webkit-transition: all 0.2s ease 0s;
-o-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
width: 60px;
}
.single_address h4{
text-transform: capitalize;
font-weight: 500;
}
.single_address p{overflow: hidden;}
.single_address_mbnone{margin-bottom: 0px;}
.map iframe{height:400px;width:100%;}
.map-pro iframe{height:400px;width:100%;}
/*
* ----------------------------------------------------------------------------------------
* 16.END CONTACT FORM DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 17.START FOOTER TOP DESIGN
* ----------------------------------------------------------------------------------------
*/
.footer-area {
    position: relative;
    background-image: url(../img/bg/footer.png);
    background-size: 100% 100%;
	padding: 160px 0px 60px;
}
/*START FOOTER SOCIAL*/
 .footer_social {
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
padding: 40px 0;
 }
.footer_social ul {
    list-style: outside none none;
    margin: 0;
    padding: 0;
}
.footer_social ul li {
    margin: 2px;
    display: inline-block;
}
.footer_social ul li a {
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 30px;
color: #fff;
display: block;
font-size: 16px;
height: 45px;
line-height: 45px;
text-align: center;
-webkit-transition: all 0.2s ease 0s;
-o-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
width: 45px;
}
.footer_social ul li a:hover {background:#fff; color: #35ac39 ;border: 1px solid #fff;}
.footer_social ul li a:hover i {
    -webkit-animation: toLeftFromRight 0.4s forwards;
    animation: toLeftFromRight 0.4s forwards;
}
/*END FOOTER SOCIAL*/
.footer-padding{padding:60px 0;}

.single_footer{}
.single_footer h4 {
	color: #fff;
	margin: 0 0 35px;
	text-transform: uppercase;
	font-weight: 600;
}
/*START FOOTER CONTACT*/
.footer_contact ul li {
    color: #fff;
    overflow: hidden;
    margin-bottom: 15px;
}
.footer_contact ul li span {
color: #fff;
display: block;
font-family: montserrat,sans-serif;
padding-top: 8px;
font-size: 15px;
}
.footer_contact ul li  i {
color: #fff;
float: left;
font-size: 16px;
line-height: 40px;
margin-right: 15px;
text-align: center;
}
/*END FOOTER CONTACT*/
.single_footer ul{}
.single_footer ul li{}
.single_footer ul li a {
	color: #fff;
	font-size: 16px;
	text-transform: capitalize;
	-webkit-transition: all 0.2s ease 0s;
	-o-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
}
.single_footer ul li a:hover{color:#35ac39 ;}
/*
* ----------------------------------------------------------------------------------------
* 17.START FOOTER TOP DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 18.START FOOTER DESIGN
* ----------------------------------------------------------------------------------------
*/
.footer {
    background-color: #1f1f1f;
    padding: 20px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.footer_copyright {
	color: #fff;
	margin: 0;
	text-transform: capitalize;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 60px;
}
/*
* ----------------------------------------------------------------------------------------
* 18.END FOOTER DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
 * ----------------------------------------------------------------------------------------
 * 19.START SECTION TOP DESIGN
 * ----------------------------------------------------------------------------------------
 */
.section-top {
	background:#321949;
	padding-bottom: 120px;
	padding-top: 200px;
	position: relative;
}
.section-top-map{padding:50px;background:#321949;}
.section-top-title h1 {
    margin: 0;
	color:#fff;
	font-weight:600;
    text-transform: uppercase;
}
.breadcrumb {
    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
    margin-bottom: 0;
}
.breadcrumb > .active {
  color: #fff;
}
.section-top-title ol li a {
color: #fff !important;
 }
.section-top-title ol li a:hover { color: #35ac39!important }
/*
 * ----------------------------------------------------------------------------------------
 * 19.END SECTION TOP DESIGN
 * ----------------------------------------------------------------------------------------
*/