/* BUILD MARKER: v910-real-estate-os-landing */
.rep-page {
    --rep-ink: #12141a;
    --rep-line: #d6d3cc;
    --rep-muted: #5c584f;
    --rep-paper: #f6f3ee;
    --rep-gold: #b08a4a;
    --rep-navy: #142033;
    background:
        linear-gradient(180deg, rgba(176, 138, 74, .06), transparent 8rem),
        var(--rep-paper);
    color: var(--rep-ink);
}

.rep-eyebrow {
    display: inline-block;
    margin: 0 0 .7rem;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--rep-gold);
}

.rep-head { max-width: 44rem; margin: 0 0 2rem; }
.rep-head h2,
.rep-hero h1,
.rep-final h2,
.rep-close {
    margin: 0;
    letter-spacing: -.03em;
    line-height: 1.12;
}
.rep-head p { margin: .75rem 0 0; color: var(--rep-muted); font-size: 1.02rem; line-height: 1.65; }
.rep-section,
.rep-hero,
.rep-final,
.rep-trust { scroll-margin-top: 5.5rem; }
.rep-section { padding: 4.4rem 0; }
.rep-section--muted { background: rgba(255, 255, 255, .72); }
.rep-section--ink {
    background: linear-gradient(180deg, #101820, #1a2740);
    color: #ece7dc;
}
.rep-head--light h2 { color: #f8f4ea; }
.rep-head--light p { color: #b8b2a4; }
.rep-head--light .rep-eyebrow { color: #e4c888; }

.rep-hero {
    padding: 4.4rem 0 3.6rem;
    background:
        radial-gradient(640px 280px at 12% 0%, rgba(176, 138, 74, .22), transparent 55%),
        linear-gradient(180deg, #0d141c 0%, #162233 68%, #101820 100%);
    color: #f8f4ea;
}
.rep-hero .rep-eyebrow { color: #e4c888; }
.rep-hero h1 { font-size: clamp(1.9rem, 4.4vw, 3.2rem); max-width: 16ch; }
.rep-hero__lead {
    margin: .95rem 0 .7rem;
    font-size: 1.12rem;
    line-height: 1.65;
    color: #ddd6c7;
    max-width: 40rem;
}
.rep-hero__support,
.rep-hero__reassure { margin: .75rem 0 0; color: #b8b2a4; font-size: .92rem; }
.rep-hero__support { font-weight: 650; color: #ece7dc; margin-bottom: 1.2rem; }
.rep-hero__grid { display: grid; gap: 2.1rem; align-items: center; }
@media (min-width: 1080px) {
    .rep-hero__grid { grid-template-columns: .9fr 1.1fr; }
}

.rep-ctas { display: flex; flex-wrap: wrap; gap: .85rem 1rem; align-items: center; }
.rep-ctas--center { justify-content: center; }
.rep-page .rep-btn-gold,
.rep-page a.rep-btn-gold {
    background: #b08a4a;
    border-color: #b08a4a;
    color: #14110c;
}
.rep-page .rep-btn-gold:hover,
.rep-page a.rep-btn-gold:hover { background: #c9a25c; border-color: #c9a25c; color: #14110c; }
.rep-hero .mkt-btn-outline-light,
.rep-final .mkt-btn-outline-light,
.rep-sticky .mkt-btn-outline-light { color: #f8f4ea; border-color: #c4bba8; }
.rep-btn-demo { position: relative; padding-left: 2.35rem; }
.rep-btn-demo::before {
    content: "";
    position: absolute;
    left: .85rem;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: .38rem 0 .38rem .58rem;
    border-color: transparent transparent transparent currentColor;
    transform: translateY(-50%);
}
.rep-ctas a:focus-visible,
.rep-faq summary:focus-visible { outline: 2px solid #e4c888; outline-offset: 3px; }

.rep-dash {
    margin: 0;
    background: #101820;
    border: 1px solid rgba(228, 200, 136, .22);
    box-shadow: 0 28px 70px rgba(8, 10, 14, .45);
    overflow: hidden;
    animation: rep-float 8s ease-in-out infinite;
}
@keyframes rep-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
.rep-dash__bar,
.rep-shell figcaption {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .65rem .9rem;
    background: #182433;
    border-bottom: 1px solid rgba(196, 187, 168, .18);
    color: #b8b2a4;
    font-size: .78rem;
}
.rep-dash__bar p { margin: 0; flex: 1; }
.rep-dash__dots {
    width: 2.4rem;
    height: .55rem;
    border-radius: 99px;
    background:
        radial-gradient(circle at .28rem 50%, #f87171 0 .22rem, transparent .23rem),
        radial-gradient(circle at 1.05rem 50%, #fbbf24 0 .22rem, transparent .23rem),
        radial-gradient(circle at 1.82rem 50%, #34d399 0 .22rem, transparent .23rem);
}
.rep-dash__badge {
    padding: .15rem .45rem;
    border: 1px solid rgba(228, 200, 136, .5);
    color: #e4c888;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: .62rem;
    font-weight: 800;
}
.rep-dash__body { padding: 1.1rem 1.15rem 1.2rem; }
.rep-dash__kpis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin: 0 0 1rem;
}
@media (min-width: 760px) {
    .rep-dash__kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.rep-dash__kpis div {
    padding: .65rem .7rem;
    background: rgba(20, 32, 51, .7);
    border: 1px solid rgba(196, 187, 168, .16);
}
.rep-dash__kpis dt {
    margin: 0 0 .2rem;
    font-size: .66rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #b8b2a4;
}
.rep-dash__kpis dd {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
    color: #f8f4ea;
}
.rep-dash__split { display: grid; gap: 1rem; }
@media (min-width: 820px) {
    .rep-dash__split { grid-template-columns: 1fr 1fr; }
}
.rep-dash__sub {
    margin: 0 0 .65rem;
    font-size: .72rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #e4c888;
}
.rep-funnel { margin: 0; padding: 0; list-style: none; display: grid; gap: .4rem; }
.rep-funnel li {
    display: flex;
    justify-content: space-between;
    width: var(--w);
    min-width: 42%;
    padding: .4rem .6rem;
    background: linear-gradient(90deg, rgba(176, 138, 74, .35), rgba(176, 138, 74, .12));
    color: #f8f4ea;
    font-size: .8rem;
}
.rep-deals { margin: 0; padding: 0; list-style: none; display: grid; gap: .5rem; }
.rep-deal {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .15rem .65rem;
    padding: .6rem .65rem;
    border: 1px solid rgba(196, 187, 168, .16);
    background: #142033;
}
.rep-deal strong { color: #f8f4ea; }
.rep-deal span { color: #b8b2a4; font-size: .78rem; }
.rep-deal em {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
    font-style: normal;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.rep-deal--info em { color: #93c5fd; }
.rep-deal--good em { color: #86efac; }
.rep-deal--warn em { color: #e4c888; }
.rep-dash__note,
.rep-note,
.rep-final__note,
.rep-final__micro {
    margin: .85rem 0 0;
    font-size: .82rem;
    line-height: 1.5;
    color: #6b655b;
}
.rep-note--light,
.rep-final__micro { color: #c4bba8; }
.rep-final__micro { font-weight: 650; }

.rep-trust { padding: 1.6rem 0; background: #fff; border-bottom: 1px solid var(--rep-line); }
.rep-trust__line {
    margin: 0 0 1rem;
    font-size: 1.05rem;
    font-weight: 650;
    max-width: 48rem;
}
.rep-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}
.rep-chips li {
    padding: .32rem .6rem;
    border: 1px solid var(--rep-line);
    background: #fff;
    font-size: .76rem;
    font-weight: 700;
}

.rep-compare,
.rep-why,
.rep-split,
.rep-roles,
.rep-kpis,
.rep-exec,
.rep-units { display: grid; gap: 1rem; }
@media (min-width: 800px) {
    .rep-compare,
    .rep-split { grid-template-columns: 1fr 1fr; }
    .rep-why { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .rep-roles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rep-kpis,
    .rep-exec { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .rep-units { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.rep-compare article,
.rep-why article,
.rep-roles li,
.rep-kpis li,
.rep-panel,
.rep-quote,
.rep-property {
    padding: 1.15rem 1.2rem;
    background: #fff;
    border: 1px solid var(--rep-line);
}
.rep-compare .is-after,
.rep-why .is-highlight { border-top: 3px solid var(--rep-gold); background: #fffdf8; }
.rep-compare h3,
.rep-why h3,
.rep-roles h3 { margin: 0 0 .7rem; }
.rep-compare ul,
.rep-why ul { margin: 0; padding: 0 0 0 1.1rem; color: var(--rep-muted); line-height: 1.7; }
.rep-roles p { margin: 0; color: var(--rep-muted); line-height: 1.6; }
.rep-kpis li,
.rep-exec li { padding: .9rem 1rem; }
.rep-exec li { background: rgba(16, 24, 32, .45); border: 1px solid rgba(196, 187, 168, .22); }
.rep-kpis span,
.rep-exec span {
    display: block;
    margin-bottom: .25rem;
    font-size: .7rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #6b655b;
}
.rep-exec span { color: #b8b2a4; }
.rep-kpis strong,
.rep-exec strong { font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.rep-exec strong { color: #f8f4ea; }

.rep-life {
    display: grid;
    gap: .7rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}
@media (min-width: 760px) {
    .rep-life { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
    .rep-life { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.rep-life li {
    padding: .9rem 1rem;
    background: #fff;
    border: 1px solid var(--rep-line);
    border-top: 3px solid var(--rep-gold);
    animation: rep-fade .5s ease both;
}
.rep-life li:nth-child(2) { animation-delay: .04s; }
.rep-life li:nth-child(3) { animation-delay: .08s; }
.rep-life li:nth-child(4) { animation-delay: .12s; }
.rep-life strong { display: block; margin: 0 0 .25rem; }
.rep-life span { color: var(--rep-muted); font-size: .84rem; }
@keyframes rep-fade {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}

.rep-property { display: grid; gap: 0; padding: 0; overflow: hidden; margin-bottom: 1.2rem; }
@media (min-width: 860px) {
    .rep-property { grid-template-columns: .9fr 1.1fr; }
}
.rep-property__hero {
    min-height: 14rem;
    background:
        linear-gradient(180deg, rgba(20, 32, 51, .15), rgba(20, 32, 51, .55)),
        repeating-linear-gradient(90deg, #2a3344 0 18px, #334056 18px 36px),
        linear-gradient(180deg, #8d9aab, #5c6b7a);
}
.rep-property__meta { padding: 1.2rem 1.25rem; }
.rep-property__meta h3 { margin: 0 0 .8rem; }
.rep-property__meta dl { display: grid; gap: .55rem; margin: 0; }
.rep-property__meta dt { font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color: #6b655b; }
.rep-property__meta dd { margin: .15rem 0 0; font-weight: 700; }
.rep-unit {
    padding: 1rem 1.05rem;
    background: #fff;
    border: 1px solid var(--rep-line);
    display: grid;
    gap: .25rem;
}
.rep-unit em {
    font-style: normal;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.rep-unit--good em { color: #15803d; }
.rep-unit--warn em { color: #b45309; }
.rep-unit--info em { color: #1d4ed8; }

.rep-kanban {
    display: grid;
    gap: .8rem;
    margin: 0 0 1.2rem;
}
@media (min-width: 900px) {
    .rep-kanban { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.rep-kanban section {
    padding: .85rem;
    background: #f3efe8;
    border: 1px solid var(--rep-line);
}
.rep-kanban h3 { margin: 0 0 .7rem; font-size: .86rem; }
.rep-card {
    display: grid;
    gap: .2rem;
    margin: 0 0 .55rem;
    padding: .7rem .75rem;
    background: #fff;
    border: 1px solid var(--rep-line);
    box-shadow: 0 6px 16px rgba(20, 32, 51, .04);
}
.rep-card span { color: var(--rep-muted); font-size: .8rem; }

.rep-tablewrap { overflow: hidden; margin-bottom: 1rem; }
.rep-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid var(--rep-line);
    font-size: .88rem;
}
.rep-table caption {
    caption-side: top;
    text-align: left;
    padding: 0 0 .6rem;
    font-size: .76rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--rep-muted);
    font-weight: 750;
}
.rep-table th,
.rep-table td { padding: .65rem .7rem; border-bottom: 1px solid #ebe6dc; text-align: left; }
.rep-table th {
    font-size: .7rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #6b655b;
    background: #f3efe8;
}
.rep-points { margin: 0; padding: 0 0 0 1.15rem; color: var(--rep-muted); line-height: 1.7; }
.rep-schedule { margin: 0; padding: 0; list-style: none; display: grid; gap: .7rem; }
.rep-schedule li { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #ebe6dc; padding-bottom: .55rem; }
.rep-panel__tag {
    margin: 0 0 1rem;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--rep-gold);
    font-weight: 800;
}
.rep-close { margin-top: 1.4rem; font-size: 1.15rem; max-width: 46rem; }
.rep-inline-cta { margin: 1.2rem 0 .4rem; }

.rep-chat {
    padding: 1.15rem 1.2rem;
    background: #101820;
    color: #ece7dc;
    border: 1px solid #1a2740;
}
.rep-chat p,
.rep-chat ul { margin: 0 0 .85rem; line-height: 1.55; }
.rep-chat span {
    display: block;
    margin-bottom: .25rem;
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #b8b2a4;
}

.rep-shell {
    margin: 0;
    background: #101820;
    border: 1px solid rgba(228, 200, 136, .2);
    overflow: hidden;
}
.rep-shell figcaption { margin: 0; }
.rep-shell nav {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    padding: .7rem .8rem;
    background: #142033;
}
.rep-shell nav span {
    padding: .3rem .55rem;
    color: #c4bba8;
    font-size: .74rem;
    font-weight: 700;
}
.rep-shell nav .is-on { background: #b08a4a; color: #14110c; }
.rep-shell__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: .7rem;
    padding: 1rem;
    min-height: 10rem;
}
.rep-shell__grid div { background: rgba(228, 200, 136, .08); border: 1px solid rgba(196, 187, 168, .12); }

.rep-quote { max-width: 42rem; }
.rep-quote p { margin: 0 0 .8rem; font-size: 1.15rem; line-height: 1.6; }
.rep-quote footer { color: var(--rep-muted); font-size: .88rem; }
.rep-placeholder {
    margin: 1rem 0 0;
    padding: 1rem 1.1rem;
    border: 1px dashed #a39c90;
    color: #6b655b;
}

.rep-faq-wrap { max-width: 48rem; }
.rep-faq details { border-bottom: 1px solid var(--rep-line); padding: .35rem 0; }
.rep-faq summary { cursor: pointer; font-weight: 700; padding: .85rem 0; }
.rep-faq p { margin: 0 0 1rem; color: var(--rep-muted); line-height: 1.65; }

.rep-final {
    padding: 4.7rem 0 6.5rem;
    background:
        radial-gradient(620px 220px at 80% 0%, rgba(176, 138, 74, .2), transparent 55%),
        #101820;
    color: #f8f4ea;
    text-align: center;
}
.rep-final h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); }
.rep-final p { margin: .9rem auto 0; max-width: 38rem; color: #ddd6c7; line-height: 1.6; }
.rep-final .rep-ctas { margin-top: 1.4rem; }

.rep-sticky {
    display: none;
    position: sticky;
    bottom: 0;
    z-index: 20;
    padding: .7rem .9rem calc(.7rem + env(safe-area-inset-bottom));
    background: rgba(16, 24, 32, .94);
    border-top: 1px solid rgba(228, 200, 136, .2);
}
.rep-sticky .rep-ctas { gap: .5rem; }
.rep-sticky a { min-height: 2.6rem; padding: .55rem .9rem; font-size: .88rem; }
@media (max-width: 760px) {
    .rep-sticky { display: block; }
    .rep-final { padding-bottom: 2.5rem; }
    .rep-table thead { display: none; }
    .rep-table,
    .rep-table tbody,
    .rep-table tr,
    .rep-table td { display: block; width: 100%; }
    .rep-table td {
        display: grid;
        grid-template-columns: 8rem 1fr;
        gap: .5rem;
        padding: .3rem 0;
        border: 0;
    }
    .rep-table td::before {
        content: attr(data-label);
        font-size: .7rem;
        letter-spacing: .05em;
        text-transform: uppercase;
        color: #6b655b;
        font-weight: 750;
    }
    .rep-kpis,
    .rep-exec,
    .rep-units { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .rep-page * { animation: none !important; transition: none !important; }
}
