/* =========================================================
   RICHARD MARTIN ACOSTA — GLOBAL DESIGN SYSTEM
   ========================================================= */


/* =========================================================
   1. VARIABLES GENERALES
   ========================================================= */

:root {
    /* Brand colors */
    --rma-emerald-900: #123C34;
    --rma-emerald-700: #28675A;
    --rma-sage: #A8B9A5;
    --rma-charcoal: #1D2422;
    --rma-cream: #F4F0E7;
    --rma-gold: #B99A58;
    --rma-white: #FFFFFF;

    /* Semantic color aliases */
    --color-primary: var(--rma-emerald-900);
    --color-primary-light: var(--rma-emerald-700);
    --color-secondary: var(--rma-sage);
    --color-accent: var(--rma-gold);

    --color-background: var(--rma-cream);
    --color-surface: var(--rma-white);
    --color-heading: var(--rma-charcoal);
    --color-text: #38443F;
    --color-text-muted: #64706B;

    /* Transparent surfaces */
    --surface-white-soft: rgba(255, 255, 255, 0.74);
    --surface-white-strong: rgba(255, 255, 255, 0.92);
    --surface-cream-soft: rgba(244, 240, 231, 0.82);
    --surface-emerald-soft: rgba(18, 60, 52, 0.08);
    --surface-gold-soft: rgba(185, 154, 88, 0.12);

    /* Borders */
    --border-soft: rgba(18, 60, 52, 0.12);
    --border-medium: rgba(18, 60, 52, 0.2);
    --border-gold: rgba(185, 154, 88, 0.45);

    /* Shadows */
    --shadow-xs:
        0 4px 14px rgba(18, 60, 52, 0.06);

    --shadow-sm:
        0 10px 30px rgba(18, 60, 52, 0.08);

    --shadow-md:
        0 18px 55px rgba(18, 60, 52, 0.12);

    --shadow-lg:
        0 30px 90px rgba(18, 60, 52, 0.16);

    --shadow-gold:
        0 18px 45px rgba(185, 154, 88, 0.2);

    /* Typography */
    --font-heading:
        "Cormorant Garamond",
        "Times New Roman",
        Georgia,
        serif;

    --font-body:
        "Manrope",
        "Inter",
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    /* Layout */
    --container-width: 1240px;
    --container-wide: 1440px;
    --page-gutter: clamp(20px, 4vw, 64px);

    --section-space:
        clamp(80px, 9vw, 140px);

    --section-space-small:
        clamp(56px, 6vw, 90px);

    --header-height: 88px;

    /* Radius */
    --radius-xs: 8px;
    --radius-sm: 14px;
    --radius-md: 22px;
    --radius-lg: 32px;
    --radius-xl: 46px;
    --radius-pill: 999px;

    /* Motion system */
    --motion-fast: 180ms;
    --motion-base: 420ms;
    --motion-slow: 720ms;
    --motion-page: 680ms;

    --ease-standard:
        cubic-bezier(0.2, 0.7, 0.2, 1);

    --ease-out:
        cubic-bezier(0.22, 1, 0.36, 1);

    --ease-in-out:
        cubic-bezier(0.65, 0, 0.35, 1);

    --ease-page:
        cubic-bezier(0.76, 0, 0.24, 1);
}


/* =========================================================
   2. RESET Y BASE
   ========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-height) + 24px);
    background: var(--rma-cream);
}

body {
    min-height: 100vh;
    min-height: 100svh;
    margin: 0;

    color: var(--color-text);
    background:
        linear-gradient(
            180deg,
            rgba(244, 240, 231, 0.98) 0%,
            rgba(251, 249, 244, 0.96) 38%,
            rgba(255, 255, 255, 0.95) 68%,
            rgba(244, 240, 231, 0.98) 100%
        );

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;

    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    position: relative;
    isolation: isolate;
    overflow-x: clip;
}


/* =========================================================
   3. FONDO ARQUITECTÓNICO GLOBAL
   Sin cuadrículas y relacionado con real estate
   ========================================================= */

body::before {
    content: "";
    position: fixed;
    inset: 0;

    z-index: -2;
    pointer-events: none;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1400 950'%3E%3Cg fill='none' stroke='%23123C34' stroke-opacity='.075' stroke-width='2'%3E%3Cpath d='M110 820V465L340 285l230 180v355M190 820V565h300v255M720 820V385l205-160 205 160v435M805 820V515h240v305M1160 820V555l115-90 115 90v265'/%3E%3Cpath d='M70 820h1290M245 465h190M830 385h190M830 580h190M830 685h190M1195 620h160'/%3E%3Cpath d='M265 565v-70h150v70M860 515v-82h130v82M1220 555v-55h105v55'/%3E%3C/g%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: right -190px top 90px;
    background-size: min(1180px, 92vw) auto;

    opacity: 0.82;
}


/* Forma inspirada en arcos, puertas y ventanas residenciales */

body::after {
    content: "";
    position: fixed;

    width: min(520px, 48vw);
    aspect-ratio: 0.78;

    left: min(-260px, -18vw);
    top: 18vh;

    z-index: -1;
    pointer-events: none;

    border: 1px solid rgba(185, 154, 88, 0.2);
    border-radius: 50% 50% 8% 8% / 38% 38% 8% 8%;

    background:
        linear-gradient(
            145deg,
            rgba(185, 154, 88, 0.08),
            rgba(168, 185, 165, 0.04) 60%,
            transparent
        );

    transform: rotate(-8deg);
    filter: blur(0.2px);
}


/* =========================================================
   4. ELEMENTOS BASE
   ========================================================= */

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}

img {
    height: auto;
}

button,
input,
textarea,
select {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

button {
    border: 0;
}

a {
    color: var(--rma-emerald-700);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.22em;
}

a:hover {
    color: var(--rma-emerald-900);
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
}

p:last-child {
    margin-bottom: 0;
}

ul,
ol {
    padding-left: 1.3em;
}

::selection {
    color: var(--rma-white);
    background: var(--rma-emerald-700);
}


/* =========================================================
   5. TIPOGRAFÍA
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--color-heading);
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.05;
    text-wrap: balance;
}

h1 {
    font-size: clamp(3rem, 7vw, 6.8rem);
    letter-spacing: -0.045em;
}

h2 {
    font-size: clamp(2.4rem, 5vw, 4.7rem);
    letter-spacing: -0.035em;
}

h3 {
    font-size: clamp(1.65rem, 3vw, 2.6rem);
    letter-spacing: -0.02em;
}

h4 {
    font-size: clamp(1.3rem, 2vw, 1.75rem);
}

p {
    margin-bottom: 1.25em;
}

.text-lead {
    max-width: 720px;
    color: var(--color-text);
    font-size: clamp(1.05rem, 1.8vw, 1.3rem);
    line-height: 1.75;
}

.text-muted {
    color: var(--color-text-muted);
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 20px;

    color: var(--rma-emerald-700);
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.eyebrow::before {
    content: "";
    width: 34px;
    height: 1px;
    background: var(--rma-gold);
}


/* =========================================================
   6. CONTENEDORES Y ESPACIADO
   ========================================================= */

.page-shell {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    min-height: 100svh;
}

.container {
    width: min(
        calc(100% - (var(--page-gutter) * 2)),
        var(--container-width)
    );

    margin-inline: auto;
}

.container--wide {
    width: min(
        calc(100% - (var(--page-gutter) * 2)),
        var(--container-wide)
    );

    margin-inline: auto;
}

.section {
    position: relative;
    padding-block: var(--section-space);
}

.section--compact {
    padding-block: var(--section-space-small);
}

.section[id],
[id][data-anchor-section] {
    scroll-margin-top: calc(var(--header-height) + 24px);
}


/* =========================================================
   7. SUPERFICIES REUTILIZABLES
   ========================================================= */

.surface {
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);

    background: var(--surface-white-soft);
    box-shadow: var(--shadow-sm);

    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.surface--solid {
    background: var(--rma-white);
}

.surface--cream {
    background: rgba(244, 240, 231, 0.94);
}

.surface--emerald {
    color: var(--rma-cream);
    border-color: rgba(255, 255, 255, 0.09);
    background: var(--rma-emerald-900);
    box-shadow: var(--shadow-lg);
}

.surface--emerald h1,
.surface--emerald h2,
.surface--emerald h3,
.surface--emerald h4 {
    color: var(--rma-white);
}

.surface--emerald p {
    color: rgba(244, 240, 231, 0.78);
}


/* =========================================================
   8. BOTONES GLOBALES
   ========================================================= */

.btn {
    --button-background: transparent;
    --button-color: var(--rma-charcoal);
    --button-border: var(--border-medium);

    position: relative;
    isolation: isolate;

    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 11px;

    padding: 13px 24px;

    overflow: hidden;

    color: var(--button-color);
    border: 1px solid var(--button-border);
    border-radius: var(--radius-pill);

    background: var(--button-background);

    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.045em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    cursor: pointer;

    box-shadow: var(--shadow-xs);

    transition:
        color var(--motion-base) var(--ease-out),
        border-color var(--motion-base) var(--ease-out),
        box-shadow var(--motion-base) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.btn::before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: -1;

    background: var(--rma-gold);

    transform: translateY(105%);
    transition:
        transform var(--motion-base) var(--ease-out);
}

.btn:hover {
    color: var(--rma-charcoal);
    border-color: var(--rma-gold);
    box-shadow: var(--shadow-gold);
    transform: translateY(-3px);
}

.btn:hover::before {
    transform: translateY(0);
}

.btn:active {
    transform: translateY(-1px);
}

.btn--primary {
    --button-background: var(--rma-emerald-900);
    --button-color: var(--rma-white);
    --button-border: var(--rma-emerald-900);
}

.btn--secondary {
    --button-background: var(--rma-gold);
    --button-color: var(--rma-charcoal);
    --button-border: var(--rma-gold);
}

.btn--secondary::before {
    background: var(--rma-emerald-900);
}

.btn--secondary:hover {
    color: var(--rma-white);
    border-color: var(--rma-emerald-900);
}

.btn--outline {
    --button-background: rgba(255, 255, 255, 0.18);
    --button-color: var(--rma-emerald-900);
    --button-border: rgba(18, 60, 52, 0.3);

    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}


/* =========================================================
   9. ACCESIBILIDAD Y FOCO
   ========================================================= */

:focus-visible {
    outline: 3px solid rgba(185, 154, 88, 0.82);
    outline-offset: 4px;
}

.skip-link {
    position: fixed;
    top: 14px;
    left: 14px;
    z-index: 12000;

    padding: 12px 18px;

    color: var(--rma-white);
    border-radius: var(--radius-pill);
    background: var(--rma-emerald-900);

    font-weight: 700;
    text-decoration: none;

    transform: translateY(-160%);
    transition:
        transform var(--motion-fast) var(--ease-out);
}

.skip-link:focus {
    transform: translateY(0);
}


/* =========================================================
   10. REVEAL SYSTEM
   Usar: data-reveal="up|left|right|clip|scale"
   ========================================================= */

[data-reveal] {
    --reveal-x: 0px;
    --reveal-y: 34px;
    --reveal-scale: 1;
    --reveal-clip:
        inset(0 0 14% 0 round var(--radius-md));
    --reveal-delay: 0ms;

    opacity: 0;

    transform:
        translate3d(
            var(--reveal-x),
            var(--reveal-y),
            0
        )
        scale(var(--reveal-scale));

    clip-path: var(--reveal-clip);

    transition:
        opacity var(--motion-slow) var(--ease-out),
        transform var(--motion-slow) var(--ease-out),
        clip-path var(--motion-slow) var(--ease-out);

    transition-delay:
        calc(
            var(--reveal-delay) +
            (var(--reveal-index, 0) * 85ms)
        );

    will-change: opacity, transform, clip-path;
}

[data-reveal="left"] {
    --reveal-x: -44px;
    --reveal-y: 0px;
    --reveal-clip:
        inset(0 10% 0 0 round var(--radius-md));
}

[data-reveal="right"] {
    --reveal-x: 44px;
    --reveal-y: 0px;
    --reveal-clip:
        inset(0 0 0 10% round var(--radius-md));
}

[data-reveal="clip"] {
    --reveal-y: 0px;
    --reveal-clip:
        inset(0 0 100% 0 round var(--radius-md));
}

[data-reveal="scale"] {
    --reveal-y: 12px;
    --reveal-scale: 0.94;
    --reveal-clip:
        inset(0 round var(--radius-md));
}

[data-reveal].is-visible {
    opacity: 1;

    transform:
        translate3d(0, 0, 0)
        scale(1);

    clip-path:
        inset(0 round var(--radius-md));
}


/* =========================================================
   11. TRANSICIÓN ENTRE PÁGINAS
   ========================================================= */

.page-transition {
    position: fixed;
    inset: 0;
    z-index: 10000;

    display: grid;
    place-items: center;

    overflow: hidden;

    color: var(--rma-cream);
    background: var(--rma-emerald-900);

    visibility: hidden;
    pointer-events: none;

    clip-path: inset(100% 0 0 0);

    transition:
        clip-path var(--motion-page) var(--ease-page),
        visibility 0s linear var(--motion-page);

    will-change: clip-path;
}

.page-transition::before {
    content: "";
    position: absolute;

    width: 72vw;
    height: 1px;

    left: -14vw;
    top: 48%;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--rma-gold),
            transparent
        );

    opacity: 0.7;
    transform: rotate(-12deg);
}

.page-transition::after {
    content: "";
    position: absolute;

    width: min(540px, 75vw);
    aspect-ratio: 0.78;

    right: -150px;
    bottom: -320px;

    border: 1px solid rgba(185, 154, 88, 0.3);
    border-radius: 50% 50% 8% 8% / 38% 38% 8% 8%;

    transform: rotate(12deg);
}

.page-transition__content {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;

    text-align: center;
}

.page-transition__monogram {
    color: var(--rma-gold);
    font-family: var(--font-heading);
    font-size: clamp(3rem, 8vw, 6rem);
    line-height: 0.9;
    letter-spacing: -0.04em;
}

.page-transition__line {
    width: 72px;
    height: 1px;
    background: var(--rma-gold);
}

.page-transition__label {
    color: rgba(244, 240, 231, 0.82);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body.is-page-leaving .page-transition {
    visibility: visible;
    pointer-events: auto;

    clip-path: inset(0 0 0 0);

    transition:
        clip-path var(--motion-page) var(--ease-page),
        visibility 0s linear 0s;
}

body.is-page-leaving .page-shell {
    opacity: 0.4;

    transform:
        translate3d(0, -12px, 0)
        scale(0.995);

    filter: blur(3px);

    transition:
        opacity var(--motion-base) var(--ease-in-out),
        transform var(--motion-base) var(--ease-in-out),
        filter var(--motion-base) var(--ease-in-out);
}


/* Animación de entrada en cada página */

body.is-page-entering .page-shell {
    animation:
        rma-page-enter
        820ms
        var(--ease-out)
        both;
}

@keyframes rma-page-enter {
    from {
        opacity: 0;
        transform: translateY(18px);
        clip-path: inset(0 0 7% 0);
    }

    to {
        opacity: 1;
        transform: translateY(0);
        clip-path: inset(0 0 0 0);
    }
}


/* =========================================================
   12. BARRA DE NAVEGACIÓN
   ========================================================= */

.route-progress {
    position: fixed;
    z-index: 11000;

    width: 100%;
    height: 3px;

    top: 0;
    left: 0;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            var(--rma-gold),
            #D7BE82,
            var(--rma-gold)
        );

    transform: scaleX(0);
    transform-origin: left center;

    transition:
        transform var(--motion-page) var(--ease-out);
}

body.is-page-leaving .route-progress,
body.is-anchor-scrolling .route-progress {
    transform: scaleX(1);
}


/* =========================================================
   13. ANIMACIÓN AL LLEGAR A UNA SECCIÓN
   ========================================================= */

.is-anchor-target {
    position: relative;
}

.is-anchor-target::before {
    content: "";
    position: absolute;

    width: min(230px, 45%);
    height: 2px;

    top: 4px;
    left: 50%;

    z-index: 5;
    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--rma-gold),
            transparent
        );

    transform:
        translateX(-50%)
        scaleX(0);

    transform-origin: center;

    animation:
        rma-anchor-focus
        1050ms
        var(--ease-out)
        both;
}

@keyframes rma-anchor-focus {
    0% {
        opacity: 0;
        transform:
            translateX(-50%)
            scaleX(0);
    }

    35% {
        opacity: 1;
        transform:
            translateX(-50%)
            scaleX(1);
    }

    100% {
        opacity: 0;
        transform:
            translateX(-50%)
            scaleX(0.5);
    }
}


/* =========================================================
   14. BLOQUEO TEMPORAL DURANTE NAVEGACIÓN
   ========================================================= */

html.is-navigation-locked,
html.is-navigation-locked body {
    overflow: hidden;
}















































/* =========================================================
   RICHARD MARTIN ACOSTA — HEADER
   ========================================================= */

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9000;

    width: 100%;
    height: var(--header-height);

    pointer-events: none;
}

.site-header__container {
    width: min(
        calc(100% - 28px),
        var(--container-wide)
    );

    margin-inline: auto;
    padding-top: 14px;
}

.site-header__bar {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(220px, 0.85fr)
        minmax(520px, 1.6fr)
        auto;

    min-height: 70px;
    align-items: center;
    gap: 24px;

    padding: 9px 12px 9px 18px;

    border: 1px solid rgba(18, 60, 52, 0.12);
    border-radius: var(--radius-pill);

    background: rgba(244, 240, 231, 0.82);
    box-shadow:
        0 10px 35px rgba(18, 60, 52, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.68);

    -webkit-backdrop-filter: blur(22px) saturate(125%);
    backdrop-filter: blur(22px) saturate(125%);

    pointer-events: auto;

    transition:
        min-height var(--motion-base) var(--ease-out),
        background var(--motion-base) var(--ease-out),
        border-color var(--motion-base) var(--ease-out),
        box-shadow var(--motion-base) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.site-header.is-scrolled .site-header__bar {
    min-height: 62px;

    border-color: rgba(18, 60, 52, 0.16);

    background: rgba(244, 240, 231, 0.94);

    box-shadow:
        0 14px 42px rgba(18, 60, 52, 0.13),
        inset 0 1px 0 rgba(255, 255, 255, 0.76);
}


/* =========================================================
   BRAND
   ========================================================= */

.site-brand {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 12px;

    color: var(--rma-charcoal);
    text-decoration: none;
}

.site-brand:hover {
    color: var(--rma-charcoal);
}

.site-brand__monogram {
    position: relative;

    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;

    overflow: hidden;

    color: var(--rma-cream);

    border: 1px solid rgba(185, 154, 88, 0.42);
    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            var(--rma-emerald-700),
            var(--rma-emerald-900)
        );

    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.03em;

    box-shadow:
        0 8px 22px rgba(18, 60, 52, 0.18);

    transition:
        transform var(--motion-base) var(--ease-out),
        box-shadow var(--motion-base) var(--ease-out);
}

.site-brand__monogram::after {
    content: "";
    position: absolute;

    width: 30px;
    height: 1px;

    right: -11px;
    bottom: 10px;

    background: var(--rma-gold);
    transform: rotate(-42deg);
}

.site-brand:hover .site-brand__monogram {
    box-shadow:
        0 12px 30px rgba(18, 60, 52, 0.24),
        0 0 0 4px rgba(185, 154, 88, 0.1);

    transform: rotate(-3deg) scale(1.04);
}

.site-brand__content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.site-brand__name {
    overflow: hidden;

    color: var(--rma-charcoal);

    font-family: var(--font-heading);
    font-size: clamp(1rem, 1.2vw, 1.3rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.025em;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-brand__meta {
    color: var(--rma-emerald-700);

    font-size: 0.61rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}


/* =========================================================
   DESKTOP NAVIGATION
   ========================================================= */

.desktop-navigation {
    justify-self: center;
}

.desktop-navigation__list {
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.25vw, 23px);

    margin: 0;
    padding: 0;

    list-style: none;
}

.desktop-navigation__item {
    position: relative;
}

.desktop-navigation__link {
    position: relative;

    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: 6px;

    padding: 0 2px;

    color: rgba(29, 36, 34, 0.8);

    font-size: 0.71rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.065em;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        color var(--motion-fast) var(--ease-out);
}

.desktop-navigation__link::after {
    content: "";
    position: absolute;

    width: 100%;
    height: 1px;

    right: 0;
    bottom: 7px;

    background:
        linear-gradient(
            90deg,
            var(--rma-gold),
            var(--rma-emerald-700)
        );

    transform: scaleX(0);
    transform-origin: right center;

    transition:
        transform var(--motion-base) var(--ease-out);
}

.desktop-navigation__link svg {
    width: 9px;
    height: 6px;

    transition:
        transform var(--motion-base) var(--ease-out);
}

.desktop-navigation__link:hover,
.desktop-navigation__link.is-current,
.desktop-navigation__item:focus-within
.desktop-navigation__link {
    color: var(--rma-emerald-900);
}

.desktop-navigation__link:hover::after,
.desktop-navigation__link.is-current::after,
.desktop-navigation__item:focus-within
.desktop-navigation__link::after {
    transform: scaleX(1);
    transform-origin: left center;
}

.desktop-navigation__item:hover
.desktop-navigation__link svg,
.desktop-navigation__item:focus-within
.desktop-navigation__link svg {
    transform: rotate(180deg);
}


/* =========================================================
   DROPDOWNS
   ========================================================= */

.navigation-dropdown {
    position: absolute;

    min-width: 245px;

    top: calc(100% + 12px);
    left: 50%;

    padding: 16px;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;

    border: 1px solid var(--border-soft);
    border-radius: var(--radius-md);

    background: rgba(250, 248, 242, 0.98);

    box-shadow:
        0 24px 65px rgba(18, 60, 52, 0.17);

    transform:
        translate(-50%, 12px)
        scale(0.97);

    transform-origin: top center;

    transition:
        opacity var(--motion-base) var(--ease-out),
        visibility var(--motion-base) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.navigation-dropdown::before {
    content: "";
    position: absolute;

    height: 18px;

    right: 0;
    bottom: 100%;
    left: 0;
}

.navigation-dropdown--wide {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 22px;

    width: 510px;
}

.desktop-navigation__item:hover
.navigation-dropdown,
.desktop-navigation__item:focus-within
.navigation-dropdown {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;

    transform:
        translate(-50%, 0)
        scale(1);
}

.navigation-dropdown__label {
    display: block;

    margin-bottom: 9px;

    color: var(--rma-gold);

    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.navigation-dropdown > a,
.navigation-dropdown__links > a {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 11px 12px;

    color: var(--rma-charcoal);
    border-radius: var(--radius-sm);

    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;

    transition:
        color var(--motion-fast) var(--ease-out),
        background var(--motion-fast) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.navigation-dropdown > a:hover,
.navigation-dropdown__links > a:hover {
    color: var(--rma-emerald-900);
    background: rgba(168, 185, 165, 0.2);
    transform: translateX(4px);
}

.navigation-dropdown__intro {
    padding: 12px;

    border-radius: var(--radius-sm);

    background:
        linear-gradient(
            145deg,
            var(--rma-emerald-900),
            var(--rma-emerald-700)
        );
}

.navigation-dropdown__intro p {
    margin: 0;

    color: rgba(244, 240, 231, 0.76);

    font-size: 0.74rem;
    line-height: 1.6;
}

.navigation-dropdown__intro
.navigation-dropdown__label {
    color: #D7BE82;
}

.navigation-dropdown__links {
    display: grid;
}

.navigation-dropdown__links a span {
    color: var(--rma-gold);

    font-family: var(--font-heading);
    font-size: 0.9rem;
    font-weight: 700;
}


/* =========================================================
   DESKTOP ACTIONS
   ========================================================= */

.site-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
}

.language-switch {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.language-switch > span {
    width: 1px;
    height: 13px;
    background: var(--border-medium);
}

.language-switch__link {
    color: var(--color-text-muted);

    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-decoration: none;

    transition:
        color var(--motion-fast) var(--ease-out);
}

.language-switch__link:hover,
.language-switch__link.is-active {
    color: var(--rma-emerald-900);
}

.header-cta {
    position: relative;
    isolation: isolate;

    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 9px;

    padding: 11px 18px;

    overflow: hidden;

    color: var(--rma-white);
    border: 1px solid var(--rma-emerald-900);
    border-radius: var(--radius-pill);

    background: var(--rma-emerald-900);

    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.055em;
    text-decoration: none;
    text-transform: uppercase;

    box-shadow:
        0 9px 24px rgba(18, 60, 52, 0.17);

    transition:
        color var(--motion-base) var(--ease-out),
        border-color var(--motion-base) var(--ease-out),
        box-shadow var(--motion-base) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.header-cta::before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: -1;

    background: var(--rma-gold);

    transform: translateY(105%);

    transition:
        transform var(--motion-base) var(--ease-out);
}

.header-cta svg {
    width: 17px;
    height: 17px;

    transition:
        transform var(--motion-base) var(--ease-out);
}

.header-cta:hover {
    color: var(--rma-charcoal);
    border-color: var(--rma-gold);

    box-shadow:
        0 14px 32px rgba(185, 154, 88, 0.27);

    transform: translateY(-2px);
}

.header-cta:hover::before {
    transform: translateY(0);
}

.header-cta:hover svg {
    transform: translateX(3px);
}


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

.menu-toggle,
.mobile-call {
    display: none;
}

.mobile-navigation {
    position: fixed;
    inset: 0;
    z-index: 8800;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;

    transition:
        opacity var(--motion-base) var(--ease-out),
        visibility var(--motion-base) var(--ease-out);
}

.mobile-navigation__backdrop {
    position: absolute;
    inset: 0;

    background: rgba(11, 27, 23, 0.56);

    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.mobile-navigation__panel {
    position: absolute;

    width: min(440px, calc(100% - 18px));

    top: 8px;
    right: 8px;
    bottom: 8px;

    display: flex;
    flex-direction: column;

    overflow-y: auto;
    overscroll-behavior: contain;

    padding: 24px;

    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--radius-lg);

    background:
        linear-gradient(
            150deg,
            #174A40 0%,
            var(--rma-emerald-900) 54%,
            #0D2F28 100%
        );

    box-shadow:
        -24px 0 70px rgba(7, 24, 20, 0.32);

    transform: translateX(calc(100% + 24px));

    transition:
        transform var(--motion-slow) var(--ease-out);
}

body.is-menu-open .mobile-navigation {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

body.is-menu-open .mobile-navigation__panel {
    transform: translateX(0);
}

.mobile-navigation__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;

    margin-bottom: 22px;
    padding-bottom: 22px;

    border-bottom: 1px solid rgba(244, 240, 231, 0.13);
}

.mobile-navigation__eyebrow {
    display: block;
    margin-bottom: 8px;

    color: #D7BE82;

    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.mobile-navigation__heading p {
    max-width: 260px;
    margin: 0;

    color: rgba(244, 240, 231, 0.67);

    font-size: 0.76rem;
    line-height: 1.55;
}

.mobile-navigation__close {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;

    color: var(--rma-cream);
    border: 1px solid rgba(244, 240, 231, 0.17);
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.05);

    cursor: pointer;

    transition:
        color var(--motion-fast) var(--ease-out),
        background var(--motion-fast) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.mobile-navigation__close:hover {
    color: var(--rma-charcoal);
    background: var(--rma-gold);
    transform: rotate(8deg);
}

.mobile-navigation__close svg {
    width: 19px;
    height: 19px;
}

.mobile-navigation__list {
    margin: 0;
    padding: 0;

    list-style: none;
}

.mobile-navigation__list > li {
    border-bottom: 1px solid rgba(244, 240, 231, 0.1);
}

.mobile-navigation__list > li > a,
.mobile-submenu-toggle {
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding: 10px 2px;

    color: var(--rma-cream);
    background: transparent;

    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.015em;
    text-align: left;
    text-decoration: none;

    cursor: pointer;
}

.mobile-navigation__list small {
    color: var(--rma-gold);

    font-family: var(--font-body);
    font-size: 0.61rem;
    font-weight: 800;
    letter-spacing: 0.09em;
}

.mobile-submenu-toggle svg {
    width: 18px;
    height: 18px;

    transition:
        transform var(--motion-base) var(--ease-out);
}

.mobile-submenu-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

.mobile-submenu {
    display: grid;
    grid-template-rows: 0fr;

    opacity: 0;

    transition:
        grid-template-rows var(--motion-base) var(--ease-out),
        opacity var(--motion-base) var(--ease-out);
}

.mobile-submenu::before {
    content: "";
    display: block;
    min-height: 0;
}

.mobile-submenu > a {
    display: none;
}

.mobile-navigation__group.is-open
.mobile-submenu {
    grid-template-rows: 1fr;

    padding-bottom: 14px;

    opacity: 1;
}

.mobile-navigation__group.is-open
.mobile-submenu > a {
    display: block;

    padding: 10px 16px;

    color: rgba(244, 240, 231, 0.72);

    border-left: 1px solid rgba(185, 154, 88, 0.45);

    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;

    transition:
        color var(--motion-fast) var(--ease-out),
        padding-left var(--motion-base) var(--ease-out);
}

.mobile-navigation__group.is-open
.mobile-submenu > a:hover {
    color: var(--rma-gold);
    padding-left: 22px;
}

.mobile-navigation__footer {
    display: grid;
    gap: 16px;

    margin-top: auto;
    padding-top: 28px;
}

.mobile-navigation__languages {
    display: flex;
    gap: 8px;
}

.mobile-navigation__languages a {
    padding: 8px 14px;

    color: rgba(244, 240, 231, 0.64);
    border: 1px solid rgba(244, 240, 231, 0.12);
    border-radius: var(--radius-pill);

    font-size: 0.7rem;
    font-weight: 800;
    text-decoration: none;
}

.mobile-navigation__languages a.is-active {
    color: var(--rma-charcoal);
    border-color: var(--rma-gold);
    background: var(--rma-gold);
}

.mobile-navigation__phone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    color: var(--rma-cream);
    text-decoration: none;

    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 600;
}

.mobile-navigation__phone span {
    color: rgba(244, 240, 231, 0.55);

    font-family: var(--font-body);
    font-size: 0.69rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mobile-navigation__footer > p {
    margin: 0;

    color: rgba(244, 240, 231, 0.58);

    font-size: 0.72rem;
}










































/* =========================================================
   RICHARD MARTIN ACOSTA — PREMIUM REAL ESTATE HERO
   ========================================================= */

.rma-hero {
    position: relative;
    isolation: isolate;

    width: 100%;
    height: 100vh;
    height: 100svh;
    min-height: 680px;

    overflow: hidden;

    color: var(--rma-cream);
    background: var(--rma-emerald-900);
}


/* =========================================================
   PROPERTY BACKGROUND
   ========================================================= */

.rma-hero__property {
    position: absolute;
    inset: 0;
    z-index: -5;

    overflow: hidden;
}

.rma-hero__property img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 58%;

    transform: scale(1.015);

    filter:
        saturate(0.82)
        contrast(1.04)
        brightness(0.86);
}


/* Overlay principal: oscuro a la izquierda y abierto a la derecha */

.rma-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: -4;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            rgba(10, 35, 29, 0.97) 0%,
            rgba(10, 35, 29, 0.93) 24%,
            rgba(10, 35, 29, 0.78) 47%,
            rgba(10, 35, 29, 0.36) 72%,
            rgba(10, 35, 29, 0.18) 100%
        ),
        linear-gradient(
            180deg,
            rgba(9, 29, 25, 0.22) 0%,
            transparent 38%,
            rgba(8, 27, 23, 0.7) 100%
        );
}


/* Textura elegante y ligera */

.rma-hero__texture {
    position: absolute;
    inset: 0;
    z-index: -3;

    pointer-events: none;

    opacity: 0.24;

    background-image:
        radial-gradient(
            circle at 20% 22%,
            rgba(185, 154, 88, 0.22) 0,
            transparent 27%
        ),
        linear-gradient(
            115deg,
            transparent 0 48%,
            rgba(255, 255, 255, 0.035) 48% 48.1%,
            transparent 48.1% 100%
        );
}


/* =========================================================
   LAYOUT
   ========================================================= */

.rma-hero__container {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(0, 1.03fr)
        minmax(360px, 0.82fr);

    width: min(
        calc(100% - (var(--page-gutter) * 2)),
        var(--container-wide)
    );

    height: 100%;
    margin-inline: auto;

    align-items: end;
    gap: clamp(20px, 4vw, 72px);

    padding-top:
        calc(
            var(--header-height) +
            clamp(34px, 6vh, 74px)
        );

    padding-bottom:
        clamp(48px, 8vh, 92px);
}


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

.rma-hero__content {
    position: relative;
    z-index: 4;

    align-self: center;

    width: 100%;
    max-width: 720px;
}

.rma-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    margin-bottom: clamp(18px, 3vh, 30px);
}

.rma-hero__eyebrow > span {
    display: block;

    width: 46px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            var(--rma-gold),
            rgba(185, 154, 88, 0.25)
        );
}

.rma-hero__eyebrow p {
    margin: 0;

    color: rgba(244, 240, 231, 0.78);

    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}


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

.rma-hero__title {
    display: flex;
    flex-direction: column;

    max-width: 760px;

    margin: 0 0 clamp(18px, 3vh, 28px);

    color: var(--rma-white);

    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 0.8;
    letter-spacing: -0.055em;
}

.rma-hero__title-small {
    display: block;

    margin-left: 0.06em;
    margin-bottom: 0.13em;

    color: rgba(244, 240, 231, 0.86);

    font-size: clamp(2rem, 3.65vw, 4.25rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.035em;
}

.rma-hero__title-main {
    display: block;

    color: var(--rma-white);

    font-size: clamp(5.3rem, 9.2vw, 10.4rem);
    line-height: 0.75;
}


/* Línea dorada debajo del apellido */

.rma-hero__title-main::after {
    content: "";

    display: block;

    width: clamp(90px, 11vw, 170px);
    height: 2px;

    margin-top: 0.2em;
    margin-left: 0.05em;

    background:
        linear-gradient(
            90deg,
            var(--rma-gold),
            rgba(185, 154, 88, 0)
        );
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.rma-hero__statement {
    max-width: 580px;

    margin: 0 0 clamp(24px, 4vh, 38px);

    color: rgba(244, 240, 231, 0.76);

    font-size: clamp(1rem, 1.45vw, 1.23rem);
    font-weight: 400;
    line-height: 1.72;
}

.rma-hero__statement strong {
    color: var(--rma-white);
    font-weight: 700;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.rma-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 13px;

    margin-bottom: clamp(20px, 3.5vh, 32px);
}

.rma-hero__button {
    position: relative;
    isolation: isolate;

    display: inline-flex;
    min-height: 54px;

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

    padding: 14px 25px;

    overflow: hidden;

    border: 1px solid transparent;
    border-radius: var(--radius-pill);

    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.065em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        color var(--motion-base) var(--ease-out),
        border-color var(--motion-base) var(--ease-out),
        background var(--motion-base) var(--ease-out),
        box-shadow var(--motion-base) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.rma-hero__button::before {
    content: "";

    position: absolute;
    inset: -1px;
    z-index: -1;

    transform: translateY(105%);

    transition:
        transform var(--motion-base) var(--ease-out);
}

.rma-hero__button svg {
    width: 18px;
    height: 18px;

    transition:
        transform var(--motion-base) var(--ease-out);
}

.rma-hero__button:hover {
    transform: translateY(-3px);
}

.rma-hero__button:hover::before {
    transform: translateY(0);
}

.rma-hero__button:hover svg {
    transform: translateX(4px);
}


/* Botón dorado */

.rma-hero__button--primary {
    color: var(--rma-charcoal);
    border-color: var(--rma-gold);

    background: var(--rma-gold);

    box-shadow:
        0 14px 34px rgba(0, 0, 0, 0.18);
}

.rma-hero__button--primary::before {
    background: var(--rma-white);
}

.rma-hero__button--primary:hover {
    color: var(--rma-emerald-900);

    border-color: var(--rma-white);

    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.25);
}


/* Botón transparente */

.rma-hero__button--secondary {
    color: var(--rma-white);

    border-color: rgba(244, 240, 231, 0.32);

    background: rgba(255, 255, 255, 0.07);

    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.rma-hero__button--secondary::before {
    background: rgba(244, 240, 231, 0.96);
}

.rma-hero__button--secondary:hover {
    color: var(--rma-emerald-900);
    border-color: var(--rma-cream);
}


/* =========================================================
   LANGUAGE AND PHONE
   ========================================================= */

.rma-hero__languages {
    display: flex;
    align-items: center;
    gap: 10px;

    color: rgba(244, 240, 231, 0.66);

    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.035em;
}

.rma-hero__languages svg {
    width: 18px;
    height: 18px;

    color: var(--rma-gold);
}

.rma-hero__languages span::after {
    content: "•";

    margin-left: 10px;

    color: rgba(244, 240, 231, 0.28);
}

.rma-hero__languages a {
    color: var(--rma-white);

    font-weight: 800;
    text-decoration: none;

    transition:
        color var(--motion-fast) var(--ease-out);
}

.rma-hero__languages a:hover {
    color: var(--rma-gold);
}


/* =========================================================
   PORTRAIT
   ========================================================= */

.rma-hero__portrait {
    position: relative;
    z-index: 3;

    align-self: end;
    justify-self: end;

    width: min(100%, 650px);
    height: min(79vh, 820px);

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

    padding-inline: 22px;
}


/* Arco trasero */

.rma-hero__portrait-arch {
    position: absolute;

    width: 83%;
    height: 87%;

    right: 5%;
    bottom: -5%;

    border: 1px solid rgba(185, 154, 88, 0.46);

    border-radius:
        48% 48% 4% 4% /
        28% 28% 4% 4%;

    background:
        linear-gradient(
            155deg,
            rgba(185, 154, 88, 0.13),
            rgba(18, 60, 52, 0.12) 52%,
            rgba(255, 255, 255, 0.05)
        );

    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

.rma-hero__portrait-arch::before {
    content: "";

    position: absolute;
    inset: 17px;

    border: 1px solid rgba(244, 240, 231, 0.1);

    border-radius:
        48% 48% 4% 4% /
        28% 28% 4% 4%;
}


/* Iluminación detrás de la persona */

.rma-hero__portrait-glow {
    position: absolute;

    width: 68%;
    aspect-ratio: 1;

    right: 13%;
    bottom: 9%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(185, 154, 88, 0.28),
            rgba(185, 154, 88, 0.08) 46%,
            transparent 72%
        );

    filter: blur(18px);
}


/* Fotografía del agente */

.rma-hero__person {
    position: relative;
    z-index: 3;

    width: auto;
    max-width: 100%;
    height: 96%;

    object-fit: contain;
    object-position: center bottom;

    filter:
        drop-shadow(
            0 28px 30px rgba(4, 18, 15, 0.35)
        );
}


/* =========================================================
   CREDENTIAL CARD
   ========================================================= */

.rma-hero__credential {
    position: absolute;
    z-index: 5;

    width: min(280px, 55%);

    right: -6px;
    bottom: 7%;

    display: flex;
    align-items: center;
    gap: 14px;

    padding: 16px 18px;

    color: var(--rma-charcoal);

    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: var(--radius-md);

    background: rgba(244, 240, 231, 0.91);

    box-shadow:
        0 18px 46px rgba(5, 24, 20, 0.2);

    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.rma-hero__credential-line {
    width: 2px;
    height: 42px;
    flex: 0 0 2px;

    background:
        linear-gradient(
            180deg,
            var(--rma-gold),
            rgba(185, 154, 88, 0.16)
        );
}

.rma-hero__credential div {
    display: grid;
    gap: 4px;
}

.rma-hero__credential small {
    color: var(--rma-emerald-700);

    font-size: 0.57rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.rma-hero__credential strong {
    color: var(--rma-charcoal);

    font-family: var(--font-heading);
    font-size: clamp(0.95rem, 1.2vw, 1.15rem);
    font-weight: 700;
    line-height: 1.16;
}


/* =========================================================
   SCROLL INDICATOR
   ========================================================= */

.rma-hero__scroll {
    position: absolute;
    z-index: 7;

    right: var(--page-gutter);
    bottom: 25px;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: rgba(244, 240, 231, 0.58);

    font-size: 0.63rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        color var(--motion-fast) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.rma-hero__scroll svg {
    width: 15px;
    height: 21px;

    color: var(--rma-gold);
}

.rma-hero__scroll:hover {
    color: var(--rma-white);
    transform: translateY(3px);
}









































/* =========================================================
   RICHARD MARTIN ACOSTA — CREDENTIALS BAR
   ========================================================= */

.rma-credentials {
    position: relative;
    z-index: 20;

    padding-bottom:
        clamp(70px, 8vw, 120px);

    background:
        linear-gradient(
            180deg,
            transparent 0 46px,
            var(--rma-cream) 46px 100%
        );
}

.rma-credentials__shell {
    display: grid;
    grid-template-columns:
        minmax(220px, 0.8fr)
        minmax(0, 3.7fr);

    margin-top: -46px;

    overflow: hidden;

    border:
        1px solid
        rgba(18, 60, 52, 0.13);

    border-radius: var(--radius-lg);

    background:
        rgba(250, 248, 242, 0.97);

    box-shadow:
        0 28px 80px
        rgba(18, 60, 52, 0.17),
        inset 0 1px 0
        rgba(255, 255, 255, 0.74);

    -webkit-backdrop-filter:
        blur(22px)
        saturate(120%);

    backdrop-filter:
        blur(22px)
        saturate(120%);
}


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

.rma-credentials__intro {
    position: relative;

    display: flex;
    min-height: 172px;

    flex-direction: column;
    justify-content: center;
    align-items: flex-start;

    padding:
        clamp(26px, 3vw, 38px);

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            var(--rma-emerald-900),
            #174A40
        );
}

.rma-credentials__intro::before {
    content: "";

    position: absolute;

    width: 180px;
    aspect-ratio: 1;

    right: -104px;
    bottom: -113px;

    border:
        1px solid
        rgba(185, 154, 88, 0.28);

    border-radius: 50%;
}

.rma-credentials__intro::after {
    content: "";

    position: absolute;

    width: 85px;
    aspect-ratio: 1;

    right: -45px;
    bottom: -60px;

    border:
        1px solid
        rgba(244, 240, 231, 0.12);

    border-radius: 50%;
}

.rma-credentials__eyebrow {
    position: relative;
    z-index: 1;

    display: block;

    margin-bottom: 10px;

    color: var(--rma-gold);

    font-size: 0.6rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rma-credentials__intro h2 {
    position: relative;
    z-index: 1;

    max-width: 210px;

    margin: 0 0 19px;

    color: var(--rma-white);

    font-size:
        clamp(1.65rem, 2.4vw, 2.45rem);

    font-weight: 600;
    line-height: 0.98;
    letter-spacing: -0.035em;
}

.rma-credentials__intro a {
    position: relative;
    z-index: 1;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    color:
        rgba(244, 240, 231, 0.72);

    font-size: 0.66rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.07em;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        color
        var(--motion-fast)
        var(--ease-out);
}

.rma-credentials__intro a svg {
    width: 16px;
    height: 16px;

    color: var(--rma-gold);

    transition:
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-credentials__intro a:hover {
    color: var(--rma-white);
}

.rma-credentials__intro a:hover svg {
    transform: translateX(4px);
}


/* =========================================================
   CREDENTIAL LIST
   ========================================================= */

.rma-credentials__list {
    display: grid;
    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    margin: 0;
    padding: 0;

    list-style: none;
}

.rma-credentials__item {
    position: relative;

    display: flex;
    min-width: 0;
    min-height: 172px;

    flex-direction: column;
    justify-content: center;
    gap: 15px;

    padding:
        25px
        clamp(17px, 1.7vw, 25px);

    overflow: hidden;

    border-left:
        1px solid
        rgba(18, 60, 52, 0.1);

    background:
        rgba(255, 255, 255, 0.42);

    transition:
        background
        var(--motion-base)
        var(--ease-out),
        box-shadow
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-credentials__item::before {
    content: "";

    position: absolute;

    width: 100%;
    height: 3px;

    right: 0;
    bottom: 0;
    left: 0;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--rma-gold),
            transparent
        );

    transform: scaleX(0);
    transform-origin: center;

    transition:
        transform
        var(--motion-slow)
        var(--ease-out);
}

.rma-credentials__item::after {
    content: "";

    position: absolute;

    width: 95px;
    aspect-ratio: 1;

    right: -65px;
    top: -65px;

    border:
        1px solid
        rgba(18, 60, 52, 0.08);

    border-radius: 50%;

    transition:
        border-color
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-slow)
        var(--ease-out);
}

.rma-credentials__item:hover {
    z-index: 2;

    background:
        rgba(255, 255, 255, 0.92);

    box-shadow:
        0 18px 42px
        rgba(18, 60, 52, 0.11);

    transform: translateY(-5px);
}

.rma-credentials__item:hover::before {
    transform: scaleX(1);
}

.rma-credentials__item:hover::after {
    border-color:
        rgba(185, 154, 88, 0.25);

    transform: scale(1.18);
}


/* =========================================================
   ICON
   ========================================================= */

.rma-credentials__icon {
    position: relative;
    z-index: 1;

    display: grid;

    width: 46px;
    height: 46px;
    flex: 0 0 46px;

    place-items: center;

    color: var(--rma-emerald-700);

    border:
        1px solid
        rgba(18, 60, 52, 0.12);

    border-radius: 50%;

    background:
        rgba(168, 185, 165, 0.14);

    transition:
        color
        var(--motion-base)
        var(--ease-out),
        border-color
        var(--motion-base)
        var(--ease-out),
        background
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-credentials__icon svg {
    width: 25px;
    height: 25px;
}

.rma-credentials__item:hover
.rma-credentials__icon {
    color: var(--rma-cream);

    border-color:
        var(--rma-emerald-900);

    background:
        var(--rma-emerald-900);

    transform:
        translateY(-2px)
        rotate(-3deg);
}


/* =========================================================
   TEXT
   ========================================================= */

.rma-credentials__text {
    position: relative;
    z-index: 1;

    display: grid;
    gap: 5px;
}

.rma-credentials__text small {
    color: var(--rma-gold);

    font-size: 0.57rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rma-credentials__text strong {
    color: var(--rma-charcoal);

    font-family: var(--font-heading);

    font-size:
        clamp(1rem, 1.25vw, 1.23rem);

    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.018em;
}









































/* =========================================================
   RICHARD MARTIN ACOSTA — CLIENT PATHWAYS
   ========================================================= */

.rma-pathways {
    position: relative;
    isolation: isolate;

    padding:
        clamp(84px, 9vw, 145px)
        0;

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            var(--rma-cream) 0%,
            #FAF8F2 52%,
            var(--rma-cream) 100%
        );
}


/* Forma decorativa inspirada en un arco residencial */

.rma-pathways::before {
    content: "";

    position: absolute;

    width: min(480px, 42vw);
    aspect-ratio: 0.8;

    right: min(-230px, -16vw);
    top: 7%;

    z-index: -1;
    pointer-events: none;

    border:
        1px solid
        rgba(185, 154, 88, 0.18);

    border-radius:
        50% 50% 8% 8% /
        34% 34% 8% 8%;

    transform: rotate(7deg);
}


/* =========================================================
   HEADER
   ========================================================= */

.rma-pathways__header {
    display: grid;
    /* grid-template-columns:
        minmax(0, 1.1fr)
        minmax(300px, 0.7fr);

    align-items: end;
    gap: clamp(32px, 7vw, 110px);

    margin-bottom:
        clamp(42px, 6vw, 72px); */
}

.rma-pathways__heading h2 {
    max-width: 720px;
    margin: 0;

    color: var(--rma-charcoal);

    font-size:
        clamp(2.8rem, 6.2vw, 6rem);

    line-height: 0.92;
    letter-spacing: -0.05em;
}

.rma-pathways__introduction {
    position: relative;

    padding-left: 28px;

    border-left:
        1px solid
        rgba(185, 154, 88, 0.58);
}

.rma-pathways__introduction p {
    margin: 0 0 18px;

    color: var(--color-text);

    font-size:
        clamp(0.96rem, 1.3vw, 1.08rem);

    line-height: 1.75;
}

.rma-pathways__introduction > span {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    color: var(--rma-emerald-700);

    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rma-pathways__introduction > span::before {
    content: "";

    width: 24px;
    height: 1px;

    background: var(--rma-gold);
}


/* =========================================================
   EDITORIAL GRID
   ========================================================= */

.rma-pathways__grid {
    display: grid;
    grid-template-columns:
        repeat(12, minmax(0, 1fr));

    gap: clamp(16px, 2vw, 26px);
}

.rma-pathways__slot {
    min-width: 0;
    min-height: clamp(320px, 34vw, 465px);
}

.rma-pathways__slot--buy {
    grid-column: span 7;
}

.rma-pathways__slot--sell {
    grid-column: span 5;
}

.rma-pathways__slot--invest {
    grid-column: span 5;
}

.rma-pathways__slot--relocation {
    grid-column: span 7;
}


/* =========================================================
   CARD
   ========================================================= */

.rma-pathways__card {
    position: relative;
    isolation: isolate;

    display: flex;
    width: 100%;
    height: 100%;

    flex-direction: column;
    justify-content: space-between;

    padding:
        clamp(22px, 3vw, 34px);

    overflow: hidden;

    color: var(--rma-white);

    border:
        1px solid
        rgba(255, 255, 255, 0.16);

    border-radius: var(--radius-lg);

    background: var(--rma-emerald-900);

    box-shadow:
        0 20px 55px
        rgba(18, 60, 52, 0.13);

    text-decoration: none;

    transform: translateZ(0);

    transition:
        border-color
        var(--motion-base)
        var(--ease-out),
        box-shadow
        var(--motion-slow)
        var(--ease-out),
        transform
        var(--motion-slow)
        var(--ease-out);
}

.rma-pathways__card:hover {
    color: var(--rma-white);

    border-color:
        rgba(185, 154, 88, 0.55);

    box-shadow:
        0 32px 80px
        rgba(18, 60, 52, 0.22);

    transform: translateY(-7px);
}


/* =========================================================
   IMAGE
   ========================================================= */

.rma-pathways__image {
    position: absolute;
    inset: 0;

    z-index: -3;
}

.rma-pathways__image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    filter:
        saturate(0.78)
        contrast(1.04)
        brightness(0.84);

    transform: scale(1.015);

    transition:
        filter
        var(--motion-slow)
        var(--ease-out),
        transform
        900ms
        var(--ease-out);
}

.rma-pathways__card:hover
.rma-pathways__image img {
    filter:
        saturate(0.94)
        contrast(1.06)
        brightness(0.9);

    transform: scale(1.075);
}


/* Posiciones específicas */

.rma-pathways__slot--buy
.rma-pathways__image img {
    object-position: center 55%;
}

.rma-pathways__slot--sell
.rma-pathways__image img {
    object-position: center;
}

.rma-pathways__slot--invest
.rma-pathways__image img {
    object-position: center 45%;
}

.rma-pathways__slot--relocation
.rma-pathways__image img {
    object-position: center 58%;
}


/* =========================================================
   OVERLAY
   ========================================================= */

.rma-pathways__overlay {
    position: absolute;
    inset: 0;

    z-index: -2;
    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(8, 30, 25, 0.5) 0%,
            rgba(8, 30, 25, 0.12) 38%,
            rgba(8, 30, 25, 0.93) 100%
        ),
        linear-gradient(
            90deg,
            rgba(8, 30, 25, 0.54),
            transparent 70%
        );

    transition:
        background
        var(--motion-slow)
        var(--ease-out);
}

.rma-pathways__card::after {
    content: "";

    position: absolute;

    width: 72%;
    height: 1px;

    right: -23%;
    top: 32%;

    z-index: -1;
    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(185, 154, 88, 0.64),
            transparent
        );

    opacity: 0;

    transform: rotate(-37deg);

    transition:
        opacity
        var(--motion-base)
        var(--ease-out),
        transform
        900ms
        var(--ease-out);
}

.rma-pathways__card:hover::after {
    opacity: 1;
    transform: rotate(-31deg);
}


/* =========================================================
   CARD TOP
   ========================================================= */

.rma-pathways__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.rma-pathways__number {
    color:
        rgba(244, 240, 231, 0.72);

    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.rma-pathways__icon {
    display: grid;

    width: 54px;
    height: 54px;
    flex: 0 0 54px;

    place-items: center;

    color: var(--rma-white);

    border:
        1px solid
        rgba(244, 240, 231, 0.24);

    border-radius: 50%;

    background:
        rgba(18, 60, 52, 0.22);

    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);

    transition:
        color
        var(--motion-base)
        var(--ease-out),
        border-color
        var(--motion-base)
        var(--ease-out),
        background
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-slow)
        var(--ease-out);
}

.rma-pathways__icon svg {
    width: 27px;
    height: 27px;
}

.rma-pathways__card:hover
.rma-pathways__icon {
    color: var(--rma-charcoal);

    border-color: var(--rma-gold);
    background: var(--rma-gold);

    transform: rotate(-5deg) scale(1.06);
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

.rma-pathways__content {
    max-width: 530px;
}

.rma-pathways__label {
    display: block;

    margin-bottom: 10px;

    color: var(--rma-gold);

    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.rma-pathways__content h3 {
    margin: 0 0 12px;

    color: var(--rma-white);

    font-size:
        clamp(2rem, 3.4vw, 3.5rem);

    font-weight: 600;
    line-height: 0.96;
    letter-spacing: -0.04em;
}

.rma-pathways__content p {
    max-width: 480px;

    margin: 0 0 20px;

    color:
        rgba(244, 240, 231, 0.74);

    font-size:
        clamp(0.88rem, 1.1vw, 1rem);

    line-height: 1.65;
}

.rma-pathways__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: var(--rma-white);

    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.rma-pathways__link svg {
    width: 18px;
    height: 18px;

    color: var(--rma-gold);

    transition:
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-pathways__card:hover
.rma-pathways__link svg {
    transform: translateX(5px);
}


/* =========================================================
   FOOTER CTA
   ========================================================= */

.rma-pathways__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;

    margin-top:
        clamp(32px, 5vw, 54px);

    text-align: center;
}

.rma-pathways__footer p {
    margin: 0;

    color: var(--color-text-muted);

    font-size: 0.9rem;
}

.rma-pathways__footer a {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    color: var(--rma-emerald-900);

    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

.rma-pathways__footer a svg {
    width: 18px;
    height: 18px;

    color: var(--rma-gold);

    transition:
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-pathways__footer a:hover svg {
    transform: translateX(5px);
}









































/* =========================================================
   RICHARD MARTIN ACOSTA — ABOUT PRESENTATION
   ========================================================= */

.rma-about {
    position: relative;
    isolation: isolate;

    padding:
        clamp(88px, 10vw, 155px)
        0;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #F8F5ED 0%,
            var(--rma-cream) 48%,
            #EEEFE8 100%
        );
}


/* Arco arquitectónico decorativo */

.rma-about::before {
    content: "";

    position: absolute;
    z-index: -1;

    width: min(560px, 48vw);
    aspect-ratio: 0.78;

    right: min(-300px, -18vw);
    bottom: -230px;

    pointer-events: none;

    border:
        1px solid
        rgba(18, 60, 52, 0.1);

    border-radius:
        50% 50% 5% 5% /
        34% 34% 5% 5%;

    transform: rotate(-8deg);
}

.rma-about::after {
    content: "";

    position: absolute;
    z-index: -1;

    width: 320px;
    height: 320px;

    left: -190px;
    top: 17%;

    pointer-events: none;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(185, 154, 88, 0.12),
            transparent 70%
        );
}


/* =========================================================
   MAIN LAYOUT
   ========================================================= */

.rma-about__container {
    display: grid;
    grid-template-columns:
        minmax(360px, 0.88fr)
        minmax(0, 1.12fr);

    align-items: center;

    gap:
        clamp(48px, 8vw, 125px);
}


/* =========================================================
   VISUAL COMPOSITION
   ========================================================= */

.rma-about__visual {
    position: relative;
    isolation: isolate;

    width: 100%;
    min-height:
        clamp(610px, 62vw, 790px);

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

    overflow: hidden;

    border:
        1px solid
        rgba(18, 60, 52, 0.12);

    border-radius:
        var(--radius-xl);

    background:
        var(--rma-emerald-900);

    box-shadow:
        0 35px 90px
        rgba(18, 60, 52, 0.18);
}


/* Fondo de propiedad */

.rma-about__property {
    position: absolute;
    inset: 0;
    z-index: -4;
}

.rma-about__property img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: 60% center;

    filter:
        saturate(0.72)
        contrast(1.04)
        brightness(0.73);

    transform: scale(1.03);

    transition:
        filter
        var(--motion-slow)
        var(--ease-out),
        transform
        900ms
        var(--ease-out);
}

.rma-about__visual:hover
.rma-about__property img {
    filter:
        saturate(0.86)
        contrast(1.05)
        brightness(0.8);

    transform: scale(1.07);
}


/* Overlay */

.rma-about__property-overlay {
    position: absolute;
    inset: 0;
    z-index: -3;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(9, 32, 27, 0.22) 0%,
            rgba(9, 32, 27, 0.28) 42%,
            rgba(9, 32, 27, 0.88) 100%
        ),
        linear-gradient(
            90deg,
            rgba(18, 60, 52, 0.38),
            transparent 65%
        );
}


/* Arco detrás de la persona */

.rma-about__arch {
    position: absolute;
    z-index: -1;

    width: 78%;
    height: 79%;

    left: 50%;
    bottom: -8%;

    border:
        1px solid
        rgba(185, 154, 88, 0.52);

    border-radius:
        49% 49% 4% 4% /
        29% 29% 4% 4%;

    background:
        linear-gradient(
            155deg,
            rgba(185, 154, 88, 0.14),
            rgba(255, 255, 255, 0.04)
        );

    transform:
        translateX(-50%);
}

.rma-about__arch::before {
    content: "";

    position: absolute;
    inset: 15px;

    border:
        1px solid
        rgba(244, 240, 231, 0.1);

    border-radius:
        inherit;
}


/* Retrato */

.rma-about__portrait {
    position: relative;
    z-index: 2;

    width: auto;
    max-width: 94%;
    height: 91%;

    object-fit: contain;
    object-position: center bottom;

    filter:
        drop-shadow(
            0 26px 28px
            rgba(5, 22, 18, 0.36)
        );
}


/* Número editorial */

.rma-about__visual-number {
    position: absolute;

    top: 26px;
    left: 30px;
    z-index: 3;

    color:
        rgba(244, 240, 231, 0.38);

    font-family:
        var(--font-heading);

    font-size:
        clamp(2rem, 4vw, 4rem);

    font-weight: 600;
    line-height: 1;
}


/* =========================================================
   LOCATION CARD
   ========================================================= */

.rma-about__location-card {
    position: absolute;
    z-index: 5;

    right: 24px;
    bottom: 25px;

    display: flex;
    width:
        min(290px, calc(100% - 48px));

    align-items: center;
    gap: 14px;

    padding: 16px 18px;

    border:
        1px solid
        rgba(255, 255, 255, 0.36);

    border-radius:
        var(--radius-md);

    background:
        rgba(244, 240, 231, 0.92);

    box-shadow:
        0 18px 48px
        rgba(7, 27, 22, 0.25);

    -webkit-backdrop-filter:
        blur(18px);

    backdrop-filter:
        blur(18px);
}

.rma-about__location-icon {
    display: grid;

    width: 44px;
    height: 44px;
    flex: 0 0 44px;

    place-items: center;

    color: var(--rma-cream);

    border-radius: 50%;

    background:
        var(--rma-emerald-900);
}

.rma-about__location-icon svg {
    width: 22px;
    height: 22px;
}

.rma-about__location-card div {
    display: grid;
    gap: 4px;
}

.rma-about__location-card small {
    color:
        var(--rma-gold);

    font-size: 0.56rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.rma-about__location-card strong {
    color:
        var(--rma-charcoal);

    font-family:
        var(--font-heading);

    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.16;
}


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

.rma-about__content {
    min-width: 0;
}

.rma-about__heading {
    margin-bottom:
        clamp(27px, 4vw, 42px);
}

.rma-about__heading h2 {
    max-width: 750px;
    margin: 0;

    color:
        var(--rma-charcoal);

    font-size:
        clamp(2.8rem, 5.7vw, 5.55rem);

    font-weight: 600;
    line-height: 0.94;
    letter-spacing: -0.052em;
}

.rma-about__heading h2 em {
    display: block;

    color:
        var(--rma-emerald-700);

    font-weight: 500;
}


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

.rma-about__introduction {
    max-width: 700px;

    margin-bottom:
        clamp(30px, 5vw, 48px);

    padding-left: 28px;

    border-left:
        1px solid
        rgba(185, 154, 88, 0.62);
}

.rma-about__introduction p {
    margin: 0 0 17px;

    color:
        var(--color-text);

    font-size:
        clamp(0.95rem, 1.25vw, 1.06rem);

    line-height: 1.78;
}

.rma-about__introduction p:last-child {
    margin-bottom: 0;
}

.rma-about__introduction
.rma-about__lead {
    color:
        var(--rma-charcoal);

    font-size:
        clamp(1.12rem, 1.65vw, 1.38rem);

    font-weight: 700;
    line-height: 1.58;
}


/* =========================================================
   ADVANTAGES
   ========================================================= */

.rma-about__advantages {
    display: grid;
    gap: 0;

    margin-bottom:
        clamp(34px, 5vw, 50px);

    border-top:
        1px solid
        rgba(18, 60, 52, 0.12);
}

.rma-about__advantage {
    position: relative;

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

    gap: 20px;

    padding:
        23px 0;

    border-bottom:
        1px solid
        rgba(18, 60, 52, 0.12);

    transition:
        padding-left
        var(--motion-base)
        var(--ease-out),
        background
        var(--motion-base)
        var(--ease-out);
}

.rma-about__advantage:hover {
    padding-left: 14px;

    background:
        linear-gradient(
            90deg,
            rgba(168, 185, 165, 0.12),
            transparent 75%
        );
}

.rma-about__advantage-number {
    color:
        var(--rma-gold);

    font-family:
        var(--font-heading);

    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.5;
}

.rma-about__advantage h3 {
    margin: 0 0 6px;

    color:
        var(--rma-charcoal);

    font-size:
        clamp(1.3rem, 2vw, 1.72rem);

    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.rma-about__advantage p {
    max-width: 560px;
    margin: 0;

    color:
        var(--color-text-muted);

    font-size: 0.88rem;
    line-height: 1.65;
}


/* =========================================================
   FOOTER
   ========================================================= */

.rma-about__footer {
    display: grid;
    gap: 25px;
}

.rma-about__footer blockquote {
    position: relative;

    margin: 0;
    padding-left: 24px;

    color:
        var(--rma-emerald-700);

    font-family:
        var(--font-heading);

    font-size:
        clamp(1.25rem, 2.25vw, 1.8rem);

    font-weight: 600;
    line-height: 1.25;
}

.rma-about__footer blockquote::before {
    content: "“";

    position: absolute;

    left: -5px;
    top: -12px;

    color:
        rgba(185, 154, 88, 0.52);

    font-size: 3.5rem;
    line-height: 1;
}

.rma-about__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 23px;
}

.rma-about__actions
.btn svg {
    width: 18px;
    height: 18px;
}

.rma-about__phone {
    display: grid;
    gap: 2px;

    color:
        var(--rma-charcoal);

    text-decoration: none;
}

.rma-about__phone span {
    color:
        var(--color-text-muted);

    font-size: 0.61rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rma-about__phone strong {
    color:
        var(--rma-emerald-700);

    font-family:
        var(--font-heading);

    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.2;

    transition:
        color
        var(--motion-fast)
        var(--ease-out);
}

.rma-about__phone:hover strong {
    color:
        var(--rma-gold);
}









































/* =========================================================
   RICHARD MARTIN ACOSTA — FEATURED PROPERTIES
   ========================================================= */

.rma-featured {
    position: relative;
    isolation: isolate;

    padding:
        clamp(88px, 10vw, 150px)
        0;

    overflow: hidden;

    color: var(--rma-cream);
    background: var(--rma-emerald-900);
}


/* Fondo inmobiliario de la sección */

.rma-featured__background {
    position: absolute;
    inset: 0;
    z-index: -3;

    background:
        linear-gradient(
            90deg,
            rgba(7, 29, 24, 0.97) 0%,
            rgba(12, 46, 39, 0.91) 48%,
            rgba(12, 46, 39, 0.79) 100%
        ),
        linear-gradient(
            180deg,
            rgba(8, 30, 25, 0.44),
            rgba(8, 30, 25, 0.9)
        ),
        url("/img/fondo.webp")
        center 54% / cover
        no-repeat;

    filter:
        saturate(0.68)
        contrast(1.05);
}

.rma-featured::before {
    content: "";

    position: absolute;
    z-index: -2;

    width: min(580px, 46vw);
    aspect-ratio: 0.78;

    right: min(-290px, -17vw);
    top: -155px;

    border:
        1px solid
        rgba(185, 154, 88, 0.22);

    border-radius:
        50% 50% 7% 7% /
        35% 35% 7% 7%;

    transform: rotate(8deg);
}

.rma-featured::after {
    content: "";

    position: absolute;
    z-index: -2;

    width: 65vw;
    height: 1px;

    left: -17vw;
    bottom: 22%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(185, 154, 88, 0.34),
            transparent
        );

    transform: rotate(-8deg);
}


/* =========================================================
   HEADER
   ========================================================= */

.rma-featured__container {
    position: relative;
    z-index: 1;
}

.rma-featured__header {
    display: grid;
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(290px, 0.65fr);

    align-items: end;
    gap:
        clamp(35px, 7vw, 110px);

    margin-bottom:
        clamp(42px, 6vw, 70px);
}

.rma-featured__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 18px;

    color: var(--rma-gold);

    font-size: 0.7rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.rma-featured__eyebrow::before {
    content: "";

    width: 38px;
    height: 1px;

    background:
        var(--rma-gold);
}

.rma-featured__heading h2 {
    max-width: 770px;
    margin: 0;

    color: var(--rma-white);

    font-size:
        clamp(3rem, 6.3vw, 6.2rem);

    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -0.052em;
}

.rma-featured__heading h2 em {
    display: block;

    color:
        rgba(244, 240, 231, 0.72);

    font-weight: 500;
}

.rma-featured__introduction {
    padding-left: 28px;

    border-left:
        1px solid
        rgba(185, 154, 88, 0.55);
}

.rma-featured__introduction p {
    margin: 0 0 17px;

    color:
        rgba(244, 240, 231, 0.7);

    font-size:
        clamp(0.94rem, 1.25vw, 1.06rem);

    line-height: 1.75;
}

.rma-featured__introduction span {
    color: var(--rma-gold);

    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}


/* =========================================================
   CAROUSEL SHELL
   ========================================================= */

.rma-featured__carousel {
    overflow: hidden;

    border:
        1px solid
        rgba(244, 240, 231, 0.15);

    border-radius:
        var(--radius-xl);

    background:
        rgba(244, 240, 231, 0.97);

    box-shadow:
        0 40px 100px
        rgba(4, 20, 16, 0.35);

    -webkit-backdrop-filter:
        blur(20px);

    backdrop-filter:
        blur(20px);
}


/*
 * Sin JavaScript las tres propiedades se muestran
 * verticalmente y permanecen accesibles.
 */

.rma-featured__track {
    display: grid;
    gap: 1px;

    background:
        rgba(18, 60, 52, 0.12);
}

.rma-featured__controls {
    display: none;
}


/*
 * JavaScript agrega .is-carousel-ready.
 */

.rma-featured.is-carousel-ready
.rma-featured__viewport {
    overflow: hidden;
}

.rma-featured.is-carousel-ready
.rma-featured__track {
    display: flex;
    gap: 0;

    background: transparent;

    transition:
        transform
        760ms
        var(--ease-out);

    will-change: transform;
}

.rma-featured.is-carousel-ready
.rma-featured__slide {
    flex:
        0 0 100%;
}

.rma-featured.is-carousel-ready
.rma-featured__controls {
    display: grid;
}


/* =========================================================
   SLIDE
   ========================================================= */

.rma-featured__slide {
    display: grid;
    grid-template-columns:
        minmax(0, 1.22fr)
        minmax(340px, 0.78fr);

    min-height:
        clamp(540px, 48vw, 650px);

    background:
        var(--rma-cream);
}


/* =========================================================
   MEDIA
   ========================================================= */

.rma-featured__media {
    position: relative;
    isolation: isolate;

    min-width: 0;
    min-height: 100%;

    overflow: hidden;

    background:
        var(--rma-emerald-900);
}

.rma-featured__media img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    filter:
        saturate(0.84)
        contrast(1.03)
        brightness(0.91);

    transform: scale(1.055);

    transition:
        filter 900ms var(--ease-out),
        transform 1100ms var(--ease-out);
}

.rma-featured__slide.is-active
.rma-featured__media img {
    filter:
        saturate(0.96)
        contrast(1.04)
        brightness(0.96);

    transform: scale(1);
}

.rma-featured__image-overlay {
    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(7, 27, 22, 0.27),
            transparent 45%,
            rgba(7, 27, 22, 0.53)
        );
}

.rma-featured__status {
    position: absolute;

    top: 27px;
    left: 28px;

    display: inline-flex;
    min-height: 35px;

    align-items: center;

    padding: 8px 15px;

    color: var(--rma-charcoal);

    border:
        1px solid
        rgba(255, 255, 255, 0.42);

    border-radius:
        var(--radius-pill);

    background:
        rgba(244, 240, 231, 0.91);

    box-shadow:
        0 12px 30px
        rgba(5, 22, 18, 0.19);

    -webkit-backdrop-filter:
        blur(14px);

    backdrop-filter:
        blur(14px);

    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.rma-featured__slide-number {
    position: absolute;

    right: 27px;
    bottom: 23px;

    color:
        rgba(244, 240, 231, 0.52);

    font-family:
        var(--font-heading);

    font-size:
        clamp(3.2rem, 6vw, 6rem);

    font-weight: 600;
    line-height: 0.8;
}


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

.rma-featured__details {
    display: flex;

    flex-direction: column;
    justify-content: center;

    padding:
        clamp(32px, 4.6vw, 66px);

    color:
        var(--rma-charcoal);

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.98),
            rgba(244, 240, 231, 0.97)
        );
}

.rma-featured__type {
    display: block;

    margin-bottom: 16px;

    color:
        var(--rma-emerald-700);

    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rma-featured__price {
    margin: 0 0 8px;

    color:
        var(--rma-gold);

    font-family:
        var(--font-heading);

    font-size:
        clamp(2rem, 3.5vw, 3.45rem);

    font-weight: 700;
    line-height: 1;
}

.rma-featured__details h3 {
    margin: 0 0 7px;

    color:
        var(--rma-charcoal);

    font-size:
        clamp(2.1rem, 3.7vw, 4rem);

    font-weight: 600;
    line-height: 0.94;
    letter-spacing: -0.045em;
}

.rma-featured__location {
    margin: 0;

    color:
        var(--color-text-muted);

    font-size: 0.88rem;
    font-weight: 700;
}


/* =========================================================
   FACTS
   ========================================================= */

.rma-featured__facts {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    margin:
        clamp(27px, 4vw, 40px)
        0;

    padding: 0;

    border-top:
        1px solid
        rgba(18, 60, 52, 0.12);

    border-bottom:
        1px solid
        rgba(18, 60, 52, 0.12);

    list-style: none;
}

.rma-featured__facts li {
    display: grid;
    gap: 3px;

    padding:
        17px 11px;

    border-right:
        1px solid
        rgba(18, 60, 52, 0.1);

    text-align: center;
}

.rma-featured__facts li:first-child {
    padding-left: 0;
}

.rma-featured__facts li:last-child {
    padding-right: 0;
    border-right: 0;
}

.rma-featured__facts strong {
    color:
        var(--rma-emerald-900);

    font-family:
        var(--font-heading);

    font-size:
        clamp(1.15rem, 1.7vw, 1.5rem);

    font-weight: 700;
    line-height: 1;
}

.rma-featured__facts span {
    color:
        var(--color-text-muted);

    font-size: 0.54rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rma-featured__description {
    margin: 0 0 29px;

    color:
        var(--color-text);

    font-size:
        clamp(0.9rem, 1.15vw, 1rem);

    line-height: 1.7;
}


/* =========================================================
   LINKS
   ========================================================= */

.rma-featured__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 19px;
}

.rma-featured__primary-link {
    display: inline-flex;
    min-height: 49px;

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

    padding:
        12px 20px;

    color:
        var(--rma-white);

    border:
        1px solid
        var(--rma-emerald-900);

    border-radius:
        var(--radius-pill);

    background:
        var(--rma-emerald-900);

    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        color var(--motion-base) var(--ease-out),
        border-color var(--motion-base) var(--ease-out),
        background var(--motion-base) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.rma-featured__primary-link svg {
    width: 17px;
    height: 17px;

    transition:
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-featured__primary-link:hover {
    color:
        var(--rma-charcoal);

    border-color:
        var(--rma-gold);

    background:
        var(--rma-gold);

    transform:
        translateY(-2px);
}

.rma-featured__primary-link:hover svg {
    transform:
        translateX(4px);
}

.rma-featured__secondary-link {
    color:
        var(--rma-emerald-700);

    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.065em;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        color
        var(--motion-fast)
        var(--ease-out);
}

.rma-featured__secondary-link:hover {
    color:
        var(--rma-gold);
}


/* =========================================================
   CONTROLS
   ========================================================= */

.rma-featured__controls {
    grid-template-columns:
        auto 1fr auto;

    align-items: center;
    gap: 28px;

    min-height: 78px;

    padding:
        14px
        clamp(20px, 3vw, 38px);

    color:
        var(--rma-charcoal);

    border-top:
        1px solid
        rgba(18, 60, 52, 0.11);

    background:
        rgba(250, 248, 242, 0.98);
}

.rma-featured__counter {
    display: flex;
    align-items: baseline;
    gap: 7px;

    min-width: 68px;

    color:
        var(--color-text-muted);

    font-family:
        var(--font-heading);

    font-size: 1rem;
}

.rma-featured__counter
[data-carousel-current] {
    color:
        var(--rma-emerald-900);

    font-size: 1.65rem;
    font-weight: 700;
}

.rma-featured__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rma-featured__dot {
    position: relative;

    width: 42px;
    height: 16px;

    padding: 0;

    border: 0;
    background: transparent;

    cursor: pointer;
}

.rma-featured__dot::before {
    content: "";

    position: absolute;

    height: 2px;

    right: 0;
    left: 0;
    top: 50%;

    background:
        rgba(18, 60, 52, 0.18);

    transform:
        translateY(-50%);

    transition:
        background
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-featured__dot.is-active::before {
    background:
        var(--rma-gold);

    transform:
        translateY(-50%)
        scaleY(1.5);
}

.rma-featured__arrows {
    display: flex;
    gap: 9px;
}

.rma-featured__arrow {
    display: grid;

    width: 46px;
    height: 46px;

    place-items: center;

    color:
        var(--rma-emerald-900);

    border:
        1px solid
        rgba(18, 60, 52, 0.16);

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.5);

    cursor: pointer;

    transition:
        color var(--motion-base) var(--ease-out),
        border-color var(--motion-base) var(--ease-out),
        background var(--motion-base) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.rma-featured__arrow:hover {
    color:
        var(--rma-charcoal);

    border-color:
        var(--rma-gold);

    background:
        var(--rma-gold);

    transform:
        translateY(-2px);
}

.rma-featured__arrow svg {
    width: 20px;
    height: 20px;
}


/* =========================================================
   FOOTER CTA
   ========================================================= */

.rma-featured__footer {
    display: flex;

    align-items: center;
    justify-content: space-between;
    gap: 30px;

    margin-top:
        clamp(32px, 5vw, 52px);

    padding-top:
        clamp(24px, 4vw, 38px);

    border-top:
        1px solid
        rgba(244, 240, 231, 0.14);
}

.rma-featured__footer > div {
    max-width: 640px;
}

.rma-featured__footer span {
    display: block;

    margin-bottom: 6px;

    color:
        var(--rma-gold);

    font-family:
        var(--font-heading);

    font-size:
        clamp(1.35rem, 2.2vw, 1.8rem);

    font-weight: 600;
}

.rma-featured__footer p {
    margin: 0;

    color:
        rgba(244, 240, 231, 0.66);

    font-size: 0.88rem;
    line-height: 1.65;
}

.rma-featured__footer
.btn--secondary {
    flex: 0 0 auto;
}









































/* =========================================================
   RICHARD MARTIN ACOSTA — CLIENT REVIEWS
   ELEGANT STACKED CARD CAROUSEL
   ========================================================= */

.rma-reviews {
    position: relative;
    isolation: isolate;

    padding:
        clamp(78px, 9vw, 135px)
        0;

    overflow: hidden;

    color: var(--rma-charcoal);

    background:
        linear-gradient(
            145deg,
            #FBF9F3 0%,
            var(--rma-cream) 52%,
            #EEF0E9 100%
        );
}


/* =========================================================
   BACKGROUND
   ========================================================= */

.rma-reviews__background {
    position: absolute;
    inset: 0;
    z-index: -3;

    pointer-events: none;

    opacity: 0.14;

    background:
        linear-gradient(
            90deg,
            rgba(244, 240, 231, 0.96),
            rgba(244, 240, 231, 0.68) 48%,
            rgba(244, 240, 231, 0.95)
        ),
        url("/img/fondo.webp")
        center 55% / cover
        no-repeat;

    filter:
        grayscale(0.32)
        saturate(0.55)
        contrast(0.92);
}

.rma-reviews::before {
    content: "";

    position: absolute;
    z-index: -2;

    width: min(500px, 43vw);
    aspect-ratio: 0.78;

    left: min(-290px, -19vw);
    bottom: -250px;

    pointer-events: none;

    border:
        1px solid
        rgba(185, 154, 88, 0.17);

    border-radius:
        50% 50% 8% 8% /
        35% 35% 8% 8%;

    transform: rotate(-8deg);
}

.rma-reviews::after {
    content: "";

    position: absolute;
    z-index: -2;

    width: min(460px, 40vw);
    aspect-ratio: 1;

    right: -280px;
    top: -260px;

    pointer-events: none;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(185, 154, 88, 0.1),
            transparent 70%
        );
}


/* =========================================================
   HEADER
   ========================================================= */

.rma-reviews__container {
    position: relative;
    z-index: 1;
}

.rma-reviews__header {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: end;
    gap:
        clamp(34px, 7vw, 100px);

    margin-bottom:
        clamp(38px, 5vw, 58px);
}

.rma-reviews__heading {
    max-width: 760px;
}

.rma-reviews__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 16px;

    color:
        var(--rma-emerald-700);

    font-size: 0.67rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.rma-reviews__eyebrow::before {
    content: "";

    width: 36px;
    height: 1px;

    background:
        var(--rma-gold);
}

.rma-reviews__heading h2 {
    margin: 0 0 16px;

    color:
        var(--rma-charcoal);

    font-size:
        clamp(3rem, 6vw, 5.8rem);

    font-weight: 600;
    line-height: 0.92;
    letter-spacing: -0.05em;
}

.rma-reviews__heading > p {
    max-width: 610px;

    margin: 0;

    color:
        var(--color-text-muted);

    font-size:
        clamp(0.9rem, 1.15vw, 1rem);

    line-height: 1.7;
}


/* =========================================================
   SUMMARY
   ========================================================= */

.rma-reviews__summary {
    display: grid;
    grid-template-columns:
        auto minmax(150px, 1fr)
        auto;

    align-items: center;
    gap: 16px;

    min-width: 310px;

    padding:
        17px 19px;

    color:
        var(--rma-charcoal);

    border:
        1px solid
        rgba(18, 60, 52, 0.11);

    border-radius:
        var(--radius-lg);

    background:
        rgba(255, 255, 255, 0.68);

    box-shadow:
        0 16px 42px
        rgba(18, 60, 52, 0.08);

    -webkit-backdrop-filter:
        blur(18px);

    backdrop-filter:
        blur(18px);

    text-decoration: none;

    transition:
        border-color
        var(--motion-base)
        var(--ease-out),
        box-shadow
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-reviews__summary:hover {
    color:
        var(--rma-charcoal);

    border-color:
        rgba(185, 154, 88, 0.48);

    box-shadow:
        0 22px 55px
        rgba(18, 60, 52, 0.13);

    transform:
        translateY(-3px);
}

.rma-reviews__summary > strong {
    color:
        var(--rma-emerald-900);

    font-family:
        var(--font-heading);

    font-size: 2.75rem;
    font-weight: 700;
    line-height: 0.8;
}

.rma-reviews__summary > div {
    display: grid;
    gap: 5px;
}

.rma-reviews__stars {
    display: flex;
    gap: 3px;

    color:
        var(--rma-gold);
}

.rma-reviews__stars svg {
    width: 13px;
    height: 13px;

    fill: currentColor;
}

.rma-reviews__summary > div > span:last-child {
    color:
        var(--color-text-muted);

    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rma-reviews__summary-arrow {
    width: 18px;
    height: 18px;

    color:
        var(--rma-gold);

    transition:
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-reviews__summary:hover
.rma-reviews__summary-arrow {
    transform:
        translate(3px, -3px);
}


/* =========================================================
   NO-JS FALLBACK
   ========================================================= */

.rma-reviews__stage {
    display: grid;
    gap: 18px;
}

.rma-review-card {
    position: relative;

    padding:
        clamp(28px, 4vw, 44px);

    overflow: hidden;

    border:
        1px solid
        rgba(18, 60, 52, 0.11);

    border-radius:
        var(--radius-xl);

    background:
        rgba(255, 255, 255, 0.88);

    box-shadow:
        0 20px 55px
        rgba(18, 60, 52, 0.1);
}

.rma-reviews__controls,
.rma-reviews__counter {
    display: none;
}


/* =========================================================
   ACTIVE CAROUSEL
   ========================================================= */

.rma-reviews.is-reviews-ready
.rma-reviews__carousel {
    position: relative;
}

.rma-reviews.is-reviews-ready
.rma-reviews__stage {
    position: relative;

    display: block;

    width: 100%;
    min-height: 430px;

    overflow: hidden;

    border-radius:
        var(--radius-xl);
}

.rma-reviews.is-reviews-ready
.rma-review-card {
    position: absolute;

    width:
        min(720px, 64vw);

    top: 50%;
    left: 50%;

    padding:
        clamp(30px, 4vw, 48px);

    opacity: 0;
    pointer-events: none;

    transform:
        translate(-50%, -50%)
        scale(0.8);

    transition:
        opacity
        620ms
        var(--ease-out),
        transform
        720ms
        var(--ease-out),
        filter
        620ms
        var(--ease-out),
        box-shadow
        620ms
        var(--ease-out);

    will-change:
        transform,
        opacity;
}


/* Tarjeta central */

.rma-reviews.is-reviews-ready
.rma-review-card.is-active {
    z-index: 5;

    opacity: 1;
    pointer-events: auto;

    filter: none;

    box-shadow:
        0 30px 78px
        rgba(18, 60, 52, 0.17);

    transform:
        translate(-50%, -50%)
        scale(1);
}


/* Tarjeta anterior */

.rma-reviews.is-reviews-ready
.rma-review-card.is-previous {
    z-index: 2;

    opacity: 0.34;
    pointer-events: auto;

    filter:
        saturate(0.7);

    transform:
        translate(
            calc(-50% - 54%),
            -50%
        )
        scale(0.87);
}


/* Tarjeta siguiente */

.rma-reviews.is-reviews-ready
.rma-review-card.is-next {
    z-index: 2;

    opacity: 0.34;
    pointer-events: auto;

    filter:
        saturate(0.7);

    transform:
        translate(
            calc(-50% + 54%),
            -50%
        )
        scale(0.87);
}


/* Tarjetas ocultas */

.rma-reviews.is-reviews-ready
.rma-review-card.is-hidden {
    z-index: 1;

    opacity: 0;
    pointer-events: none;

    transform:
        translate(-50%, -50%)
        scale(0.76);
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

.rma-review-card::before {
    content: "";

    position: absolute;

    width: 150px;
    aspect-ratio: 1;

    right: -75px;
    top: -82px;

    pointer-events: none;

    border:
        1px solid
        rgba(185, 154, 88, 0.17);

    border-radius: 50%;
}

.rma-review-card__quote {
    position: absolute;

    right: 28px;
    top: 13px;

    color:
        rgba(185, 154, 88, 0.16);

    font-family:
        var(--font-heading);

    font-size:
        clamp(6rem, 10vw, 9rem);

    line-height: 1;
}

.rma-review-card__author {
    position: relative;
    z-index: 1;

    display: flex;
    align-items: center;
    gap: 15px;

    margin-bottom: 25px;
}

.rma-review-card__initials {
    position: relative;

    display: grid;

    width: 64px;
    height: 64px;
    flex: 0 0 64px;

    place-items: center;

    overflow: hidden;

    color:
        var(--rma-cream);

    border:
        1px solid
        rgba(185, 154, 88, 0.46);

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            var(--rma-emerald-700),
            var(--rma-emerald-900)
        );

    box-shadow:
        0 10px 26px
        rgba(18, 60, 52, 0.16);

    font-family:
        var(--font-heading);

    font-size: 1.25rem;
    font-weight: 700;
}

.rma-review-card__initials::after {
    content: "";

    position: absolute;

    width: 38px;
    height: 1px;

    right: -14px;
    bottom: 13px;

    background:
        var(--rma-gold);

    transform:
        rotate(-42deg);
}

.rma-review-card__author h3 {
    margin: 0 0 4px;

    color:
        var(--rma-charcoal);

    font-family:
        var(--font-heading);

    font-size:
        clamp(1.35rem, 2vw, 1.7rem);

    font-weight: 700;
    line-height: 1;
}

.rma-review-card__author div > span {
    color:
        var(--rma-emerald-700);

    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rma-review-card blockquote {
    position: relative;
    z-index: 1;

    max-width: 610px;

    margin:
        0 0 28px;

    color:
        var(--rma-charcoal);

    font-family:
        var(--font-heading);

    font-size:
        clamp(1.35rem, 2.4vw, 2rem);

    font-weight: 500;
    line-height: 1.32;
    letter-spacing: -0.02em;
}

.rma-review-card__footer {
    position: relative;
    z-index: 1;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    padding-top: 18px;

    border-top:
        1px solid
        rgba(18, 60, 52, 0.1);
}

.rma-review-card__location {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color:
        var(--color-text-muted);

    font-size: 0.64rem;
    font-weight: 700;
}

.rma-review-card__location svg {
    width: 16px;
    height: 16px;

    color:
        var(--rma-gold);
}

.rma-review-card__verified {
    color:
        var(--rma-emerald-700);

    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* =========================================================
   CONTROLS
   ========================================================= */

.rma-reviews.is-reviews-ready
.rma-reviews__controls {
    display: grid;
    grid-template-columns:
        auto 1fr auto;

    align-items: center;
    gap: 24px;

    width:
        min(100%, 470px);

    margin:
        22px auto 0;
}

.rma-reviews__arrow {
    display: grid;

    width: 48px;
    height: 48px;

    place-items: center;

    color:
        var(--rma-emerald-900);

    border:
        1px solid
        rgba(18, 60, 52, 0.15);

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.7);

    box-shadow:
        0 9px 24px
        rgba(18, 60, 52, 0.07);

    cursor: pointer;

    transition:
        color
        var(--motion-base)
        var(--ease-out),
        border-color
        var(--motion-base)
        var(--ease-out),
        background
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-reviews__arrow:hover {
    color:
        var(--rma-charcoal);

    border-color:
        var(--rma-gold);

    background:
        var(--rma-gold);

    transform:
        translateY(-2px);
}

.rma-reviews__arrow svg {
    width: 21px;
    height: 21px;
}

.rma-reviews__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rma-reviews__dot {
    width: 8px;
    height: 8px;

    padding: 0;

    border:
        1px solid
        rgba(18, 60, 52, 0.3);

    border-radius:
        var(--radius-pill);

    background:
        transparent;

    cursor: pointer;

    transition:
        width
        var(--motion-base)
        var(--ease-out),
        border-color
        var(--motion-base)
        var(--ease-out),
        background
        var(--motion-base)
        var(--ease-out);
}

.rma-reviews__dot.is-active {
    width: 29px;

    border-color:
        var(--rma-gold);

    background:
        var(--rma-gold);
}

.rma-reviews.is-reviews-ready
.rma-reviews__counter {
    display: flex;

    align-items: baseline;
    justify-content: center;
    gap: 6px;

    margin-top: 12px;

    color:
        var(--color-text-muted);

    font-family:
        var(--font-heading);

    font-size: 0.9rem;
}

.rma-reviews__counter
[data-reviews-current] {
    color:
        var(--rma-emerald-900);

    font-size: 1.4rem;
    font-weight: 700;
}


/* =========================================================
   FOOTER CTA
   ========================================================= */

.rma-reviews__footer {
    display: flex;
    justify-content: center;

    margin-top:
        clamp(26px, 4vw, 42px);
}

.rma-reviews__all {
    display: inline-flex;
    min-height: 50px;

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

    padding:
        13px 23px;

    color:
        var(--rma-white);

    border:
        1px solid
        var(--rma-emerald-900);

    border-radius:
        var(--radius-pill);

    background:
        var(--rma-emerald-900);

    box-shadow:
        0 12px 30px
        rgba(18, 60, 52, 0.13);

    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        color
        var(--motion-base)
        var(--ease-out),
        border-color
        var(--motion-base)
        var(--ease-out),
        background
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-reviews__all svg {
    width: 17px;
    height: 17px;

    color:
        var(--rma-gold);

    transition:
        color
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-reviews__all:hover {
    color:
        var(--rma-charcoal);

    border-color:
        var(--rma-gold);

    background:
        var(--rma-gold);

    transform:
        translateY(-2px);
}

.rma-reviews__all:hover svg {
    color:
        var(--rma-charcoal);

    transform:
        translate(2px, -2px);
}











































/* =========================================================
   LOCAL MARKET KNOWLEDGE
   STANDARD INTERACTIVE MAP
   ========================================================= */

.rma-market,
.rma-market *,
.rma-market *::before,
.rma-market *::after {
    box-sizing: border-box;
}

.rma-market svg {
    display: block;
    max-width: 100%;
}


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

.rma-market {
    position: relative;
    isolation: isolate;

    width: 100%;

    padding:
        clamp(82px, 8vw, 132px)
        0;

    overflow: hidden;

    color:
        var(--rma-resources-charcoal, #1D2422);

    background:
        linear-gradient(
            180deg,
            #FCFBF7 0%,
            var(--rma-resources-cream, #F4F0E7) 100%
        );

    scroll-margin-top:
        calc(
            var(--header-height, 90px)
            + 20px
        );
}


/* =========================================================
   BACKGROUND
   ========================================================= */

.rma-market__background {
    position: absolute;
    inset: 0;
    z-index: -4;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 92% 8%,
            rgba(185, 154, 88, 0.12),
            transparent 25%
        ),
        radial-gradient(
            circle at 5% 91%,
            rgba(40, 103, 90, 0.08),
            transparent 29%
        );
}

.rma-market::before {
    content: "";

    position: absolute;

    top: 100px;
    right: -330px;

    z-index: -3;

    width: 720px;
    height: 720px;

    pointer-events: none;

    border:
        1px solid
        rgba(185, 154, 88, 0.09);

    border-radius: 50%;

    box-shadow:
        0 0 0 105px
        rgba(185, 154, 88, 0.012);
}


/* =========================================================
   CONTAINER
   ========================================================= */

.rma-market__container {
    position: relative;
    z-index: 1;

    width:
        min(
            calc(100% - 48px),
            1440px
        );

    max-width: 1440px;

    margin-inline: auto;
}


/* =========================================================
   SECTION HEADER
   ========================================================= */

.rma-market__header {
    display: grid;

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

    align-items: end;

    gap:
        clamp(38px, 6vw, 92px);

    margin-bottom:
        clamp(38px, 5vw, 62px);
}


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

.rma-market__eyebrow {
    display: inline-flex;

    align-items: center;
    gap: 11px;

    margin-bottom: 17px;

    color:
        var(--rma-resources-green, #28675A);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.rma-market__eyebrow > span {
    display: grid;

    width: 35px;
    height: 35px;

    flex: 0 0 35px;
    place-items: center;

    color:
        var(--rma-resources-charcoal, #1D2422);

    border-radius: 50%;

    background:
        var(--rma-resources-gold, #B99A58);

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0;
}

.rma-market__eyebrow i {
    width: 36px;
    height: 1px;

    flex: 0 0 36px;

    background:
        rgba(40, 103, 90, 0.4);
}


/* =========================================================
   HEADING
   ========================================================= */

.rma-market__heading h2 {
    max-width: 830px;

    margin: 0;

    color:
        var(--rma-resources-charcoal, #1D2422);

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size:
        clamp(3rem, 5vw, 5.25rem);

    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -0.048em;

    text-wrap: balance;
}

.rma-market__heading h2 em {
    color:
        var(--rma-resources-green, #28675A);

    font-weight: 500;
}


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

.rma-market__introduction > p {
    margin:
        0 0 18px;

    color: #6C7671;

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size:
        clamp(0.75rem, 0.92vw, 0.91rem);

    line-height: 1.75;
}

.rma-market__licensed {
    display: grid;

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

    align-items: center;
    gap: 10px;
}

.rma-market__licensed > span {
    display: grid;

    width: 39px;
    height: 39px;

    place-items: center;

    color:
        var(--rma-resources-green, #28675A);

    border:
        1px solid
        rgba(40, 103, 90, 0.13);

    border-radius: 50%;

    background:
        rgba(168, 185, 165, 0.11);
}

.rma-market__licensed svg {
    width: 18px;
    height: 18px;
}

.rma-market__licensed small {
    display: block;

    margin-bottom: 2px;

    color:
        var(--rma-resources-gold, #B99A58);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.065em;
    text-transform: uppercase;
}

.rma-market__licensed strong {
    color:
        var(--rma-resources-charcoal, #1D2422);

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size: 0.93rem;
}


/* =========================================================
   TWO-COLUMN EXPERIENCE
   ========================================================= */

.rma-market__experience {
    display: grid;

    grid-template-columns:
        minmax(350px, 0.7fr)
        minmax(0, 1.3fr);

    align-items: stretch;

    min-height: 690px;

    overflow: hidden;

    border:
        1px solid
        rgba(18, 60, 52, 0.1);

    border-radius:
        clamp(29px, 4vw, 43px);

    background:
        #FFFFFF;

    box-shadow:
        0 30px 85px
        rgba(18, 60, 52, 0.11);
}


/* =========================================================
   LEFT EXPLORER
   ========================================================= */

.rma-market__explorer {
    position: relative;

    display: flex;

    min-width: 0;

    flex-direction: column;

    padding:
        clamp(23px, 3vw, 35px);

    background:
        linear-gradient(
            155deg,
            #174B40 0%,
            var(--rma-resources-emerald, #123C34) 57%,
            #0B2D26 100%
        );
}

.rma-market__explorer::before {
    content: "";

    position: absolute;

    top: -190px;
    left: -210px;

    width: 470px;
    height: 470px;

    pointer-events: none;

    border:
        1px solid
        rgba(185, 154, 88, 0.13);

    border-radius: 50%;
}


/* =========================================================
   EXPLORER HEADER
   ========================================================= */

.rma-market__explorer-header {
    position: relative;
    z-index: 1;

    display: flex;

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

    gap: 20px;

    margin-bottom: 21px;
}

.rma-market__explorer-header > div > small {
    display: block;

    margin-bottom: 6px;

    color:
        var(--rma-resources-gold, #B99A58);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.rma-market__explorer-header h3 {
    max-width: 300px;

    margin: 0;

    color:
        var(--rma-resources-cream, #F4F0E7);

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size:
        clamp(1.65rem, 2.4vw, 2.25rem);

    font-weight: 600;
    line-height: 0.95;
}

.rma-market__explorer-count {
    display: grid;

    flex: 0 0 auto;

    text-align: right;
}

.rma-market__explorer-count strong {
    color:
        var(--rma-resources-gold, #B99A58);

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size: 1.7rem;
    line-height: 1;
}

.rma-market__explorer-count small {
    margin-top: 2px;

    color:
        rgba(244, 240, 231, 0.4);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.31rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


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

.rma-market__filters {
    position: relative;
    z-index: 1;

    display: grid;

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

    gap: 6px;

    margin-bottom: 18px;
}

.rma-market__filter {
    min-height: 39px;

    padding:
        8px 10px;

    cursor: pointer;

    color:
        rgba(244, 240, 231, 0.54);

    border:
        1px solid
        rgba(244, 240, 231, 0.1);

    border-radius: 999px;

    background:
        rgba(255, 255, 255, 0.025);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;

    transition:
        color 200ms ease,
        border-color 200ms ease,
        background-color 200ms ease;
}

.rma-market__filter:hover {
    color:
        var(--rma-resources-cream, #F4F0E7);

    border-color:
        rgba(185, 154, 88, 0.3);
}

.rma-market__filter.is-active {
    color:
        var(--rma-resources-charcoal, #1D2422);

    border-color:
        var(--rma-resources-gold, #B99A58);

    background:
        var(--rma-resources-gold, #B99A58);
}


/* =========================================================
   MARKET LIST
   ========================================================= */

.rma-market__list {
    position: relative;
    z-index: 1;

    display: grid;

    gap: 6px;

    flex: 1 1 auto;

    max-height: 425px;

    padding-right: 4px;

    overflow-y: auto;

    scrollbar-width: thin;
    scrollbar-color:
        rgba(185, 154, 88, 0.35)
        transparent;
}

.rma-market__list::-webkit-scrollbar {
    width: 5px;
}

.rma-market__list::-webkit-scrollbar-track {
    background: transparent;
}

.rma-market__list::-webkit-scrollbar-thumb {
    border-radius: 999px;

    background:
        rgba(185, 154, 88, 0.35);
}


/* =========================================================
   MARKET AREA CARD
   ========================================================= */

.rma-market__area {
    display: grid;

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

    align-items: center;
    gap: 11px;

    width: 100%;

    min-height: 70px;

    padding:
        10px 11px;

    cursor: pointer;

    text-align: left;

    color:
        var(--rma-resources-cream, #F4F0E7);

    border:
        1px solid
        rgba(244, 240, 231, 0.08);

    border-radius: 17px;

    background:
        rgba(255, 255, 255, 0.026);

    transition:
        border-color 200ms ease,
        background-color 200ms ease,
        transform 200ms ease;
}

.rma-market__area:hover {
    border-color:
        rgba(185, 154, 88, 0.3);

    background:
        rgba(185, 154, 88, 0.055);

    transform:
        translateX(3px);
}

.rma-market__area.is-active {
    border-color:
        rgba(185, 154, 88, 0.43);

    background:
        rgba(185, 154, 88, 0.1);
}

.rma-market__area[hidden] {
    display: none;
}

.rma-market__area-number {
    display: grid;

    width: 34px;
    height: 34px;

    flex: 0 0 34px;
    place-items: center;

    color:
        var(--rma-resources-gold, #B99A58);

    border:
        1px solid
        rgba(185, 154, 88, 0.25);

    border-radius: 50%;

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size: 0.64rem;
    font-weight: 700;
}

.rma-market__area.is-active
.rma-market__area-number {
    color:
        var(--rma-resources-charcoal, #1D2422);

    background:
        var(--rma-resources-gold, #B99A58);
}

.rma-market__area-content {
    display: grid;

    min-width: 0;
}

.rma-market__area-content small {
    margin-bottom: 1px;

    color:
        var(--rma-resources-gold, #B99A58);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: .65rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.rma-market__area-content strong {
    overflow-wrap: break-word;

    color:
        var(--rma-resources-cream, #F4F0E7);

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.05;
}

.rma-market__area-content > span {
    margin-top: 2px;

    color:
        rgba(244, 240, 231, 0.4);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.57rem;
    font-weight: 650;
}

.rma-market__area-arrow {
    display: grid;

    width: 29px;
    height: 29px;

    place-items: center;

    color:
        rgba(244, 240, 231, 0.42);

    border:
        1px solid
        rgba(244, 240, 231, 0.08);

    border-radius: 50%;

    transition:
        color 200ms ease,
        border-color 200ms ease,
        transform 200ms ease;
}

.rma-market__area-arrow svg {
    width: 14px;
    height: 14px;
}

.rma-market__area:hover
.rma-market__area-arrow,
.rma-market__area.is-active
.rma-market__area-arrow {
    color:
        var(--rma-resources-gold, #B99A58);

    border-color:
        rgba(185, 154, 88, 0.3);

    transform:
        translateX(2px);
}


/* =========================================================
   CONSULTATION
   ========================================================= */

.rma-market__consultation {
    position: relative;
    z-index: 1;

    display: grid;

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

    align-items: center;
    gap: 10px;

    margin-top: 17px;
    padding-top: 17px;

    border-top:
        1px solid
        rgba(244, 240, 231, 0.09);
}

.rma-market__consultation-icon {
    display: grid;

    width: 39px;
    height: 39px;

    place-items: center;

    color:
        var(--rma-resources-gold, #B99A58);

    border:
        1px solid
        rgba(185, 154, 88, 0.24);

    border-radius: 50%;
}

.rma-market__consultation-icon svg {
    width: 18px;
    height: 18px;
}

.rma-market__consultation small {
    display: block;

    margin-bottom: 2px;

    color:
        var(--rma-resources-gold, #B99A58);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.31rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.rma-market__consultation strong {
    display: block;

    color:
        var(--rma-resources-cream, #F4F0E7);

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size: 0.86rem;
    line-height: 1.05;
}

.rma-market__consultation > a {
    grid-column:
        1 / -1;

    display: inline-flex;

    min-height: 43px;

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

    margin-top: 3px;
    padding:
        9px 14px;

    color:
        var(--rma-resources-charcoal, #1D2422);

    border-radius: 999px;

    background:
        var(--rma-resources-gold, #B99A58);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background-color 200ms ease,
        transform 200ms ease;
}

.rma-market__consultation > a svg {
    width: 15px;
    height: 15px;

    transition:
        transform 200ms ease;
}

.rma-market__consultation > a:hover {
    background:
        var(--rma-resources-cream, #F4F0E7);

    transform:
        translateY(-2px);
}

.rma-market__consultation > a:hover svg {
    transform:
        translateX(3px);
}


/* =========================================================
   RIGHT MAP PANEL
   ========================================================= */

.rma-market__map-panel {
    display: flex;

    min-width: 0;

    flex-direction: column;

    padding:
        clamp(14px, 1.8vw, 21px);

    background:
        #F7F5EF;
}


/* =========================================================
   MAP TOP
   ========================================================= */

.rma-market__map-top {
    display: flex;

    flex: 0 0 auto;

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

    gap: 18px;

    min-height: 55px;

    margin-bottom: 12px;
}

.rma-market__map-label {
    display: grid;

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

    align-items: center;
    gap: 9px;
}

.rma-market__map-label > span {
    display: grid;

    width: 39px;
    height: 39px;

    place-items: center;

    color:
        var(--rma-resources-green, #28675A);

    border:
        1px solid
        rgba(40, 103, 90, 0.12);

    border-radius: 50%;

    background:
        rgba(168, 185, 165, 0.12);
}

.rma-market__map-label svg {
    width: 18px;
    height: 18px;
}

.rma-market__map-label small {
    display: block;

    margin-bottom: 2px;

    color:
        var(--rma-resources-gold, #B99A58);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rma-market__map-label strong {
    color:
        var(--rma-resources-charcoal, #1D2422);

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size: 1rem;
}


/* =========================================================
   RESET
   ========================================================= */

.rma-market__reset {
    display: inline-flex;

    min-height: 40px;

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

    padding:
        8px 12px;

    cursor: pointer;

    color:
        var(--rma-resources-green, #28675A);

    border:
        1px solid
        rgba(40, 103, 90, 0.13);

    border-radius: 999px;

    background:
        rgba(168, 185, 165, 0.1);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;

    transition:
        border-color 200ms ease,
        background-color 200ms ease,
        transform 200ms ease;
}

.rma-market__reset svg {
    width: 15px;
    height: 15px;
}

.rma-market__reset:hover {
    border-color:
        rgba(185, 154, 88, 0.38);

    background:
        rgba(185, 154, 88, 0.08);

    transform:
        translateY(-2px);
}


/* =========================================================
   MAP FRAME
   ========================================================= */

.rma-market__map-frame {
    position: relative;

    flex: 1 1 auto;

    min-height: 545px;

    overflow: hidden;

    border:
        1px solid
        rgba(18, 60, 52, 0.09);

    border-radius:
        clamp(23px, 2.5vw, 31px);

    background:
        #E5E9E3;
}


/* =========================================================
   ACTUAL LEAFLET MAP
   ========================================================= */

.rma-market__map {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;
    min-height: 545px;

    z-index: 1;

    background:
        #E5E9E3;
}


/* =========================================================
   LEAFLET CONTROLS
   ========================================================= */

.rma-market
.leaflet-control-zoom {
    overflow: hidden;

    border: 0 !important;

    border-radius: 14px !important;

    box-shadow:
        0 12px 32px
        rgba(18, 60, 52, 0.16) !important;
}

.rma-market
.leaflet-control-zoom a {
    display: grid;

    width: 40px !important;
    height: 40px !important;

    place-items: center;

    color:
        var(--rma-resources-charcoal, #1D2422) !important;

    border: 0 !important;
    border-bottom:
        1px solid
        rgba(18, 60, 52, 0.07) !important;

    background:
        rgba(255, 255, 255, 0.96) !important;

    line-height: 40px !important;
}

.rma-market
.leaflet-control-zoom a:hover {
    color:
        var(--rma-resources-green, #28675A) !important;

    background:
        var(--rma-resources-cream, #F4F0E7) !important;
}

.rma-market
.leaflet-control-attribution {
    padding:
        4px 7px !important;

    color: #757E79 !important;

    background:
        rgba(255, 255, 255, 0.88) !important;

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 9px !important;
}

.rma-market
.leaflet-control-attribution a {
    color:
        var(--rma-resources-green, #28675A);
}


/* =========================================================
   CUSTOM MARKET HOUSE MARKER
   ========================================================= */

.rma-market-marker-wrapper {
    background: transparent !important;
    border: 0 !important;
}

.rma-market-marker {
    position: relative;

    width: 48px;
    height: 54px;
}

.rma-market-marker__pin {
    display: grid;

    width: 45px;
    height: 45px;

    place-items: center;

    color:
        var(--rma-resources-cream, #F4F0E7);

    border:
        3px solid #FFFFFF;

    border-radius:
        16px 16px 16px 5px;

    background:
        var(--rma-resources-emerald, #123C34);

    box-shadow:
        0 9px 24px
        rgba(18, 60, 52, 0.28);

    transform:
        rotate(-45deg);

    transition:
        background-color 200ms ease,
        box-shadow 200ms ease,
        transform 200ms ease;
}

.rma-market-marker__pin svg {
    width: 21px;
    height: 21px;

    transform:
        rotate(45deg);
}

.rma-market-marker.is-active
.rma-market-marker__pin {
    color:
        var(--rma-resources-charcoal, #1D2422);

    background:
        var(--rma-resources-gold, #B99A58);

    box-shadow:
        0 12px 32px
        rgba(18, 60, 52, 0.35);

    transform:
        rotate(-45deg)
        scale(1.08);
}


/* =========================================================
   MAP OVERLAYS
   ========================================================= */

.rma-market__map-instruction,
.rma-market__selected {
    position: absolute;
    z-index: 600;

    display: grid;

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

    align-items: center;
    gap: 9px;

    border:
        1px solid
        rgba(255, 255, 255, 0.65);

    background:
        rgba(252, 251, 247, 0.93);

    box-shadow:
        0 15px 38px
        rgba(18, 60, 52, 0.15);

    -webkit-backdrop-filter:
        blur(12px);

    backdrop-filter:
        blur(12px);
}

.rma-market__map-instruction {
    top: 14px;
    left: 14px;

    max-width: 265px;

    padding:
        10px 12px;

    border-radius: 16px;
}

.rma-market__map-instruction > span {
    display: grid;

    width: 34px;
    height: 34px;

    place-items: center;

    color:
        var(--rma-resources-charcoal, #1D2422);

    border-radius: 50%;

    background:
        var(--rma-resources-gold, #B99A58);
}

.rma-market__map-instruction svg {
    width: 17px;
    height: 17px;
}

.rma-market__map-instruction small,
.rma-market__selected small {
    display: block;

    margin-bottom: 1px;

    color:
        var(--rma-resources-gold, #B99A58);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.rma-market__map-instruction strong,
.rma-market__selected strong {
    display: block;

    color:
        var(--rma-resources-charcoal, #1D2422);

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size: 1rem;
    line-height: 1.05;
}


/* =========================================================
   SELECTED MARKET
   ========================================================= */

.rma-market__selected {
    right: 14px;
    bottom: 27px;

    max-width: 260px;

    padding:
        10px 13px;

    border-radius: 16px;
}

.rma-market__selected-index {
    display: grid;

    width: 35px;
    height: 35px;

    place-items: center;

    color:
        var(--rma-resources-charcoal, #1D2422);

    border-radius: 50%;

    background:
        var(--rma-resources-gold, #B99A58);

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size: 0.62rem;
    font-weight: 700;
}


/* =========================================================
   MAP BOTTOM
   ========================================================= */

.rma-market__map-bottom {
    display: grid;

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

    gap: 6px;

    flex: 0 0 auto;

    margin-top: 11px;
}

.rma-market__map-bottom > div {
    display: grid;

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

    align-items: center;
    gap: 8px;

    min-width: 0;

    padding:
        10px;

    border:
        1px solid
        rgba(18, 60, 52, 0.07);

    border-radius: 14px;

    background:
        rgba(255, 255, 255, 0.64);
}

.rma-market__map-bottom-icon {
    display: grid;

    width: 31px;
    height: 31px;

    place-items: center;

    color:
        var(--rma-resources-green, #28675A);

    border-radius: 50%;

    background:
        rgba(168, 185, 165, 0.13);
}

.rma-market__map-bottom-icon svg {
    width: 15px;
    height: 15px;
}

.rma-market__map-bottom strong {
    display: block;

    margin-bottom: 1px;

    color:
        var(--rma-resources-charcoal, #1D2422);

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size: 1rem;
    line-height: 1;
}

.rma-market__map-bottom small {
    display: block;

    color: #818A85;

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.6rem;
    font-weight: 650;
    line-height: 1.35;
}


/* =========================================================
   LEAFLET POPUP
   ========================================================= */

.rma-market
.leaflet-popup-content-wrapper {
    overflow: hidden;

    padding: 0;

    border:
        1px solid
        rgba(18, 60, 52, 0.1);

    border-radius: 21px;

    background:
        #FCFBF7;

    box-shadow:
        0 24px 60px
        rgba(18, 60, 52, 0.2);
}

.rma-market
.leaflet-popup-content {
    width:
        min(
            300px,
            calc(100vw - 70px)
        ) !important;

    margin: 0 !important;
}

.rma-market
.leaflet-popup-tip {
    background:
        #FCFBF7;
}

.rma-market
.leaflet-popup-close-button {
    top: 9px !important;
    right: 9px !important;

    display: grid;

    width: 28px !important;
    height: 28px !important;

    place-items: center;

    z-index: 10;

    color:
        var(--rma-resources-cream, #F4F0E7) !important;

    border:
        1px solid
        rgba(244, 240, 231, 0.17);

    border-radius: 50%;

    background:
        rgba(18, 60, 52, 0.88);

    font-size: 18px !important;
    line-height: 24px !important;
}


/* =========================================================
   MARKET POPUP CARD
   ========================================================= */

.rma-market-popup {
    overflow: hidden;

    color:
        var(--rma-resources-charcoal, #1D2422);
}

.rma-market-popup__header {
    position: relative;

    padding:
        22px 18px 17px;

    color:
        var(--rma-resources-cream, #F4F0E7);

    background:
        linear-gradient(
            135deg,
            #194F43,
            var(--rma-resources-emerald, #123C34)
        );
}

.rma-market-popup__jurisdiction {
    display: inline-flex;

    min-height: 25px;

    align-items: center;

    margin-bottom: 10px;
    padding:
        5px 9px;

    color:
        var(--rma-resources-charcoal, #1D2422);

    border-radius: 999px;

    background:
        var(--rma-resources-gold, #B99A58);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.33rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.rma-market-popup__header h3 {
    margin:
        0 0 4px;

    color:
        var(--rma-resources-cream, #F4F0E7);

    font-family:
        var(--font-heading, "Cormorant Garamond", serif);

    font-size: 1.55rem;
    font-weight: 600;
    line-height: 0.95;
}

.rma-market-popup__header p {
    margin: 0;

    color:
        rgba(244, 240, 231, 0.5);

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.41rem;
    font-weight: 650;
}

.rma-market-popup__body {
    padding:
        15px 16px 16px;
}

.rma-market-popup__body > p {
    margin:
        0 0 13px;

    color: #707A75;

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.45rem;
    font-weight: 600;
    line-height: 1.58;
}

.rma-market-popup__actions {
    display: grid;

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

    gap: 6px;
}

.rma-market-popup__properties,
.rma-market-popup__contact {
    display: inline-flex;

    min-height: 39px;

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

    padding:
        8px 10px;

    border-radius: 999px;

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.34rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.rma-market-popup__properties {
    color:
        var(--rma-resources-cream, #F4F0E7);

    background:
        var(--rma-resources-emerald, #123C34);
}

.rma-market-popup__contact {
    color:
        var(--rma-resources-green, #28675A);

    border:
        1px solid
        rgba(40, 103, 90, 0.14);

    background:
        rgba(168, 185, 165, 0.11);
}


/* =========================================================
   NOTICE
   ========================================================= */

.rma-market__notice {
    display: grid;

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

    align-items: center;
    gap: 10px;

    max-width: 970px;

    margin-top: 21px;
    padding-top: 20px;

    border-top:
        1px solid
        rgba(18, 60, 52, 0.08);
}

.rma-market__notice > span {
    display: grid;

    width: 37px;
    height: 37px;

    place-items: center;

    color:
        var(--rma-resources-green, #28675A);

    border:
        1px solid
        rgba(40, 103, 90, 0.14);

    border-radius: 50%;
}

.rma-market__notice svg {
    width: 17px;
    height: 17px;
}

.rma-market__notice p {
    margin: 0;

    color: #78817D;

    font-family:
        var(--font-body, "Manrope", sans-serif);

    font-size: 0.8rem;
    font-weight: 650;
    line-height: 1.55;
}













































/* =========================================================
   RICHARD MARTIN ACOSTA — RESOURCES
   BUYER & SELLER RESOURCE CENTER
   ========================================================= */

.rma-resources {
    position: relative;
    isolation: isolate;

    padding:
        clamp(88px, 10vw, 150px)
        0;

    overflow: hidden;

    color: var(--rma-charcoal);

    background:
        linear-gradient(
            145deg,
            #FBF9F4 0%,
            var(--rma-cream) 52%,
            #EDF0E9 100%
        );
}


/* =========================================================
   BACKGROUND
   ========================================================= */

.rma-resources__background {
    position: absolute;
    inset: 0;
    z-index: -3;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 88% 12%,
            rgba(185, 154, 88, 0.12),
            transparent 26%
        ),
        radial-gradient(
            circle at 6% 78%,
            rgba(40, 103, 90, 0.08),
            transparent 26%
        );
}

.rma-resources::before {
    content: "";

    position: absolute;
    z-index: -2;

    width: min(520px, 44vw);
    aspect-ratio: 0.78;

    right: min(-300px, -18vw);
    top: -240px;

    pointer-events: none;

    border:
        1px solid
        rgba(185, 154, 88, 0.17);

    border-radius:
        50% 50% 7% 7% /
        35% 35% 7% 7%;

    transform: rotate(8deg);
}

.rma-resources::after {
    content: "";

    position: absolute;
    z-index: -2;

    width: 52vw;
    height: 1px;

    left: -15vw;
    bottom: 22%;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(185, 154, 88, 0.24),
            transparent
        );

    transform: rotate(-10deg);
}


/* =========================================================
   CONTAINER
   ========================================================= */

.rma-resources__container {
    position: relative;
    z-index: 1;
}


/* =========================================================
   HEADER
   ========================================================= */

.rma-resources__header {
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(330px, 0.62fr);

    align-items: end;
    gap:
        clamp(40px, 7vw, 105px);

    margin-bottom:
        clamp(42px, 6vw, 72px);
}

.rma-resources__heading {
    max-width: 800px;
}

.rma-resources__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 18px;

    color: var(--rma-emerald-700);

    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.rma-resources__eyebrow::before {
    content: "";

    width: 38px;
    height: 1px;

    background: var(--rma-gold);
}

.rma-resources__heading h2 {
    margin: 0 0 22px;

    color: var(--rma-charcoal);

    font-size:
        clamp(3rem, 6.15vw, 6rem);

    font-weight: 600;
    line-height: 0.91;
    letter-spacing: -0.052em;
}

.rma-resources__heading h2 em {
    display: block;

    color: var(--rma-emerald-700);

    font-weight: 500;
}

.rma-resources__heading > p {
    max-width: 660px;

    margin: 0;

    color: var(--color-text-muted);

    font-size:
        clamp(0.94rem, 1.25vw, 1.07rem);

    line-height: 1.75;
}


/* =========================================================
   EXPERTISE CARD
   ========================================================= */

.rma-resources__expertise {
    position: relative;

    padding:
        clamp(24px, 3vw, 34px);

    overflow: hidden;

    border:
        1px solid
        rgba(18, 60, 52, 0.11);

    border-radius: var(--radius-xl);

    background:
        rgba(255, 255, 255, 0.64);

    box-shadow:
        0 22px 58px
        rgba(18, 60, 52, 0.09);

    -webkit-backdrop-filter:
        blur(20px)
        saturate(110%);

    backdrop-filter:
        blur(20px)
        saturate(110%);
}

.rma-resources__expertise::after {
    content: "“";

    position: absolute;

    right: 20px;
    top: 2px;

    color:
        rgba(185, 154, 88, 0.16);

    font-family: var(--font-heading);

    font-size: 7rem;
    line-height: 1;
}

.rma-resources__expertise-label {
    position: relative;
    z-index: 1;

    display: block;

    margin-bottom: 16px;

    color: var(--rma-gold);

    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.rma-resources__expertise blockquote {
    position: relative;
    z-index: 1;

    margin:
        0 0 23px;

    color: var(--rma-charcoal);

    font-family: var(--font-heading);

    font-size:
        clamp(1.3rem, 2.1vw, 1.75rem);

    font-weight: 600;
    line-height: 1.28;
    letter-spacing: -0.02em;
}

.rma-resources__credentials {
    position: relative;
    z-index: 1;

    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.rma-resources__credentials span {
    padding:
        7px 10px;

    color: var(--rma-emerald-900);

    border:
        1px solid
        rgba(18, 60, 52, 0.1);

    border-radius: var(--radius-pill);

    background:
        rgba(168, 185, 165, 0.13);

    font-size: 0.53rem;
    font-weight: 800;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.rma-resources__navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    margin-bottom:
        clamp(27px, 4vw, 42px);
}

.rma-resources__tabs {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    width:
        min(100%, 680px);

    gap: 7px;

    padding: 7px;

    border:
        1px solid
        rgba(18, 60, 52, 0.1);

    border-radius: var(--radius-xl);

    background:
        rgba(255, 255, 255, 0.54);

    box-shadow:
        0 13px 38px
        rgba(18, 60, 52, 0.06);
}

.rma-resources__tab {
    display: grid;
    grid-template-columns:
        auto minmax(0, 1fr);

    align-items: center;
    gap: 13px;

    min-height: 72px;

    padding:
        12px 17px;

    color: var(--color-text-muted);

    border: 0;
    border-radius: var(--radius-lg);

    background: transparent;

    cursor: pointer;

    text-align: left;

    transition:
        color
        var(--motion-base)
        var(--ease-out),
        background
        var(--motion-base)
        var(--ease-out),
        box-shadow
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-resources__tab:hover {
    color: var(--rma-emerald-900);

    background:
        rgba(168, 185, 165, 0.12);
}

.rma-resources__tab.is-active {
    color: var(--rma-white);

    background:
        linear-gradient(
            145deg,
            var(--rma-emerald-700),
            var(--rma-emerald-900)
        );

    box-shadow:
        0 12px 28px
        rgba(18, 60, 52, 0.2);

    transform:
        translateY(-1px);
}

.rma-resources__tab-number {
    display: grid;

    width: 38px;
    height: 38px;

    place-items: center;

    color: var(--rma-gold);

    border:
        1px solid
        rgba(185, 154, 88, 0.32);

    border-radius: 50%;

    font-family: var(--font-heading);

    font-size: 0.86rem;
    font-weight: 700;
}

.rma-resources__tab-copy {
    display: grid;
    gap: 3px;
}

.rma-resources__tab-copy strong {
    font-family: var(--font-heading);

    font-size:
        clamp(1.05rem, 1.6vw, 1.3rem);

    font-weight: 700;
    line-height: 1.05;
}

.rma-resources__tab-copy small {
    color: inherit;

    opacity: 0.72;

    font-size: 0.56rem;
    font-weight: 700;
}

.rma-resources__view-all {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    flex: 0 0 auto;

    color: var(--rma-emerald-900);

    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-decoration: none;
    text-transform: uppercase;
}

.rma-resources__view-all svg {
    width: 18px;
    height: 18px;

    color: var(--rma-gold);

    transition:
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-resources__view-all:hover svg {
    transform: translateX(5px);
}


/* =========================================================
   NO-JS FALLBACK
   ========================================================= */

.rma-resources__panel + .rma-resources__panel {
    margin-top: 30px;
}


/* JavaScript activates one panel at a time */

.rma-resources.is-resources-ready
.rma-resources__panel + .rma-resources__panel {
    margin-top: 0;
}

.rma-resources.is-resources-ready
.rma-resources__panel[hidden] {
    display: none;
}

.rma-resources.is-resources-ready
.rma-resources__panel.is-active {
    animation:
        rma-resource-panel-enter
        560ms
        var(--ease-out)
        both;
}

@keyframes rma-resource-panel-enter {
    from {
        opacity: 0.35;
        transform: translateY(14px);
    }

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


/* =========================================================
   PANEL LAYOUT
   ========================================================= */

.rma-resources__panel {
    min-width: 0;
}

.rma-resources__panel-layout {
    display: grid;
    min-width: 0;
    width: 100%;
    overflow-x: hidden;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(360px, 0.92fr);

    align-items: stretch;
    gap:
        clamp(18px, 3vw, 30px);
}


/* =========================================================
   FEATURED GUIDE
   ========================================================= */

.rma-resources__featured {
    position: relative;
    isolation: isolate;

    display: flex;
    min-height:
        clamp(520px, 48vw, 620px);

    flex-direction: column;

    padding:
        clamp(27px, 4vw, 48px);

    overflow: hidden;

    color: var(--rma-cream);

    border:
        1px solid
        rgba(244, 240, 231, 0.13);

    border-radius: var(--radius-xl);

    background:
        linear-gradient(
            145deg,
            #1D564A 0%,
            var(--rma-emerald-900) 58%,
            #0C2D26 100%
        );

    box-shadow:
        0 30px 78px
        rgba(18, 60, 52, 0.2);
}

.rma-resources__featured--seller {
    background:
        linear-gradient(
            145deg,
            #315C4C 0%,
            var(--rma-emerald-900) 56%,
            #102E27 100%
        );
}

.rma-resources__featured::before {
    content: "";

    position: absolute;
    z-index: -1;

    width: 340px;
    aspect-ratio: 1;

    right: -190px;
    bottom: -190px;

    border:
        1px solid
        rgba(185, 154, 88, 0.2);

    border-radius: 50%;
}

.rma-resources__featured-decoration {
    position: absolute;

    width:
        min(380px, 52%);

    right: -52px;
    top: 65px;
    z-index: -1;

    color:
        rgba(244, 240, 231, 0.095);
}

.rma-resources__featured-decoration svg {
    display: block;

    width: 100%;
    height: auto;
}

.rma-resources__featured-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;

    margin-bottom:
        clamp(55px, 8vw, 95px);
}

.rma-resources__featured-label {
    display: inline-flex;

    padding:
        8px 12px;

    color: var(--rma-gold);

    border:
        1px solid
        rgba(185, 154, 88, 0.29);

    border-radius: var(--radius-pill);

    background:
        rgba(255, 255, 255, 0.045);

    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.rma-resources__featured-number {
    color:
        rgba(244, 240, 231, 0.24);

    font-family: var(--font-heading);

    font-size:
        clamp(2rem, 4vw, 3.4rem);

    font-weight: 600;
    line-height: 0.8;
}

.rma-resources__featured-content {
    position: relative;
    z-index: 1;

    max-width: 680px;
}

.rma-resources__featured-content h3 {
    max-width: 570px;

    margin:
        0 0 19px;

    color: var(--rma-white);

    font-size:
        clamp(2.6rem, 5vw, 4.8rem);

    font-weight: 600;
    line-height: 0.91;
    letter-spacing: -0.045em;
}

.rma-resources__featured-content > p {
    max-width: 580px;

    margin:
        0 0 31px;

    color:
        rgba(244, 240, 231, 0.68);

    font-size:
        clamp(0.88rem, 1.2vw, 1rem);

    line-height: 1.72;
}


/* =========================================================
   FEATURED STEPS
   ========================================================= */

.rma-resources__steps {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 1px;

    margin:
        0 0 36px;

    padding: 0;

    overflow: hidden;

    border:
        1px solid
        rgba(244, 240, 231, 0.1);

    border-radius: var(--radius-lg);

    background:
        rgba(244, 240, 231, 0.1);

    list-style: none;
}

.rma-resources__steps li {
    display: grid;
    grid-template-columns:
        auto minmax(0, 1fr);

    align-items: start;
    gap: 11px;

    padding:
        16px 15px;

    background:
        rgba(8, 35, 29, 0.72);
}

.rma-resources__steps li > span {
    color: var(--rma-gold);

    font-family: var(--font-heading);

    font-size: 0.76rem;
    font-weight: 700;
}

.rma-resources__steps li > div {
    display: grid;
    gap: 4px;
}

.rma-resources__steps strong {
    color: var(--rma-cream);

    font-size: 1rem;
    font-weight: 800;
}

.rma-resources__steps small {
    color:
        rgba(244, 240, 231, 0.55);

    font-size: 0.8rem;
    line-height: 1.45;
}

.rma-resources__featured-link {
    display: inline-flex;
    min-height: 49px;

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

    width: fit-content;

    margin-top: auto;

    padding:
        12px 19px;

    color: var(--rma-charcoal);

    border:
        1px solid
        var(--rma-gold);

    border-radius: var(--radius-pill);

    background: var(--rma-gold);

    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        color
        var(--motion-base)
        var(--ease-out),
        background
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-resources__featured-link svg {
    width: 17px;
    height: 17px;

    transition:
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-resources__featured-link:hover {
    color: var(--rma-emerald-900);

    background: var(--rma-cream);

    transform: translateY(-2px);
}

.rma-resources__featured-link:hover svg {
    transform: translateX(4px);
}


/* =========================================================
   RESOURCE COLLECTION
   ========================================================= */

.rma-resources__collection {
    display: grid;
    grid-template-rows:
        repeat(3, minmax(0, 1fr));

    gap:
        clamp(13px, 2vw, 18px);
}

.rma-resource-card {
    position: relative;

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

    align-items: center;
    gap:
        clamp(14px, 2vw, 20px);

    min-height: 0;

    padding:
        clamp(20px, 3vw, 30px);

    overflow: hidden;

    color: var(--rma-charcoal);

    border:
        1px solid
        rgba(18, 60, 52, 0.1);

    border-radius: var(--radius-xl);

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

    box-shadow:
        0 17px 46px
        rgba(18, 60, 52, 0.08);

    -webkit-backdrop-filter:
        blur(18px)
        saturate(110%);

    backdrop-filter:
        blur(18px)
        saturate(110%);

    text-decoration: none;

    transition:
        color
        var(--motion-base)
        var(--ease-out),
        border-color
        var(--motion-base)
        var(--ease-out),
        box-shadow
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-resource-card::after {
    content: "";

    position: absolute;

    width: 130px;
    aspect-ratio: 1;

    right: -85px;
    bottom: -88px;

    border:
        1px solid
        rgba(185, 154, 88, 0.14);

    border-radius: 50%;
}

.rma-resource-card:hover {
    color: var(--rma-charcoal);

    border-color:
        rgba(185, 154, 88, 0.5);

    box-shadow:
        0 23px 58px
        rgba(18, 60, 52, 0.13);

    transform:
        translateY(-4px);
}

.rma-resource-card__icon {
    position: relative;
    z-index: 1;

    display: grid;

    width: 54px;
    height: 54px;
    flex: 0 0 54px;

    place-items: center;

    color: var(--rma-gold);

    border:
        1px solid
        rgba(185, 154, 88, 0.28);

    border-radius: 50%;

    background:
        var(--rma-emerald-900);

    box-shadow:
        0 10px 24px
        rgba(18, 60, 52, 0.15);
}

.rma-resource-card__icon svg {
    width: 24px;
    height: 24px;
}

.rma-resource-card__content {
    position: relative;
    z-index: 1;

    display: grid;
    gap: 6px;
}

.rma-resource-card__content small {
    color: var(--rma-gold);

    font-size: 0.54rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.rma-resource-card__content strong {
    color: var(--rma-charcoal);

    font-family: var(--font-heading);

    font-size:
        clamp(1.35rem, 2.1vw, 1.8rem);

    font-weight: 700;
    line-height: 1.05;
}

.rma-resource-card__content p {
    margin: 0;

    color: var(--color-text-muted);

    font-size:
        clamp(1rem, 0.9vw, 0.79rem);

    line-height: 1.55;
}

.rma-resource-card__arrow {
    position: relative;
    z-index: 1;

    display: grid;

    width: 38px;
    height: 38px;

    place-items: center;

    color: var(--rma-emerald-900);

    border:
        1px solid
        rgba(18, 60, 52, 0.12);

    border-radius: 50%;

    background:
        rgba(244, 240, 231, 0.64);

    transition:
        color
        var(--motion-base)
        var(--ease-out),
        background
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-resource-card__arrow svg {
    width: 17px;
    height: 17px;
}

.rma-resource-card:hover
.rma-resource-card__arrow {
    color: var(--rma-charcoal);

    background: var(--rma-gold);

    transform: translateX(3px);
}


/* =========================================================
   AUDIENCE CTA
   ========================================================= */

.rma-resources__cta {
    position: relative;

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

    align-items: center;
    gap:
        clamp(25px, 5vw, 70px);

    margin-top:
        clamp(20px, 3vw, 30px);

    padding:
        clamp(27px, 4vw, 42px);

    overflow: hidden;

    border:
        1px solid
        rgba(18, 60, 52, 0.11);

    border-radius: var(--radius-xl);

    background:
        linear-gradient(
            115deg,
            rgba(255, 255, 255, 0.74),
            rgba(244, 240, 231, 0.76)
        );

    box-shadow:
        0 18px 52px
        rgba(18, 60, 52, 0.08);
}

.rma-resources__cta::after {
    content: "";

    position: absolute;

    width: 210px;
    aspect-ratio: 1;

    right: -120px;
    top: -125px;

    border:
        1px solid
        rgba(185, 154, 88, 0.17);

    border-radius: 50%;
}

.rma-resources__cta-copy {
    position: relative;
    z-index: 1;

    max-width: 700px;
}

.rma-resources__cta-copy > span {
    display: block;

    margin-bottom: 7px;

    color: var(--rma-gold);

    font-size: 0.57rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rma-resources__cta-copy h3 {
    margin:
        0 0 8px;

    color: var(--rma-charcoal);

    font-size:
        clamp(1.8rem, 3vw, 2.8rem);

    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.035em;
}

.rma-resources__cta-copy p {
    max-width: 610px;

    margin: 0;

    color: var(--color-text-muted);

    font-size: 1rem;
    line-height: 1.6;
}

.rma-resources__cta-actions {
    position: relative;
    z-index: 1;

    display: grid;
    justify-items: stretch;
    gap: 9px;

    min-width: 260px;
}

.rma-resources__cta-primary,
.rma-resources__cta-secondary {
    display: inline-flex;
    min-height: 49px;

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

    padding:
        12px 19px;

    border-radius: var(--radius-pill);

    font-size: 0.61rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        color
        var(--motion-base)
        var(--ease-out),
        border-color
        var(--motion-base)
        var(--ease-out),
        background
        var(--motion-base)
        var(--ease-out),
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-resources__cta-primary {
    color: var(--rma-white);

    border:
        1px solid
        var(--rma-emerald-900);

    background: var(--rma-emerald-900);
}

.rma-resources__cta-primary svg {
    width: 17px;
    height: 17px;

    color: var(--rma-gold);

    transition:
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-resources__cta-primary:hover {
    color: var(--rma-charcoal);

    border-color: var(--rma-gold);

    background: var(--rma-gold);

    transform: translateY(-2px);
}

.rma-resources__cta-primary:hover svg {
    color: var(--rma-charcoal);

    transform: translateX(4px);
}

.rma-resources__cta-secondary {
    color: var(--rma-emerald-900);

    border:
        1px solid
        rgba(18, 60, 52, 0.14);

    background:
        rgba(255, 255, 255, 0.57);
}

.rma-resources__cta-secondary:hover {
    color: var(--rma-charcoal);

    border-color:
        rgba(185, 154, 88, 0.5);

    background:
        rgba(185, 154, 88, 0.15);
}


/* =========================================================
   SECTION FOOTER
   ========================================================= */

.rma-resources__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    margin-top:
        clamp(35px, 6vw, 58px);

    padding-top:
        clamp(26px, 4vw, 40px);

    border-top:
        1px solid
        rgba(18, 60, 52, 0.11);
}

.rma-resources__footer > div {
    max-width: 760px;
}

.rma-resources__footer > div > span {
    display: block;

    margin-bottom: 5px;

    color: var(--rma-emerald-900);

    font-family: var(--font-heading);

    font-size: 1.25rem;
    font-weight: 700;
}

.rma-resources__footer p {
    margin: 0;

    color: var(--color-text-muted);

    font-size: 1rem;
    line-height: 1.55;
}

.rma-resources__footer > a {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    flex: 0 0 auto;

    color: var(--rma-emerald-900);

    font-size: 0.63rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-decoration: none;
    text-transform: uppercase;
}

.rma-resources__footer > a svg {
    width: 18px;
    height: 18px;

    color: var(--rma-gold);

    transition:
        transform
        var(--motion-base)
        var(--ease-out);
}

.rma-resources__footer > a:hover svg {
    transform:
        translate(3px, -3px);
}











































/* =========================================================
   RICHARD MARTIN ACOSTA — FULL WIDTH FOOTER
   ========================================================= */

.rma-footer {
    position: relative;
    isolation: isolate;

    width: 100%;
    margin: 0;
    padding: 0;

    overflow: hidden;

    color: var(--rma-cream);

    background: var(--rma-cream);
}


/* =========================================================
   FULL WIDTH BACKGROUND
   ========================================================= */

.rma-footer__inner {
    position: relative;
    isolation: isolate;

    width: 100%;
    margin: 0;

    overflow: hidden;

    border-radius:
        clamp(32px, 4vw, 54px)
        clamp(32px, 4vw, 54px)
        0
        0;

    background:
        linear-gradient(
            145deg,
            #194D42 0%,
            var(--rma-emerald-900) 46%,
            #092A23 100%
        );

    box-shadow:
        0 -24px 80px
        rgba(18, 60, 52, 0.13);
}

.rma-footer__background {
    position: absolute;
    inset: 0;
    z-index: -3;

    pointer-events: none;
}

.rma-footer__inner::before {
    content: "";

    position: absolute;
    z-index: -1;

    width: min(620px, 52vw);
    aspect-ratio: 1;

    right: min(-330px, -17vw);
    top: 170px;

    pointer-events: none;

    border:
        1px solid
        rgba(185, 154, 88, 0.16);

    border-radius: 50%;
}

.rma-footer__inner::after {
    content: "";

    position: absolute;
    z-index: -1;

    width: min(520px, 45vw);
    aspect-ratio: 0.8;

    left: min(-300px, -16vw);
    bottom: -300px;

    pointer-events: none;

    border:
        1px solid
        rgba(244, 240, 231, 0.08);

    border-radius:
        50% 50% 8% 8% /
        35% 35% 8% 8%;

    transform: rotate(-8deg);
}

.rma-footer__container {
    position: relative;
    z-index: 1;

    padding-top:
        clamp(24px, 3vw, 40px);

    padding-bottom:
        clamp(28px, 4vw, 46px);
}


/* =========================================================
   CTA CARD
   ========================================================= */

.rma-footer__cta {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(250px, 300px);

    align-items: center;
    gap:
        clamp(36px, 7vw, 100px);

    padding:
        clamp(36px, 5vw, 66px);

    overflow: hidden;

    color: var(--rma-charcoal);

    border:
        1px solid
        rgba(255, 255, 255, 0.58);

    border-radius:
        var(--radius-xl, 34px);

    background:
        linear-gradient(
            120deg,
            rgba(255, 255, 255, 0.96),
            rgba(244, 240, 231, 0.92)
        );

    box-shadow:
        0 30px 80px
        rgba(4, 20, 16, 0.24);

    -webkit-backdrop-filter:
        blur(22px)
        saturate(115%);

    backdrop-filter:
        blur(22px)
        saturate(115%);
}

.rma-footer__cta::after {
    content: "";

    position: absolute;

    width: 270px;
    aspect-ratio: 1;

    right: -145px;
    top: -165px;

    pointer-events: none;

    border:
        1px solid
        rgba(185, 154, 88, 0.22);

    border-radius: 50%;
}

.rma-footer__cta-copy {
    position: relative;
    z-index: 1;

    max-width: 840px;
}

.rma-footer__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 17px;

    color: var(--rma-emerald-700);

    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.rma-footer__eyebrow::before {
    content: "";

    width: 37px;
    height: 1px;

    background: var(--rma-gold);
}

.rma-footer__cta h2 {
    margin: 0 0 20px;

    color: var(--rma-charcoal);

    font-size:
        clamp(2.8rem, 5.5vw, 5.4rem);

    font-weight: 600;
    line-height: 0.93;
    letter-spacing: -0.05em;
}

.rma-footer__cta h2 em {
    display: block;

    color: var(--rma-emerald-700);

    font-weight: 500;
}

.rma-footer__cta-copy p {
    max-width: 700px;

    margin: 0;

    color:
        var(--color-text-muted, #5f6965);

    font-size:
        clamp(0.98rem, 1.25vw, 1.1rem);

    line-height: 1.72;
}

.rma-footer__cta-actions {
    position: relative;
    z-index: 1;

    display: grid;
    gap: 12px;
}

.rma-footer__button {
    display: inline-flex;
    min-height: 56px;

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

    padding: 14px 21px;

    border-radius:
        var(--radius-pill, 999px);

    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.065em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        color var(--motion-base, 300ms) var(--ease-out, ease),
        border-color var(--motion-base, 300ms) var(--ease-out, ease),
        background var(--motion-base, 300ms) var(--ease-out, ease),
        transform var(--motion-base, 300ms) var(--ease-out, ease);
}

.rma-footer__button svg {
    width: 19px;
    height: 19px;
}

.rma-footer__button--primary {
    color: var(--rma-white);

    border:
        1px solid
        var(--rma-emerald-900);

    background:
        var(--rma-emerald-900);
}

.rma-footer__button--primary svg {
    color: var(--rma-gold);

    transition:
        transform var(--motion-base, 300ms) var(--ease-out, ease);
}

.rma-footer__button--primary:hover {
    color: var(--rma-charcoal);

    border-color: var(--rma-gold);

    background: var(--rma-gold);

    transform: translateY(-2px);
}

.rma-footer__button--primary:hover svg {
    color: var(--rma-charcoal);

    transform: translateX(4px);
}

.rma-footer__button--secondary {
    color: var(--rma-emerald-900);

    border:
        1px solid
        rgba(18, 60, 52, 0.18);

    background:
        rgba(255, 255, 255, 0.58);
}

.rma-footer__button--secondary:hover {
    color: var(--rma-charcoal);

    border-color:
        rgba(185, 154, 88, 0.65);

    background:
        rgba(185, 154, 88, 0.2);

    transform: translateY(-2px);
}


/* =========================================================
   MAIN GRID
   ========================================================= */

.rma-footer__main {
    display: grid;
    grid-template-columns:
        minmax(300px, 1.4fr)
        minmax(150px, 0.55fr)
        minmax(260px, 0.9fr)
        minmax(285px, 1fr);

    align-items: start;
    gap:
        clamp(38px, 5.8vw, 82px);

    padding:
        clamp(68px, 8vw, 110px)
        0
        clamp(52px, 6vw, 82px);

    border-bottom:
        1px solid
        rgba(244, 240, 231, 0.11);
}


/* =========================================================
   BRAND
   ========================================================= */

.rma-footer__brand {
    max-width: 470px;
}

.rma-footer__identity {
    display: inline-flex;
    align-items: center;
    gap: 17px;

    margin-bottom: 27px;

    color: var(--rma-white);

    text-decoration: none;
}

.rma-footer__monogram {
    display: flex;

    width: 76px;
    height: 76px;
    flex: 0 0 76px;

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

    color: var(--rma-cream);

    border:
        1px solid
        rgba(185, 154, 88, 0.5);

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.045);

    box-shadow:
        inset 0 0 0 7px
        rgba(255, 255, 255, 0.025);
}

.rma-footer__monogram strong {
    font-family: var(--font-heading);

    font-size: 1.5rem;
    font-weight: 700;
}

.rma-footer__monogram i {
    display: block;

    width: 1px;
    height: 27px;

    background: var(--rma-gold);

    transform: rotate(18deg);
}

.rma-footer__identity-copy {
    display: grid;
    gap: 6px;
}

.rma-footer__identity-copy > strong {
    color: var(--rma-white);

    font-family: var(--font-heading);

    font-size:
        clamp(1.65rem, 2.5vw, 2.15rem);

    font-weight: 700;
    line-height: 1;
}

.rma-footer__identity-copy small {
    color: var(--rma-gold);

    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rma-footer__description {
    max-width: 445px;

    margin: 0 0 26px;

    color:
        rgba(244, 240, 231, 0.7);

    font-size: 0.92rem;
    line-height: 1.75;
}

.rma-footer__credentials {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rma-footer__credentials span {
    padding: 8px 11px;

    color:
        rgba(244, 240, 231, 0.82);

    border:
        1px solid
        rgba(244, 240, 231, 0.11);

    border-radius:
        var(--radius-pill, 999px);

    background:
        rgba(255, 255, 255, 0.04);

    font-size: 0.62rem;
    font-weight: 800;
}

.rma-footer__profile-links {
    display: flex;
    flex-wrap: wrap;
    gap: 13px 22px;

    margin-top: 27px;
}

.rma-footer__profile-links a {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: var(--rma-gold);

    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.065em;
    text-decoration: none;
    text-transform: uppercase;
}

.rma-footer__profile-links svg {
    width: 16px;
    height: 16px;

    transition:
        transform var(--motion-base, 300ms) var(--ease-out, ease);
}

.rma-footer__profile-links a:hover svg {
    transform: translate(3px, -3px);
}


/* =========================================================
   COLUMN TITLES
   ========================================================= */

.rma-footer__column h3,
.rma-footer__hours > h3,
.rma-footer__contact > h3 {
    margin: 0 0 25px;

    color: var(--rma-gold);

    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}


/* =========================================================
   EXPLORE LINKS
   ========================================================= */

.rma-footer__column ul {
    display: grid;
    gap: 15px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.rma-footer__column a {
    position: relative;

    display: inline-flex;
    align-items: center;

    width: fit-content;

    color:
        rgba(244, 240, 231, 0.74);

    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;

    transition:
        color var(--motion-fast, 180ms) var(--ease-out, ease),
        transform var(--motion-fast, 180ms) var(--ease-out, ease);
}

.rma-footer__column a::before {
    content: "";

    width: 0;
    height: 1px;

    margin-right: 0;

    background: var(--rma-gold);

    transition:
        width var(--motion-base, 300ms) var(--ease-out, ease),
        margin-right var(--motion-base, 300ms) var(--ease-out, ease);
}

.rma-footer__column a:hover {
    color: var(--rma-white);

    transform: translateX(3px);
}

.rma-footer__column a:hover::before {
    width: 18px;
    margin-right: 8px;
}


/* =========================================================
   BUSINESS HOURS
   ========================================================= */

.rma-footer__hours-card {
    padding: 20px;

    border:
        1px solid
        rgba(244, 240, 231, 0.1);

    border-radius:
        var(--radius-lg, 25px);

    background:
        rgba(255, 255, 255, 0.04);

    box-shadow:
        0 16px 40px
        rgba(4, 20, 16, 0.12);
}

.rma-footer__hours-heading {
    display: grid;
    grid-template-columns:
        auto minmax(0, 1fr);

    align-items: center;
    gap: 13px;

    margin-bottom: 20px;
}

.rma-footer__hours-icon {
    display: grid;

    width: 45px;
    height: 45px;

    place-items: center;

    color: var(--rma-gold);

    border:
        1px solid
        rgba(185, 154, 88, 0.28);

    border-radius: 50%;

    background:
        rgba(185, 154, 88, 0.07);
}

.rma-footer__hours-icon svg {
    width: 22px;
    height: 22px;
}

.rma-footer__hours-heading > div {
    display: grid;
    gap: 4px;
}

.rma-footer__hours-heading strong {
    color: var(--rma-cream);

    font-family: var(--font-heading);

    font-size: 1.2rem;
    font-weight: 700;
}

.rma-footer__hours-heading small {
    color:
        rgba(244, 240, 231, 0.48);

    font-size: 0.65rem;
    font-weight: 700;
}

.rma-footer__schedule {
    display: grid;
    gap: 0;

    margin: 0 0 17px;
}

.rma-footer__schedule > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;

    padding: 11px 0;

    border-bottom:
        1px solid
        rgba(244, 240, 231, 0.08);
}

.rma-footer__schedule > div:last-child {
    border-bottom: 0;
}

.rma-footer__schedule dt {
    color:
        rgba(244, 240, 231, 0.67);

    font-size: 0.72rem;
    font-weight: 700;
}

.rma-footer__schedule dd {
    margin: 0;

    color: var(--rma-cream);

    font-size: 0.72rem;
    font-weight: 800;
    text-align: right;
}

.rma-footer__hours-card > p {
    margin: 0;

    color:
        rgba(244, 240, 231, 0.47);

    font-size: 0.66rem;
    line-height: 1.55;
}


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

.rma-footer__contact address {
    display: grid;
    gap: 12px;

    margin: 0;

    font-style: normal;
}

.rma-footer__contact-item {
    display: grid;
    grid-template-columns:
        auto minmax(0, 1fr);

    align-items: center;
    gap: 13px;

    padding: 13px;

    color: var(--rma-cream);

    border:
        1px solid
        rgba(244, 240, 231, 0.1);

    border-radius:
        var(--radius-md, 19px);

    background:
        rgba(255, 255, 255, 0.04);

    text-decoration: none;

    transition:
        border-color var(--motion-base, 300ms) var(--ease-out, ease),
        background var(--motion-base, 300ms) var(--ease-out, ease),
        transform var(--motion-base, 300ms) var(--ease-out, ease);
}

a.rma-footer__contact-item:hover {
    border-color:
        rgba(185, 154, 88, 0.4);

    background:
        rgba(255, 255, 255, 0.07);

    transform: translateY(-2px);
}

.rma-footer__contact-icon {
    display: grid;

    width: 43px;
    height: 43px;

    place-items: center;

    color: var(--rma-gold);

    border:
        1px solid
        rgba(185, 154, 88, 0.27);

    border-radius: 50%;

    background:
        rgba(185, 154, 88, 0.07);
}

.rma-footer__contact-icon svg {
    width: 21px;
    height: 21px;
}

.rma-footer__contact-item > span:last-child {
    display: grid;
    gap: 4px;

    min-width: 0;
}

.rma-footer__contact-item small {
    color:
        rgba(244, 240, 231, 0.45);

    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.085em;
    text-transform: uppercase;
}

.rma-footer__contact-item strong {
    overflow-wrap: anywhere;

    color:
        rgba(244, 240, 231, 0.88);

    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.45;
}


/* =========================================================
   BROKERAGE
   ========================================================= */

.rma-footer__brokerage {
    display: grid;
    grid-template-columns:
        auto minmax(0, 1fr)
        auto;

    align-items: center;
    gap:
        clamp(28px, 5vw, 72px);

    padding:
        clamp(28px, 4vw, 44px)
        0;

    border-bottom:
        1px solid
        rgba(244, 240, 231, 0.11);
}

.rma-footer__brokerage-identity {
    display: flex;
    align-items: center;
    gap: 14px;
}

.rma-footer__brokerage-mark {
    display: grid;

    width: 52px;
    height: 52px;

    place-items: center;

    color: var(--rma-charcoal);

    border-radius:
        var(--radius-md, 17px);

    background: var(--rma-gold);

    font-family: var(--font-heading);

    font-size: 1rem;
    font-weight: 700;
}

.rma-footer__brokerage-identity > div {
    display: grid;
    gap: 4px;
}

.rma-footer__brokerage-identity small {
    color:
        rgba(244, 240, 231, 0.45);

    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.rma-footer__brokerage-identity strong {
    color: var(--rma-cream);

    font-family: var(--font-heading);

    font-size: 1.38rem;
    font-weight: 700;
}

.rma-footer__brokerage > p {
    max-width: 720px;

    margin: 0;

    color:
        rgba(244, 240, 231, 0.56);

    font-size: 0.72rem;
    line-height: 1.65;
}

.rma-footer__housing {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color:
        rgba(244, 240, 231, 0.74);

    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rma-footer__housing svg {
    width: 34px;
    height: 34px;

    color: var(--rma-gold);
}


/* =========================================================
   BOTTOM BAR
   ========================================================= */

.rma-footer__bottom {
    display: grid;
    grid-template-columns:
        auto auto minmax(280px, 1fr);

    align-items: center;
    gap:
        clamp(28px, 4vw, 58px);

    padding-top:
        clamp(27px, 4vw, 40px);
}

.rma-footer__copyright {
    display: grid;
    gap: 5px;
}

.rma-footer__copyright p {
    margin: 0;

    color:
        rgba(244, 240, 231, 0.56);

    font-size: 0.68rem;
    line-height: 1.45;
}

.rma-footer__copyright > a {
    width: fit-content;

    color: var(--rma-gold);

    font-size: 0.68rem;
    font-weight: 700;
    text-decoration: none;
}

.rma-footer__designer {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    width: fit-content;

    color:
        rgba(244, 240, 231, 0.64);

    font-size: 0.67rem;
    text-decoration: none;
}

.rma-footer__designer span {
    color:
        rgba(244, 240, 231, 0.47);
}

.rma-footer__designer strong {
    color: var(--rma-gold);

    font-weight: 800;
}

.rma-footer__designer svg {
    width: 16px;
    height: 16px;

    color: var(--rma-gold);

    transition:
        transform var(--motion-base, 300ms) var(--ease-out, ease);
}

.rma-footer__designer:hover svg {
    transform: translate(3px, -3px);
}

.rma-footer__disclaimer {
    max-width: 660px;

    margin: 0 0 0 auto;

    color:
        rgba(244, 240, 231, 0.4);

    font-size: 0.62rem;
    line-height: 1.55;
    text-align: right;
}


/* =========================================================
   BACK TO TOP
   ========================================================= */

.rma-footer__back-to-top {
    position: absolute;

    right:
        clamp(18px, 3vw, 42px);

    bottom:
        clamp(18px, 3vw, 36px);

    z-index: 10;

    display: grid;

    width: 50px;
    height: 50px;

    place-items: center;

    color: var(--rma-charcoal);

    border:
        1px solid
        rgba(255, 255, 255, 0.42);

    border-radius: 50%;

    background: var(--rma-gold);

    box-shadow:
        0 13px 32px
        rgba(4, 20, 16, 0.3);

    cursor: pointer;

    opacity: 0;
    pointer-events: none;

    transform: translateY(15px);

    transition:
        opacity var(--motion-base, 300ms) var(--ease-out, ease),
        transform var(--motion-base, 300ms) var(--ease-out, ease),
        background var(--motion-base, 300ms) var(--ease-out, ease);
}

.rma-footer__back-to-top.is-visible {
    opacity: 1;
    pointer-events: auto;

    transform: translateY(0);
}

.rma-footer__back-to-top:hover {
    background: var(--rma-cream);

    transform: translateY(-3px);
}

.rma-footer__back-to-top svg {
    width: 22px;
    height: 22px;
}
















































/* =========================================================
   15. RESPONSIVE
   ========================================================= */
@media (max-width: 1260px) {
     .rma-credentials__shell {
        grid-template-columns:
            minmax(205px, 0.7fr)
            minmax(0, 3.3fr);
    }

    .rma-credentials__item {
        padding-inline: 16px;
    }

    .rma-credentials__text strong {
        font-size: 1rem;
    }
      .rma-hero__container {
        grid-template-columns:
            minmax(0, 1.05fr)
            minmax(330px, 0.72fr);

        gap: 20px;
    }

    .rma-hero__portrait {
        height: min(75vh, 740px);
    }

    .rma-hero__credential {
        right: 0;
    }
    
    .site-header__bar {
        grid-template-columns:
            minmax(205px, 0.8fr)
            minmax(455px, 1.4fr)
            auto;

        gap: 15px;
    }

    .desktop-navigation__list {
        gap: 12px;
    }

    .site-brand__name {
        font-size: 1.02rem;
    }

    .site-brand__meta {
        font-size: 0.56rem;
    }

    .header-cta {
        padding-inline: 15px;
    }

    .language-switch {
        display: none;
    }
}


/* =========================================================
   TABLET AND MOBILE
   ========================================================= */

@media (max-width: 1050px) {
     .rma-footer__main {
        grid-template-columns:
            minmax(300px, 1.2fr)
            minmax(150px, 0.55fr)
            minmax(280px, 1fr);

        gap: 50px 38px;
    }

    .rma-footer__contact {
        grid-column: 1 / -1;
    }

    .rma-footer__contact address {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .rma-footer__bottom {
        grid-template-columns:
            auto 1fr;
    }

    .rma-footer__disclaimer {
        grid-column: 1 / -1;

        max-width: 900px;

        margin-left: 0;

        text-align: left;
    }
     .rma-resources__header {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(300px, 0.62fr);

        gap: 35px;
    }

    .rma-resources__panel-layout {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(320px, 0.86fr);
    }

    .rma-resources__featured {
        min-height: 590px;
    }

    .rma-resource-card {
        padding: 22px 20px;
    }

    .rma-resource-card__content p {
        display: -webkit-box;

        overflow: hidden;

        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }
         .rma-market__experience {
        grid-template-columns:
            minmax(320px, 0.72fr)
            minmax(0, 1.28fr);
    }

    .rma-market__map-bottom {
        grid-template-columns: 1fr;
    }

       .rma-reviews__header {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 26px;
    }

    .rma-reviews__summary {
        min-width: 0;
        width:
            min(100%, 360px);
    }

    .rma-reviews.is-reviews-ready
    .rma-reviews__stage {
        min-height: 420px;
    }

    .rma-reviews.is-reviews-ready
    .rma-review-card {
        width:
            min(670px, 72vw);
    }

    .rma-reviews.is-reviews-ready
    .rma-review-card.is-previous {
        transform:
            translate(
                calc(-50% - 47%),
                -50%
            )
            scale(0.87);
    }

    .rma-reviews.is-reviews-ready
    .rma-review-card.is-next {
        transform:
            translate(
                calc(-50% + 47%),
                -50%
            )
            scale(0.87);
    }
      .rma-featured__header {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 26px;
    }

    .rma-featured__introduction {
        max-width: 700px;
    }

    .rma-featured__slide {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(315px, 0.82fr);

        min-height: 560px;
    }

    .rma-featured__details {
        padding:
            34px 30px;
    }

    .rma-featured__facts {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .rma-featured__facts li:nth-child(2) {
        border-right: 0;
    }

    .rma-featured__facts li:nth-child(-n + 2) {
        border-bottom:
            1px solid
            rgba(18, 60, 52, 0.1);
    }
        .rma-about__container {
        grid-template-columns:
            minmax(300px, 0.8fr)
            minmax(0, 1fr);

        gap:
            clamp(36px, 6vw, 70px);
    }

    .rma-about__visual {
        min-height:
            clamp(540px, 68vw, 690px);
    }

    .rma-about__heading h2 {
        font-size:
            clamp(2.7rem, 6.2vw, 4.5rem);
    }

    .rma-about__location-card {
        right: 17px;
        bottom: 18px;
    }
      .rma-credentials__shell {
        grid-template-columns: 1fr;
    }

    .rma-credentials__intro {
        min-height: auto;

        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 28px;

        padding:
            24px
            clamp(22px, 5vw, 42px);
    }

    .rma-credentials__intro h2 {
        max-width: 420px;
        margin-bottom: 0;
    }

    .rma-credentials__eyebrow {
        margin-bottom: 7px;
    }

    .rma-credentials__list {
        grid-template-columns:
            repeat(5, minmax(215px, 1fr));

        overflow-x: auto;
        overscroll-behavior-inline: contain;

        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
        scrollbar-color:
            var(--rma-sage)
            transparent;
    }

    .rma-credentials__item {
        min-height: 158px;

        scroll-snap-align: start;
    }
       .rma-hero {
        min-height: 650px;
    }

    .rma-hero__container {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(280px, 0.67fr);

        gap: 4px;

        padding-bottom: 48px;
    }

    .rma-hero__content {
        max-width: 610px;
    }

    .rma-hero__title-main {
        font-size: clamp(5rem, 10vw, 7.8rem);
    }

    .rma-hero__portrait {
        width: 115%;
        height: min(69vh, 660px);

        margin-right: -12%;
    }

    .rma-hero__credential {
        display: none;
    }

    .rma-hero__scroll {
        display: none;
    }
    .site-header__container {
        width: min(
            calc(100% - 20px),
            var(--container-wide)
        );

        padding-top: 10px;
    }

    .site-header__bar {
        grid-template-columns:
            48px minmax(0, 1fr) 48px;

        min-height: 62px;
        gap: 10px;

        padding: 7px 8px;

        border-radius: var(--radius-pill);
    }

    .desktop-navigation,
    .site-header__actions {
        display: none;
    }

    .menu-toggle,
    .mobile-call {
        display: grid;
        width: 46px;
        height: 46px;
        place-items: center;

        border-radius: 50%;
    }

    .menu-toggle {
        color: var(--rma-emerald-900);
        border: 1px solid var(--border-medium);

        background: rgba(255, 255, 255, 0.42);

        cursor: pointer;

        transition:
            color var(--motion-fast) var(--ease-out),
            background var(--motion-fast) var(--ease-out),
            transform var(--motion-base) var(--ease-out);
    }

    .menu-toggle:hover {
        color: var(--rma-cream);
        background: var(--rma-emerald-900);
        transform: rotate(-3deg);
    }

    .menu-toggle__lines {
        display: flex;
        width: 19px;
        flex-direction: column;
        gap: 4px;
    }

    .menu-toggle__lines span {
        display: block;
        width: 100%;
        height: 1.5px;

        border-radius: var(--radius-pill);
        background: currentColor;

        transition:
            width var(--motion-base) var(--ease-out),
            transform var(--motion-base) var(--ease-out);
    }

    .menu-toggle__lines span:nth-child(2) {
        width: 72%;
    }

    .menu-toggle:hover
    .menu-toggle__lines span:nth-child(2) {
        width: 100%;
    }

    .site-brand {
        justify-self: center;
    }

    .site-brand__monogram {
        width: 45px;
        height: 45px;
        flex-basis: 45px;
    }

    .site-brand__content {
        display: none;
    }

    .mobile-call {
        justify-self: end;

        color: var(--rma-cream);
        background: var(--rma-emerald-900);

        box-shadow:
            0 8px 22px rgba(18, 60, 52, 0.18);

        transition:
            color var(--motion-fast) var(--ease-out),
            background var(--motion-fast) var(--ease-out),
            transform var(--motion-base) var(--ease-out);
    }

    .mobile-call:hover {
        color: var(--rma-charcoal);
        background: var(--rma-gold);
        transform: translateY(-2px);
    }

    .mobile-call svg {
        width: 20px;
        height: 20px;
    }
}

@media (max-width: 900px) {
     .rma-resources__header {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 30px;
    }

    .rma-resources__expertise {
        width:
            min(100%, 660px);
    }

    .rma-resources__panel-layout {
        grid-template-columns: 1fr;
    }

    .rma-resources__featured {
        min-height: 560px;
    }

    .rma-resources__collection {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        grid-template-rows: auto;
    }

    .rma-resource-card {
        grid-template-columns: 1fr;
        align-items: start;

        min-height: 300px;
    }

    .rma-resource-card__arrow {
        margin-top: auto;
    }

    .rma-resources__cta {
        grid-template-columns: 1fr;
    }

    .rma-resources__cta-actions {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        min-width: 0;
    }
    .rma-market__container {
        width:
            min(
                calc(100% - 40px),
                820px
            );
    }

    .rma-market__header {
        grid-template-columns: 1fr;
    }

    .rma-market__introduction {
        max-width: 680px;
    }

    .rma-market__experience {
        grid-template-columns: 1fr;

        min-height: 0;
    }

    .rma-market__explorer {
        padding:
            27px 24px;
    }

    .rma-market__list {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        max-height: 360px;
    }

    .rma-market__map-panel {
        min-height: 650px;
    }
       .rma-about__container {
        grid-template-columns: 1fr;
    }

    .rma-about__visual {
        width:
            min(100%, 610px);

        min-height:
            clamp(580px, 105vw, 760px);

        margin-inline: auto;
    }

    .rma-about__content {
        width: 100%;
    }

    .rma-about__heading {
        max-width: 720px;
    }

    .rma-about__introduction {
        max-width: 720px;
    }
    :root {
        --header-height: 76px;
        --page-gutter: 22px;
        --section-space:
            clamp(72px, 13vw, 100px);
    }

    body::before {
        background-position:
            right -390px top 110px;

        background-size:
            1050px auto;

        opacity: 0.6;
    }

    body::after {
        width: 420px;
        left: -290px;
        top: 26vh;
    }
}

@media (max-width: 780px) {
      .rma-footer__cta {
        grid-template-columns: 1fr;
    }

    .rma-footer__cta-actions {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .rma-footer__main {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .rma-footer__brand,
    .rma-footer__contact {
        grid-column: 1 / -1;
    }

    .rma-footer__contact address {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .rma-footer__brokerage {
        grid-template-columns:
            1fr auto;
    }

    .rma-footer__brokerage > p {
        grid-column: 1 / -1;
        grid-row: 2;
    }
          .rma-reviews {
        padding:
            clamp(68px, 17vw, 94px)
            0;
    }

    .rma-reviews__heading h2 {
        font-size:
            clamp(2.75rem, 13vw, 4rem);
    }

    .rma-reviews__summary {
        grid-template-columns:
            auto 1fr;

        padding:
            15px 17px;
    }

    .rma-reviews__summary-arrow {
        display: none;
    }

    .rma-reviews.is-reviews-ready
    .rma-reviews__stage {
        min-height: 470px;

        overflow: visible;
    }

    .rma-reviews.is-reviews-ready
    .rma-review-card {
        width: 100%;
    }

    .rma-reviews.is-reviews-ready
    .rma-review-card.is-previous,
    .rma-reviews.is-reviews-ready
    .rma-review-card.is-next {
        opacity: 0;
        pointer-events: none;

        transform:
            translate(-50%, -50%)
            scale(0.88);
    }

    .rma-review-card {
        padding:
            28px 22px;

        border-radius:
            var(--radius-lg);
    }

    .rma-review-card__author {
        margin-bottom: 22px;
    }

    .rma-review-card__initials {
        width: 58px;
        height: 58px;
        flex-basis: 58px;

        font-size: 1.1rem;
    }

    .rma-review-card blockquote {
        font-size:
            clamp(1.25rem, 6vw, 1.65rem);

        line-height: 1.34;
    }

    .rma-review-card__footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .rma-reviews.is-reviews-ready
    .rma-reviews__controls {
        gap: 15px;
    }

    .rma-reviews__arrow {
        width: 45px;
        height: 45px;
    }

    .rma-reviews__all {
        width: 100%;
        max-width: 340px;
    }
       .rma-featured {
        padding:
            clamp(72px, 18vw, 100px)
            0;
    }

    .rma-featured__heading h2 {
        font-size:
            clamp(2.75rem, 13vw, 4.25rem);
    }

    .rma-featured__introduction {
        padding-left: 20px;
    }

    .rma-featured__carousel {
        border-radius:
            var(--radius-lg);
    }

    .rma-featured__slide {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .rma-featured__media {
        min-height:
            clamp(280px, 75vw, 390px);
    }

    .rma-featured__details {
        padding:
            30px 22px 34px;
    }

    .rma-featured__details h3 {
        font-size:
            clamp(2.2rem, 10vw, 3.3rem);
    }

    .rma-featured__facts {
        margin:
            27px 0;
    }

    .rma-featured__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .rma-featured__primary-link {
        width: 100%;
    }

    .rma-featured__secondary-link {
        text-align: center;
    }

    .rma-featured__controls {
        grid-template-columns:
            auto 1fr;

        gap: 18px;
    }

    .rma-featured__dots {
        justify-content: flex-end;
    }

    .rma-featured__arrows {
        grid-column:
            1 / -1;

        justify-content:
            space-between;
    }

    .rma-featured__arrow {
        width:
            calc(50% - 5px);

        border-radius:
            var(--radius-pill);
    }

    .rma-featured__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .rma-featured__footer
    .btn--secondary {
        width: 100%;
    }
      .rma-pathways {
        padding:
            clamp(70px, 18vw, 96px)
            0;
    }

    .rma-pathways__header {
        margin-bottom: 34px;
    }

    .rma-pathways__heading h2 {
        font-size:
            clamp(2.65rem, 13vw, 4.3rem);
    }

    .rma-pathways__introduction {
        padding-left: 20px;
    }

    .rma-pathways__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .rma-pathways__slot--buy,
    .rma-pathways__slot--sell,
    .rma-pathways__slot--invest,
    .rma-pathways__slot--relocation {
        grid-column: auto;
    }

    .rma-pathways__slot {
        min-height: 390px;
    }

    .rma-pathways__card {
        padding: 23px;
        border-radius: var(--radius-md);
    }

    .rma-pathways__icon {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
    }

    .rma-pathways__icon svg {
        width: 24px;
        height: 24px;
    }

    .rma-pathways__content h3 {
        font-size:
            clamp(2.25rem, 11vw, 3.1rem);
    }

    .rma-pathways__footer {
        flex-direction: column;
        gap: 10px;
    }
       .rma-credentials {
        padding-bottom:
            clamp(60px, 16vw, 86px);

        background:
            linear-gradient(
                180deg,
                transparent 0 28px,
                var(--rma-cream) 28px 100%
            );
    }

    .rma-credentials__shell {
        width:
            calc(100% - 24px);

        margin-top: -28px;

        border-radius: var(--radius-md);
    }

    .rma-credentials__intro {
        display: block;

        padding: 24px 22px;
    }

    .rma-credentials__intro h2 {
        margin-bottom: 17px;

        font-size: 1.85rem;
    }

    .rma-credentials__list {
        grid-template-columns:
            repeat(5, minmax(245px, 78vw));
    }

    .rma-credentials__item {
        min-height: 148px;

        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 16px;

        padding: 23px 21px;

        border-left: 0;
        border-right:
            1px solid
            rgba(18, 60, 52, 0.1);
    }

    .rma-credentials__icon {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
    }

    .rma-credentials__text strong {
        font-size: 1.16rem;
    }
    .rma-hero {
        height: 100svh;
        min-height: 720px;
    }

    .rma-hero__property img {
        object-position: 61% center;
    }

    .rma-hero__overlay {
        background:
            linear-gradient(
                180deg,
                rgba(9, 32, 27, 0.96) 0%,
                rgba(9, 32, 27, 0.89) 40%,
                rgba(9, 32, 27, 0.56) 67%,
                rgba(9, 32, 27, 0.72) 100%
            );
    }

    .rma-hero__container {
        display: block;

        height: 100%;

        padding-top:
            calc(
                var(--header-height) +
                28px
            );

        padding-bottom: 0;
    }

    .rma-hero__content {
        position: relative;
        z-index: 5;

        max-width: 100%;

        padding-bottom: 41svh;
    }

    .rma-hero__eyebrow {
        margin-bottom: 16px;
    }

    .rma-hero__eyebrow > span {
        width: 30px;
    }

    .rma-hero__eyebrow p {
        font-size: 0.62rem;
        letter-spacing: 0.13em;
    }

    .rma-hero__title {
        margin-bottom: 17px;
    }

    .rma-hero__title-small {
        font-size: clamp(1.65rem, 7vw, 2.8rem);
    }

    .rma-hero__title-main {
        font-size: clamp(4.5rem, 20vw, 7rem);
    }

    .rma-hero__statement {
        max-width: 36rem;

        margin-bottom: 22px;

        font-size: clamp(0.9rem, 3.5vw, 1.04rem);
        line-height: 1.58;
    }

    .rma-hero__actions {
        gap: 9px;

        margin-bottom: 17px;
    }

    .rma-hero__button {
        min-height: 49px;
        padding: 12px 19px;

        font-size: 0.66rem;
    }

    .rma-hero__languages {
        font-size: 0.67rem;
    }

    .rma-hero__portrait {
        position: absolute;

        width: min(78vw, 510px);
        height: 43svh;

        right: -7vw;
        bottom: 0;

        margin: 0;
        padding: 0;

        pointer-events: none;
    }

    .rma-hero__portrait-arch {
        width: 87%;
        height: 96%;

        right: 2%;
        bottom: -12%;
    }

    .rma-hero__person {
        height: 108%;
    }
}

@media (max-width: 600px) {
      .rma-footer__inner {
        border-radius: 30px 30px 0 0;
    }

    .rma-footer__container {
        width:
            calc(100% - 30px);
    }

    .rma-footer__cta {
        gap: 30px;

        padding: 31px 22px;

        border-radius:
            var(--radius-lg, 25px);
    }

    .rma-footer__cta h2 {
        font-size:
            clamp(2.6rem, 12vw, 3.9rem);
    }

    .rma-footer__cta-actions {
        grid-template-columns: 1fr;
    }

    .rma-footer__main {
        grid-template-columns: 1fr;

        gap: 48px;

        padding:
            64px 0 52px;
    }

    .rma-footer__brand,
    .rma-footer__contact {
        grid-column: auto;
    }

    .rma-footer__identity {
        align-items: flex-start;
    }

    .rma-footer__monogram {
        width: 66px;
        height: 66px;
        flex-basis: 66px;
    }

    .rma-footer__identity-copy > strong {
        font-size: 1.65rem;
    }

    .rma-footer__column a {
        font-size: 0.9rem;
    }

    .rma-footer__contact address {
        grid-template-columns: 1fr;
    }

    .rma-footer__brokerage {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .rma-footer__housing {
        justify-self: start;
    }

    .rma-footer__bottom {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .rma-footer__designer {
        flex-wrap: wrap;
    }

    .rma-footer__back-to-top {
        right: 16px;
        bottom: 18px;

        width: 45px;
        height: 45px;
    }
     .rma-resources {
        padding:
            clamp(72px, 18vw, 100px)
            0;
    }

    .rma-resources__heading h2 {
        font-size:
            clamp(2.75rem, 13vw, 4.15rem);
    }

    .rma-resources__navigation {
        align-items: stretch;
        flex-direction: column;
        gap: 17px;
    }

    .rma-resources__tabs {
        width: 100%;
    }

    .rma-resources__tab {
        grid-template-columns: 1fr;
        justify-items: center;

        min-height: 104px;

        padding: 14px 10px;

        text-align: center;
    }

    .rma-resources__tab-copy small {
        display: none;
    }

    .rma-resources__view-all {
        justify-content: center;
    }

    .rma-resources__featured {
        min-height: auto;

        padding:
            27px 21px 25px;

        border-radius: var(--radius-lg);
    }

    .rma-resources__featured-decoration {
        width: 77%;

        right: -90px;
        top: 75px;
    }

    .rma-resources__featured-top {
        margin-bottom: 65px;
    }

    .rma-resources__featured-content h3 {
        font-size:
            clamp(2.55rem, 12vw, 3.8rem);
    }

    .rma-resources__steps {
        grid-template-columns: 1fr;
    }

    .rma-resources__featured-link {
        width: 100%;
    }

    .rma-resources__collection {
        grid-template-columns: 1fr;
    }

    .rma-resource-card {
        grid-template-columns:
            auto minmax(0, 1fr)
            auto;

        min-height: 0;

        padding: 21px 18px;

        border-radius: var(--radius-lg);
    }

    .rma-resource-card__content p {
        display: block;
    }

    .rma-resources__cta {
        padding: 27px 21px;

        border-radius: var(--radius-lg);
    }

    .rma-resources__cta-actions {
        grid-template-columns: 1fr;
    }

    .rma-resources__footer {
        align-items: flex-start;
        flex-direction: column;
    }
       .rma-market {
        padding:
            70px 0;
    }

    .rma-market__container {
        width:
            calc(100% - 32px);
    }

    .rma-market__heading h2 {
        font-size:
            clamp(2.65rem, 11vw, 4rem);

        line-height: 0.91;
    }

    .rma-market__experience {
        border-radius: 29px;
    }

    .rma-market__explorer {
        padding:
            24px 17px;
    }

    .rma-market__filters {
        grid-template-columns: 1fr;
    }

    .rma-market__list {
        grid-template-columns: 1fr;

        max-height: 370px;
    }

    .rma-market__area {
        min-height: 66px;
    }

    .rma-market__map-panel {
        min-height: 600px;

        padding:
            12px;
    }

    .rma-market__map-top {
        align-items: stretch;

        flex-direction: column;
    }

    .rma-market__reset {
        width: 100%;
    }

    .rma-market__map-frame,
    .rma-market__map {
        min-height: 510px;
    }

    .rma-market__map-instruction {
        top: 11px;
        left: 11px;
        right: 11px;

        max-width: none;
    }

    .rma-market__selected {
        right: 11px;
        bottom: 24px;
        left: 11px;

        max-width: none;
    }

    .rma-market__map-bottom {
        grid-template-columns: 1fr;
    }

     .rma-about {
        padding:
            clamp(72px, 18vw, 102px)
            0;
    }

    .rma-about__visual {
        min-height:
            clamp(500px, 138vw, 650px);

        border-radius:
            var(--radius-lg);
    }

    .rma-about__portrait {
        max-width: 100%;
        height: 88%;
    }

    .rma-about__visual-number {
        top: 20px;
        left: 21px;
    }

    .rma-about__location-card {
        width:
            calc(100% - 28px);

        right: 14px;
        bottom: 14px;

        padding: 14px 15px;
    }

    .rma-about__heading h2 {
        font-size:
            clamp(2.65rem, 13vw, 4.1rem);
    }

    .rma-about__introduction {
        padding-left: 20px;
    }

    .rma-about__advantage {
        grid-template-columns:
            36px minmax(0, 1fr);

        gap: 14px;
    }

    .rma-about__advantage:hover {
        padding-left: 0;
    }

    .rma-about__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .rma-about__actions .btn {
        width: 100%;
    }

    .rma-about__phone {
        width: 100%;

        padding:
            15px 18px;

        border:
            1px solid
            rgba(18, 60, 52, 0.12);

        border-radius:
            var(--radius-md);

        background:
            rgba(255, 255, 255, 0.48);
    }
      .rma-hero {
        min-height: 700px;
    }

    .rma-hero__content {
        padding-bottom: 37svh;
    }

    .rma-hero__title-main {
        font-size: clamp(4rem, 21vw, 5.8rem);
    }

    .rma-hero__statement {
        max-width: 31rem;
    }

    .rma-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: min(100%, 350px);
    }

    .rma-hero__button {
        width: 100%;
    }

    .rma-hero__languages {
        flex-wrap: wrap;
        row-gap: 5px;
    }

    .rma-hero__portrait {
        width: min(82vw, 430px);
        height: 36svh;

        right: -12vw;
    }
      .site-header__container {
        width: calc(100% - 14px);
        padding-top: 7px;
    }

    .site-header__bar {
        min-height: 58px;

        padding: 5px 6px;

        background: rgba(244, 240, 231, 0.9);
    }

    .menu-toggle,
    .mobile-call {
        width: 44px;
        height: 44px;
    }

    .site-brand__monogram {
        width: 43px;
        height: 43px;
        flex-basis: 43px;
    }

    .mobile-navigation__panel {
        width: calc(100% - 12px);

        top: 6px;
        right: 6px;
        bottom: 6px;

        padding: 22px 18px;
    }
    :root {
        --page-gutter: 18px;
        --header-height: 70px;
    }

    body {
        font-size: 15px;
    }

    .btn {
        width: 100%;
        min-height: 50px;
    }

    body::before {
        background-position:
            right -510px top 140px;

        opacity: 0.46;
    }
}

@media (max-width: 480px) {
     .rma-footer__identity {
        display: grid;
        grid-template-columns:
            auto minmax(0, 1fr);

        gap: 13px;
    }

    .rma-footer__profile-links {
        align-items: flex-start;
        flex-direction: column;
    }

    .rma-footer__schedule > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .rma-footer__schedule dd {
        text-align: left;
    }
      .rma-footer__main {
        grid-template-columns: 1fr;
    }

    .rma-footer__column,
    .rma-footer__brand,
    .rma-footer__contact {
        grid-column: auto;
    }

    .rma-footer__column {
        padding-bottom: 26px;

        border-bottom:
            1px solid
            rgba(244, 240, 231, 0.08);
    }

    .rma-footer__professional-links {
        align-items: flex-start;
        flex-direction: column;
    }

    .rma-footer__brokerage-name {
        align-items: flex-start;
    }
     .rma-resources__expertise {
        border-radius: var(--radius-lg);
    }

    .rma-resources__tabs {
        padding: 5px;

        border-radius: var(--radius-lg);
    }

    .rma-resources__tab-number {
        width: 34px;
        height: 34px;
    }

    .rma-resource-card {
        grid-template-columns:
            auto minmax(0, 1fr);

        gap: 13px;
    }

    .rma-resource-card__arrow {
        grid-column:
            2;

        margin-top: 4px;
    }

    .rma-resource-card__icon {
        width: 49px;
        height: 49px;
        flex-basis: 49px;
    }

    .rma-resource-card__content strong {
        font-size: 1.35rem;
    }

    .rma-resources__footer > a {
        align-items: flex-start;
    }
       .rma-market__container {
        width:
            calc(100% - 28px);
    }

    .rma-market__eyebrow {
        font-size: 0.5rem;
    }

    .rma-market__eyebrow > span {
        width: 31px;
        height: 31px;

        flex-basis: 31px;
    }

    .rma-market__eyebrow i {
        width: 25px;

        flex-basis: 25px;
    }

    .rma-market__explorer-header {
        display: grid;

        grid-template-columns: 1fr;
    }

    .rma-market__explorer-count {
        text-align: left;
    }

    .rma-market__map-panel {
        min-height: 565px;
    }

    .rma-market__map-frame,
    .rma-market__map {
        min-height: 470px;
    }

    .rma-market-popup__actions {
        grid-template-columns: 1fr;
    }
     .rma-reviews.is-reviews-ready
    .rma-reviews__stage {
        min-height: 500px;
    }

    .rma-review-card__quote {
        right: 17px;
        top: 12px;

        font-size: 5.8rem;
    }

    .rma-review-card__location,
    .rma-review-card__verified {
        font-size: 0.52rem;
    }

    .rma-reviews__dot {
        width: 7px;
        height: 7px;
    }

    .rma-reviews__dot.is-active {
        width: 23px;
    }
     .rma-featured__status {
        top: 18px;
        left: 18px;
    }

    .rma-featured__slide-number {
        right: 18px;
        bottom: 17px;
    }

    .rma-featured__facts span {
        font-size: 0.5rem;
    }

    .rma-featured__controls {
        padding-inline: 17px;
    }

    .rma-featured__dot {
        width: 30px;
    }
      .rma-about__visual {
        min-height: 500px;
    }

    .rma-about__location-card strong {
        font-size: 0.98rem;
    }

    .rma-about__heading h2 {
        font-size:
            clamp(2.5rem, 13.5vw, 3.65rem);
    }
     .rma-pathways__slot {
        min-height: 365px;
    }

    .rma-pathways__content p {
        font-size: 0.86rem;
    }
}

/* =========================================================
   16. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
        .rma-footer__button,
    .rma-footer__button svg,
    .rma-footer__column a,
    .rma-footer__column a::before,
    .rma-footer__profile-links svg,
    .rma-footer__contact-item,
    .rma-footer__designer svg,
    .rma-footer__back-to-top {
        transition: none;
        transform: none;
    }
       .rma-resources__tab,
    .rma-resources__view-all svg,
    .rma-resources__featured-link,
    .rma-resources__featured-link svg,
    .rma-resource-card,
    .rma-resource-card__arrow,
    .rma-resources__cta-primary,
    .rma-resources__cta-primary svg,
    .rma-resources__footer > a svg {
        transition: none;
        transform: none;
    }

    .rma-resources.is-resources-ready
    .rma-resources__panel.is-active {
        animation: none;
    }
        .rma-market__filter,
    .rma-market__area,
    .rma-market__area-arrow,
    .rma-market__consultation > a,
    .rma-market__consultation > a svg,
    .rma-market__reset,
    .rma-market-marker__pin {
        transition: none;
    }
      .rma-review-card,
    .rma-reviews__summary,
    .rma-reviews__summary-arrow,
    .rma-reviews__arrow,
    .rma-reviews__dot,
    .rma-reviews__all,
    .rma-reviews__all svg {
        transition: none;
    }
        .rma-featured__track,
    .rma-featured__media img,
    .rma-featured__primary-link,
    .rma-featured__primary-link svg,
    .rma-featured__arrow,
    .rma-featured__dot::before {
        transition: none;
        transform: none;
    }
     .rma-about__property img,
    .rma-about__advantage,
    .rma-about__phone strong {
        transition: none;
        transform: none;
    }
      .rma-pathways__card,
    .rma-pathways__image img,
    .rma-pathways__icon,
    .rma-pathways__link svg,
    .rma-pathways__footer a svg,
    .rma-pathways__card::after {
        transition: none;
        transform: none;
    }
     .rma-credentials__item,
    .rma-credentials__item::before,
    .rma-credentials__item::after,
    .rma-credentials__icon,
    .rma-credentials__intro a svg {
        transition: none;
        transform: none;
    }
    .rma-hero__property img,
    .rma-hero__button,
    .rma-hero__button::before,
    .rma-hero__button svg,
    .rma-hero__scroll {
        transition: none;
        transform: none;
    }
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        transition-delay: 0ms !important;
    }

    [data-reveal] {
        opacity: 1;
        transform: none;
        clip-path: none;
    }

    .page-transition,
    .route-progress {
        display: none;
    }
}


@media (min-width: 781px) and (max-height: 760px) {
    .rma-hero {
        min-height: 620px;
    }

    .rma-hero__container {
        padding-top:
            calc(
                var(--header-height) +
                22px
            );

        padding-bottom: 30px;
    }

    .rma-hero__eyebrow {
        margin-bottom: 13px;
    }

    .rma-hero__title {
        margin-bottom: 15px;
    }

    .rma-hero__title-small {
        font-size: clamp(1.8rem, 3vw, 3rem);
    }

    .rma-hero__title-main {
        font-size: clamp(5rem, 8vw, 7.5rem);
    }

    .rma-hero__statement {
        margin-bottom: 18px;

        font-size: 0.97rem;
        line-height: 1.55;
    }

    .rma-hero__actions {
        margin-bottom: 15px;
    }

    .rma-hero__portrait {
        height: 73vh;
    }
}



/* =========================================================
   SHORT MOBILE SCREENS
   ========================================================= */

@media (max-width: 780px) and (max-height: 720px) {
    .rma-hero {
        min-height: 640px;
    }

    .rma-hero__container {
        padding-top:
            calc(
                var(--header-height) +
                16px
            );
    }

    .rma-hero__eyebrow {
        margin-bottom: 10px;
    }

    .rma-hero__title {
        margin-bottom: 12px;
    }

    .rma-hero__title-small {
        font-size: 1.55rem;
    }

    .rma-hero__title-main {
        font-size: clamp(3.8rem, 17vw, 5rem);
    }

    .rma-hero__statement {
        max-width: 31rem;

        margin-bottom: 15px;

        font-size: 0.84rem;
        line-height: 1.48;
    }

    .rma-hero__button {
        min-height: 44px;
    }

    .rma-hero__languages {
        display: none;
    }

    .rma-hero__portrait {
        height: 37svh;
    }
}



/* =========================================================
   TOUCH DEVICES
   ========================================================= */

@media (hover: none) {
        .rma-footer__button:hover,
    a.rma-footer__contact-item:hover,
    .rma-footer__back-to-top:hover {
        transform: none;
    }
     .rma-resources__tab:hover,
    .rma-resource-card:hover,
    .rma-resources__featured-link:hover,
    .rma-resources__cta-primary:hover {
        transform: none;
    }
      .rma-market__area:hover,
    .rma-market__consultation > a:hover,
    .rma-market__reset:hover {
        transform: none;
    }
     .rma-reviews__summary:hover,
    .rma-reviews__arrow:hover,
    .rma-reviews__all:hover {
        transform: none;
    }
     .rma-about__property img {
        transform: scale(1.04);
    }

    .rma-about__advantage:hover {
        padding-left: 0;
        background: transparent;
    }
    .rma-pathways__card:hover {
        transform: none;
    }

    .rma-pathways__image img {
        transform: scale(1.03);
    }
}









































/* =========================================================
   RMA SERVICE AREAS
   CUSTOM REGIONAL MAP
   ========================================================= */

.rma-areas__map-card {
    position: relative;
    isolation: isolate;

    min-width: 0;

    overflow: hidden;

    border:
        1px solid
        rgba(244, 240, 231, 0.13);

    border-radius:
        var(--radius-xl);

    background:
        linear-gradient(
            145deg,
            #174A40 0%,
            var(--rma-emerald-900) 58%,
            #0C2D26 100%
        );

    box-shadow:
        0 34px 90px
        rgba(18, 60, 52, 0.2);
}


/* =========================================================
   MAP HEADER
   ========================================================= */

.rma-areas__map-heading {
    position: relative;
    z-index: 2;

    display: flex;
    min-height: 92px;

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

    padding:
        19px
        clamp(21px, 3vw, 34px);

    border-bottom:
        1px solid
        rgba(244, 240, 231, 0.1);

    background:
        rgba(7, 29, 24, 0.18);
}

.rma-areas__map-heading-copy {
    display: grid;
    gap: 5px;
}

.rma-areas__map-heading-copy > span {
    color: var(--rma-gold);

    font-size: 0.58rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rma-areas__map-heading-copy strong {
    color: var(--rma-white);

    font-family: var(--font-heading);

    font-size:
        clamp(1.45rem, 2.4vw, 2rem);

    font-weight: 600;
    line-height: 1;
}

.rma-areas__show-all {
    display: inline-flex;
    min-height: 40px;

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

    padding: 9px 14px;

    color:
        rgba(244, 240, 231, 0.8);

    border:
        1px solid
        rgba(244, 240, 231, 0.16);

    border-radius:
        var(--radius-pill);

    background:
        rgba(255, 255, 255, 0.045);

    cursor: pointer;

    font-family: var(--font-body);
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    transition:
        color var(--motion-base) var(--ease-out),
        border-color var(--motion-base) var(--ease-out),
        background var(--motion-base) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.rma-areas__show-all svg {
    width: 16px;
    height: 16px;

    color: var(--rma-gold);
}

.rma-areas__show-all:hover,
.rma-areas__show-all[aria-pressed="true"] {
    color: var(--rma-charcoal);

    border-color:
        var(--rma-gold);

    background:
        var(--rma-gold);

    transform:
        translateY(-2px);
}

.rma-areas__show-all:hover svg,
.rma-areas__show-all[aria-pressed="true"] svg {
    color: var(--rma-charcoal);
}


/* =========================================================
   MAP FRAME
   ========================================================= */

.rma-areas__map-frame {
    position: relative;

    min-height:
        clamp(560px, 49vw, 680px);

    overflow: hidden;

    border-radius: 0;

    background:
        radial-gradient(
            circle at 69% 39%,
            rgba(185, 154, 88, 0.13),
            transparent 29%
        ),
        linear-gradient(
            145deg,
            #173F36,
            #0E3029 60%,
            #0A2822
        );
}


/* Cuadrícula editorial detrás del mapa */

.rma-areas__map-frame::before {
    content: "";

    position: absolute;
    inset: 0;
    z-index: 0;

    pointer-events: none;

    opacity: 0.3;

    background-image:
        linear-gradient(
            rgba(244, 240, 231, 0.055) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(244, 240, 231, 0.055) 1px,
            transparent 1px
        );

    background-size:
        58px 58px;
}

.rma-areas__map-frame::after {
    content: "";

    position: absolute;
    z-index: 0;

    width: 410px;
    aspect-ratio: 1;

    right: -230px;
    bottom: -250px;

    pointer-events: none;

    border:
        1px solid
        rgba(185, 154, 88, 0.15);

    border-radius: 50%;
}

.rma-areas__map {
    position: absolute;
    inset: 0;
    z-index: 2;

    width: 100%;
    height: 100%;

    background: transparent;
}

.rma-areas__map.leaflet-container {
    background: transparent;

    font-family: var(--font-body);

    cursor: grab;
}

.rma-areas__map.leaflet-container:active {
    cursor: grabbing;
}


/* =========================================================
   FALLBACK
   ========================================================= */

.rma-areas__map-fallback {
    position: absolute;
    inset: 0;
    z-index: 1;

    display: flex;

    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 13px;

    padding: 35px;

    color: var(--rma-cream);

    text-align: center;
}

.rma-areas.is-map-ready
.rma-areas__map-fallback {
    display: none;
}

.rma-areas__fallback-regions {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 13px;
}

.rma-areas__fallback-regions span {
    display: grid;

    width: 68px;
    height: 68px;

    place-items: center;

    color: var(--rma-cream);

    border:
        1px solid
        rgba(185, 154, 88, 0.43);

    border-radius:
        50% 50% 18% 18% /
        42% 42% 18% 18%;

    background:
        rgba(255, 255, 255, 0.045);

    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 700;
}

.rma-areas__fallback-regions span:nth-child(2) {
    transform: translateY(-15px);
}

.rma-areas__fallback-regions span:nth-child(3) {
    width: 49px;
    height: 49px;

    font-size: 0.85rem;

    transform: translateY(12px);
}

.rma-areas__map-fallback strong {
    font-family: var(--font-heading);

    font-size:
        clamp(1.4rem, 2.4vw, 2rem);
}

.rma-areas__map-fallback p {
    max-width: 420px;

    margin: 0;

    color:
        rgba(244, 240, 231, 0.65);

    font-size: 0.78rem;
    line-height: 1.6;
}


/* =========================================================
   PROPERTY SUMMARY
   ========================================================= */

.rma-areas__property-summary {
    position: absolute;

    top: 18px;
    left: 18px;
    z-index: 720;

    display: flex;
    width:
        min(285px, calc(100% - 150px));

    align-items: center;
    gap: 12px;

    padding: 12px 14px;

    color: var(--rma-charcoal);

    border:
        1px solid
        rgba(255, 255, 255, 0.48);

    border-radius:
        var(--radius-md);

    background:
        rgba(250, 248, 242, 0.92);

    box-shadow:
        0 14px 36px
        rgba(4, 20, 16, 0.2);

    -webkit-backdrop-filter:
        blur(18px)
        saturate(115%);

    backdrop-filter:
        blur(18px)
        saturate(115%);
}

.rma-areas__property-summary-icon {
    display: grid;

    width: 39px;
    height: 39px;
    flex: 0 0 39px;

    place-items: center;

    color: var(--rma-cream);

    border-radius: 50%;

    background:
        var(--rma-emerald-900);
}

.rma-areas__property-summary-icon svg {
    width: 20px;
    height: 20px;
}

.rma-areas__property-summary > div {
    display: grid;
    gap: 3px;
}

.rma-areas__property-summary strong {
    color: var(--rma-charcoal);

    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.1;
}

.rma-areas__property-summary span {
    color: var(--color-text-muted);

    font-size: 0.53rem;
    font-weight: 700;
    line-height: 1.35;
}


/* =========================================================
   MAP CONTROLS
   ========================================================= */

.rma-areas__map-controls {
    position: absolute;

    top: 18px;
    right: 18px;
    z-index: 720;

    display: grid;
    gap: 7px;
}

.rma-areas__map-controls button {
    display: grid;

    width: 43px;
    height: 43px;

    place-items: center;

    color: var(--rma-emerald-900);

    border:
        1px solid
        rgba(255, 255, 255, 0.5);

    border-radius:
        var(--radius-sm);

    background:
        rgba(250, 248, 242, 0.93);

    box-shadow:
        0 10px 28px
        rgba(4, 20, 16, 0.2);

    cursor: pointer;

    -webkit-backdrop-filter:
        blur(15px);

    backdrop-filter:
        blur(15px);

    transition:
        color var(--motion-base) var(--ease-out),
        border-color var(--motion-base) var(--ease-out),
        background var(--motion-base) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.rma-areas__map-controls button:hover {
    color: var(--rma-charcoal);

    border-color: var(--rma-gold);

    background: var(--rma-gold);

    transform: translateY(-2px);
}

.rma-areas__map-controls svg {
    width: 19px;
    height: 19px;
}


/* =========================================================
   LEGEND AND NOTE
   ========================================================= */

.rma-areas__map-legend {
    position: absolute;

    right: 18px;
    bottom: 42px;
    z-index: 720;

    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;

    padding: 10px 14px;

    color:
        rgba(244, 240, 231, 0.82);

    border:
        1px solid
        rgba(244, 240, 231, 0.13);

    border-radius:
        var(--radius-pill);

    background:
        rgba(7, 29, 24, 0.72);

    box-shadow:
        0 12px 30px
        rgba(4, 20, 16, 0.23);

    -webkit-backdrop-filter:
        blur(15px);

    backdrop-filter:
        blur(15px);

    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.rma-areas__map-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.rma-areas__map-legend i {
    display: block;
    flex: 0 0 auto;
}

.rma-areas__legend-property {
    width: 10px;
    height: 10px;

    border:
        2px solid
        var(--rma-cream);

    border-radius: 50%;

    background:
        var(--rma-gold);

    box-shadow:
        0 0 0 4px
        rgba(185, 154, 88, 0.16);
}

.rma-areas__legend-city {
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background:
        var(--rma-cream);
}

.rma-areas__legend-corridor {
    width: 21px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--rma-gold) 0 45%,
            transparent 45% 60%,
            var(--rma-gold) 60%
        );
}

.rma-areas__map-note {
    position: absolute;

    left: 18px;
    bottom: 17px;
    z-index: 720;

    color:
        rgba(244, 240, 231, 0.43);

    font-size: 0.49rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.rma-areas__map-source {
    display: flex;

    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding:
        14px
        clamp(21px, 3vw, 34px);

    color:
        rgba(244, 240, 231, 0.44);

    border-top:
        1px solid
        rgba(244, 240, 231, 0.08);

    font-size: 0.5rem;
    font-weight: 700;
}


/* =========================================================
   STATE LABELS
   ========================================================= */

.rma-state-label-shell,
.rma-city-label-shell,
.rma-road-label-shell {
    border: 0;
    background: transparent;
}

.rma-state-label {
    display: grid;
    justify-items: center;
    gap: 2px;

    color:
        rgba(244, 240, 231, 0.74);

    font-family: var(--font-heading);
    text-align: center;
    white-space: nowrap;

    text-shadow:
        0 2px 14px
        rgba(4, 20, 16, 0.65);
}

.rma-state-label strong {
    font-size:
        clamp(1rem, 1.7vw, 1.45rem);

    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rma-state-label span {
    color:
        rgba(185, 154, 88, 0.85);

    font-family: var(--font-body);
    font-size: 0.46rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}


/* =========================================================
   CITY LABELS
   ========================================================= */

.rma-city-label {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 6px;

    color:
        rgba(244, 240, 231, 0.84);

    font-size: 0.55rem;
    font-weight: 800;
    white-space: nowrap;

    text-shadow:
        0 2px 9px
        rgba(4, 20, 16, 0.9);
}

.rma-city-label::before {
    content: "";

    width: 6px;
    height: 6px;
    flex: 0 0 6px;

    border:
        1px solid
        rgba(244, 240, 231, 0.72);

    border-radius: 50%;

    background:
        var(--rma-gold);

    box-shadow:
        0 0 0 4px
        rgba(185, 154, 88, 0.12);
}

.rma-city-label--secondary {
    color:
        rgba(244, 240, 231, 0.58);

    font-size: 0.49rem;
}


/* =========================================================
   ROAD LABELS
   ========================================================= */

.rma-road-label {
    display: inline-flex;

    padding: 4px 7px;

    color:
        var(--rma-charcoal);

    border:
        1px solid
        rgba(255, 255, 255, 0.4);

    border-radius:
        var(--radius-pill);

    background:
        rgba(185, 154, 88, 0.92);

    box-shadow:
        0 6px 16px
        rgba(4, 20, 16, 0.22);

    font-size: 0.45rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    white-space: nowrap;
}


/* =========================================================
   PROPERTY MARKERS
   ========================================================= */

.rma-property-marker-shell {
    border: 0;
    background: transparent;
}

.rma-property-marker {
    position: relative;

    display: flex;
    min-width: 75px;
    min-height: 37px;

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

    padding: 7px 11px 7px 8px;

    color: var(--rma-white);

    border:
        2px solid
        rgba(255, 255, 255, 0.87);

    border-radius:
        var(--radius-pill);

    background:
        var(--rma-emerald-900);

    box-shadow:
        0 10px 26px
        rgba(4, 20, 16, 0.34);

    font-size: 0.65rem;
    font-weight: 800;
    white-space: nowrap;

    transform: translateY(-4px);

    transition:
        color var(--motion-base) var(--ease-out),
        border-color var(--motion-base) var(--ease-out),
        background var(--motion-base) var(--ease-out),
        box-shadow var(--motion-base) var(--ease-out),
        transform var(--motion-base) var(--ease-out);
}

.rma-property-marker::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: -7px;

    width: 11px;
    height: 11px;

    border-right:
        2px solid
        rgba(255, 255, 255, 0.87);

    border-bottom:
        2px solid
        rgba(255, 255, 255, 0.87);

    background:
        var(--rma-emerald-900);

    transform:
        translateX(-50%)
        rotate(45deg);
}

.rma-property-marker__dot {
    position: relative;
    z-index: 1;

    width: 8px;
    height: 8px;

    border-radius: 50%;

    background:
        var(--rma-gold);

    box-shadow:
        0 0 0 4px
        rgba(185, 154, 88, 0.15);
}

.rma-property-marker__price {
    position: relative;
    z-index: 1;
}

.rma-property-marker-shell:hover
.rma-property-marker,
.rma-property-marker-shell.is-active
.rma-property-marker {
    color: var(--rma-charcoal);

    border-color: var(--rma-white);

    background: var(--rma-gold);

    box-shadow:
        0 15px 38px
        rgba(4, 20, 16, 0.4);

    transform:
        translateY(-8px)
        scale(1.04);
}

.rma-property-marker-shell:hover
.rma-property-marker::after,
.rma-property-marker-shell.is-active
.rma-property-marker::after {
    background: var(--rma-gold);
}

.rma-property-marker-shell:hover
.rma-property-marker__dot,
.rma-property-marker-shell.is-active
.rma-property-marker__dot {
    background: var(--rma-emerald-900);
}


/* =========================================================
   PROPERTY POPUP
   ========================================================= */

.rma-property-popup-shell {
    margin-bottom: 16px;
}

.rma-property-popup-shell
.leaflet-popup-content-wrapper {
    padding: 0;

    overflow: hidden;

    border:
        1px solid
        rgba(255, 255, 255, 0.58);

    border-radius:
        var(--radius-lg);

    background:
        rgba(250, 248, 242, 0.98);

    box-shadow:
        0 28px 75px
        rgba(4, 20, 16, 0.34);

    -webkit-backdrop-filter:
        blur(20px)
        saturate(115%);

    backdrop-filter:
        blur(20px)
        saturate(115%);
}

.rma-property-popup-shell
.leaflet-popup-content {
    width: 304px !important;

    margin: 0;
}

.rma-property-popup-shell
.leaflet-popup-tip {
    background:
        rgba(250, 248, 242, 0.98);
}

.rma-property-popup-shell
.leaflet-popup-close-button {
    top: 10px;
    right: 10px;

    display: grid;

    width: 31px;
    height: 31px;

    place-items: center;

    padding: 0;

    color: var(--rma-charcoal);

    border:
        1px solid
        rgba(255, 255, 255, 0.6);

    border-radius: 50%;

    background:
        rgba(250, 248, 242, 0.91);

    box-shadow:
        0 7px 18px
        rgba(4, 20, 16, 0.16);

    font-size: 20px;
}

.rma-property-popup {
    overflow: hidden;

    color: var(--rma-charcoal);

    background: var(--rma-cream);
}

.rma-property-popup__media {
    position: relative;

    height: 145px;

    overflow: hidden;

    background:
        var(--rma-emerald-900);
}

.rma-property-popup__media img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    filter:
        saturate(0.84)
        contrast(1.03);
}

.rma-property-popup__media::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(7, 29, 24, 0.08),
            rgba(7, 29, 24, 0.52)
        );
}

.rma-property-popup__status {
    position: absolute;

    left: 13px;
    bottom: 12px;
    z-index: 2;

    padding: 7px 11px;

    color: var(--rma-charcoal);

    border-radius:
        var(--radius-pill);

    background:
        rgba(244, 240, 231, 0.93);

    font-size: 0.53rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rma-property-popup__body {
    padding:
        18px 18px 19px;
}

.rma-property-popup__price {
    display: block;

    margin-bottom: 5px;

    color: var(--rma-gold);

    font-family: var(--font-heading);
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1;
}

.rma-property-popup h3 {
    margin: 0 0 4px;

    color: var(--rma-charcoal);

    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.05;
}

.rma-property-popup__address {
    margin: 0;

    color: var(--color-text-muted);

    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1.4;
}

.rma-property-popup__facts {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    margin:
        15px 0;

    padding: 0;

    border-top:
        1px solid
        rgba(18, 60, 52, 0.1);

    border-bottom:
        1px solid
        rgba(18, 60, 52, 0.1);

    list-style: none;
}

.rma-property-popup__facts li {
    display: grid;
    gap: 2px;

    padding:
        11px 6px;

    border-right:
        1px solid
        rgba(18, 60, 52, 0.09);

    text-align: center;
}

.rma-property-popup__facts li:last-child {
    border-right: 0;
}

.rma-property-popup__facts strong {
    color: var(--rma-emerald-900);

    font-family: var(--font-heading);
    font-size: 0.96rem;
    font-weight: 700;
}

.rma-property-popup__facts span {
    color: var(--color-text-muted);

    font-size: 0.45rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rma-property-popup__link {
    display: inline-flex;
    width: 100%;
    min-height: 43px;

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

    padding: 10px 15px;

    color: var(--rma-white);

    border-radius:
        var(--radius-pill);

    background:
        var(--rma-emerald-900);

    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-decoration: none;
    text-transform: uppercase;
}

.rma-property-popup__link svg {
    width: 16px;
    height: 16px;

    color: var(--rma-gold);
}


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

@media (max-width: 620px) {
    .rma-areas__map-heading {
        min-height: 83px;

        padding:
            16px 18px;
    }

    .rma-areas__show-all {
        min-height: 36px;

        padding:
            8px 11px;

        font-size: 0.49rem;
    }

    .rma-areas__map-frame {
        min-height: 520px;
    }

    .rma-areas__property-summary {
        top: 13px;
        left: 13px;

        width:
            calc(100% - 75px);

        padding:
            10px 11px;
    }

    .rma-areas__property-summary-icon {
        width: 35px;
        height: 35px;
        flex-basis: 35px;
    }

    .rma-areas__map-controls {
        top: 13px;
        right: 12px;
    }

    .rma-areas__map-controls button {
        width: 38px;
        height: 38px;
    }

    .rma-areas__map-legend {
        right: 12px;
        bottom: 47px;
        left: 12px;

        justify-content: center;

        border-radius:
            var(--radius-md);
    }

    .rma-areas__map-note {
        left: 13px;
        bottom: 15px;

        font-size: 0.43rem;
    }

    .rma-areas__map-source {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;

        padding:
            13px 18px;
    }

    .rma-property-popup-shell
    .leaflet-popup-content {
        width: 270px !important;
    }

    .rma-property-popup__media {
        height: 130px;
    }
}


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

@media (prefers-reduced-motion: reduce) {
    .rma-areas__show-all,
    .rma-areas__map-controls button,
    .rma-property-marker {
        transition: none;
        transform: none;
    }
}























/* =========================================================
   LOCAL MARKET MAP
   LEAFLET HARD FIX
   IMPORTANT: KEEP AT END OF CSS FILE
   ========================================================= */


/* =========================================================
   MAP PANEL
   ========================================================= */

.rma-market__map-panel {
    display: flex;

    min-width: 0;

    flex-direction: column;

    padding:
        clamp(14px, 1.8vw, 21px);

    background:
        #F7F5EF;
}


/* =========================================================
   MAP FRAME
   IMPORTANT:
   Give Leaflet a REAL measurable height.
   ========================================================= */

.rma-market__map-frame {
    position: relative;

    display: block;

    width: 100%;
    height:
        clamp(
            560px,
            67vh,
            720px
        );

    min-height: 560px;

    flex: 0 0 auto;

    overflow: hidden;

    border:
        1px solid
        rgba(18, 60, 52, 0.10);

    border-radius:
        clamp(
            23px,
            2.5vw,
            31px
        );

    background:
        #E5E9E3;

    contain:
        layout paint;
}


/* =========================================================
   ACTUAL MAP
   Do NOT use absolute positioning here.
   ========================================================= */

#rmaLocalMarketMap,
.rma-market__map {
    position: relative !important;

    inset: auto !important;

    display: block;

    width: 100% !important;
    height: 100% !important;

    min-width: 0;
    min-height: 0;

    overflow: hidden;

    z-index: 1;

    background:
        #E5E9E3;
}


/* =========================================================
   CRITICAL TILE FIX
   This is the part that fixes the screenshot.
   ========================================================= */

/*
 * Your global image CSS is stretching Leaflet's
 * 256x256 map tiles.
 *
 * Leaflet tiles MUST remain 256x256.
 */

#rmaLocalMarketMap
img.leaflet-tile {
    width: 256px !important;
    height: 256px !important;

    min-width: 256px !important;
    min-height: 256px !important;

    max-width: none !important;
    max-height: none !important;

    object-fit: fill !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    transform-origin:
        0 0;
}


/*
 * Prevent global:
 *
 * img {
 *     width: 100%;
 *     height: auto;
 * }
 *
 * from affecting Leaflet.
 */

#rmaLocalMarketMap
.leaflet-pane img {
    max-width: none !important;
    max-height: none !important;
}


/*
 * Only tiles need the forced 256 dimensions.
 */

#rmaLocalMarketMap
.leaflet-tile-pane img {
    width: 256px !important;
    height: 256px !important;

    min-width: 256px !important;
    min-height: 256px !important;

    max-width: none !important;
}


/* =========================================================
   LEAFLET INTERNAL CONTAINERS
   ========================================================= */

#rmaLocalMarketMap
.leaflet-map-pane,

#rmaLocalMarketMap
.leaflet-tile-pane,

#rmaLocalMarketMap
.leaflet-overlay-pane,

#rmaLocalMarketMap
.leaflet-shadow-pane,

#rmaLocalMarketMap
.leaflet-marker-pane,

#rmaLocalMarketMap
.leaflet-tooltip-pane,

#rmaLocalMarketMap
.leaflet-popup-pane {
    position: absolute;
    inset: 0 auto auto 0;
}


/* =========================================================
   REMOVE POSSIBLE GLOBAL IMAGE EFFECTS
   ========================================================= */

#rmaLocalMarketMap img {
    box-shadow: none !important;
    border-radius: 0;
}

#rmaLocalMarketMap
.leaflet-popup img {
    width: auto;
}


/* =========================================================
   LEAFLET Z INDEX
   ========================================================= */

#rmaLocalMarketMap
.leaflet-tile-pane {
    z-index: 200;
}

#rmaLocalMarketMap
.leaflet-overlay-pane {
    z-index: 400;
}

#rmaLocalMarketMap
.leaflet-shadow-pane {
    z-index: 500;
}

#rmaLocalMarketMap
.leaflet-marker-pane {
    z-index: 600;
}

#rmaLocalMarketMap
.leaflet-tooltip-pane {
    z-index: 650;
}

#rmaLocalMarketMap
.leaflet-popup-pane {
    z-index: 700;
}


/* =========================================================
   ZOOM CONTROLS
   ========================================================= */

.rma-market
.leaflet-control-zoom {
    overflow: hidden;

    border: 0 !important;

    border-radius:
        14px !important;

    box-shadow:
        0 12px 32px
        rgba(18, 60, 52, 0.16) !important;
}

.rma-market
.leaflet-control-zoom a {
    display: grid;

    width: 40px !important;
    height: 40px !important;

    place-items: center;

    color:
        var(
            --rma-resources-charcoal,
            #1D2422
        ) !important;

    border: 0 !important;

    border-bottom:
        1px solid
        rgba(18, 60, 52, 0.07) !important;

    background:
        rgba(
            255,
            255,
            255,
            0.96
        ) !important;

    line-height:
        40px !important;
}


/* =========================================================
   ATTRIBUTION
   ========================================================= */

.rma-market
.leaflet-control-attribution {
    padding:
        4px 7px !important;

    color:
        #707974 !important;

    background:
        rgba(
            255,
            255,
            255,
            0.9
        ) !important;

    font-family:
        var(
            --font-body,
            "Manrope",
            sans-serif
        );

    font-size:
        9px !important;
}


/* =========================================================
   REAL PROPERTY HOUSE MARKERS
   ========================================================= */

.rma-property-market-marker-wrapper {
    background:
        transparent !important;

    border:
        0 !important;

    overflow:
        visible !important;
}


/* MAIN MARKER */

.rma-property-market-marker {
    position: relative;

    display: grid;

    width: 48px;
    height: 48px;

    place-items: center;

    overflow: visible;
}


/* HALO */

.rma-property-market-marker::before {
    content: "";

    position: absolute;

    inset: -5px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.85
        );

    border-radius:
        50%;

    background:
        rgba(
            255,
            255,
            255,
            0.35
        );

    box-shadow:
        0 8px 24px
        rgba(
            18,
            60,
            52,
            0.22
        );
}


/* HOUSE */

.rma-property-market-marker__house {
    position: relative;
    z-index: 2;

    display: grid;

    width: 42px;
    height: 42px;

    place-items: center;

    border:
        3px solid
        #FFFFFF;

    border-radius:
        14px;

    box-shadow:
        0 8px 22px
        rgba(
            18,
            60,
            52,
            0.28
        );

    transition:
        transform 180ms ease,
        box-shadow 180ms ease;
}

.rma-property-market-marker__house svg {
    display: block;

    width: 21px;
    height: 21px;
}


/* AVAILABLE */

.rma-property-market-marker--available
.rma-property-market-marker__house {
    color:
        #1D2422;

    background:
        var(
            --rma-resources-gold,
            #B99A58
        );
}


/* SOLD */

.rma-property-market-marker--sold
.rma-property-market-marker__house {
    color:
        #F4F0E7;

    background:
        var(
            --rma-resources-emerald,
            #123C34
        );
}


/* ACTIVE */

.rma-property-market-marker.is-active
.rma-property-market-marker__house {
    transform:
        scale(1.14);

    box-shadow:
        0 12px 32px
        rgba(
            18,
            60,
            52,
            0.38
        );
}


/* =========================================================
   MARKER TOOLTIP
   ========================================================= */

.rma-market
.leaflet-tooltip.rma-property-market-tooltip {
    padding:
        6px 9px;

    color:
        #F4F0E7;

    border:
        1px solid
        rgba(
            244,
            240,
            231,
            0.12
        );

    border-radius:
        999px;

    background:
        rgba(
            18,
            60,
            52,
            0.94
        );

    box-shadow:
        0 8px 24px
        rgba(
            18,
            60,
            52,
            0.16
        );

    font-family:
        var(
            --font-body,
            "Manrope",
            sans-serif
        );

    font-size:
        0.38rem;

    font-weight:
        750;

    white-space:
        nowrap;
}

.rma-market
.leaflet-tooltip.rma-property-market-tooltip::before {
    display: none;
}


/* =========================================================
   PROPERTY POPUP
   ========================================================= */

.rma-market
.leaflet-popup-content-wrapper {
    overflow: hidden;

    padding: 0;

    border:
        1px solid
        rgba(
            18,
            60,
            52,
            0.1
        );

    border-radius:
        22px;

    background:
        #FCFBF7;

    box-shadow:
        0 24px 62px
        rgba(
            18,
            60,
            52,
            0.2
        );
}

.rma-market
.leaflet-popup-content {
    width:
        min(
            330px,
            calc(100vw - 70px)
        ) !important;

    margin:
        0 !important;
}

.rma-market
.leaflet-popup-tip {
    background:
        #FCFBF7;
}

.rma-market
.leaflet-popup-close-button {
    top:
        10px !important;

    right:
        10px !important;

    display: grid;

    width:
        29px !important;

    height:
        29px !important;

    place-items: center;

    z-index: 20;

    color:
        #F4F0E7 !important;

    border:
        1px solid
        rgba(
            244,
            240,
            231,
            0.16
        );

    border-radius:
        50%;

    background:
        rgba(
            18,
            60,
            52,
            0.92
        );

    font-size:
        19px !important;

    line-height:
        25px !important;
}


/* =========================================================
   POPUP CARD
   ========================================================= */

.rma-market-property-popup {
    overflow: hidden;

    color:
        #1D2422;

    background:
        #FCFBF7;
}


/* POPUP TOP */

.rma-market-property-popup__top {
    position: relative;

    padding:
        20px 18px 16px;

    color:
        #F4F0E7;

    background:
        linear-gradient(
            135deg,
            #194F43,
            #123C34
        );
}


/* STATUS */

.rma-market-property-popup__status {
    display: inline-flex;

    min-height: 25px;

    align-items: center;

    margin-bottom: 10px;

    padding:
        5px 9px;

    border-radius:
        999px;

    font-family:
        var(
            --font-body,
            "Manrope",
            sans-serif
        );

    font-size:
        0.55rem;

    font-weight:
        800;

    letter-spacing:
        0.055em;

    text-transform:
        uppercase;
}

.rma-market-property-popup__status--available {
    color:
        #1D2422;

    background:
        #B99A58;
}

.rma-market-property-popup__status--sold {
    color:
        #F4F0E7;

    border:
        1px solid
        rgba(
            244,
            240,
            231,
            0.13
        );

    background:
        rgba(
            255,
            255,
            255,
            0.06
        );
}


/* TITLE */

.rma-market-property-popup__top h3 {
    margin:
        0 0 4px;

    color:
        #F4F0E7;

    font-family:
        var(
            --font-heading,
            "Cormorant Garamond",
            serif
        );

    font-size:
        1.45rem;

    font-weight:
        600;

    line-height:
        0.96;
}


/* LOCATION */

.rma-market-property-popup__top p {
    margin: 0;

    color:
        rgba(
            244,
            240,
            231,
            0.53
        );

    font-family:
        var(
            --font-body,
            "Manrope",
            sans-serif
        );

    font-size:
        .65rem;

    font-weight:
        650;
}


/* BODY */

.rma-market-property-popup__body {
    padding:
        15px 16px 16px;
}


/* PRICE */

.rma-market-property-popup__price {
    display: flex;

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

    gap: 12px;

    margin-bottom: 11px;
}

.rma-market-property-popup__price small {
    color:
        #89918D;

    font-family:
        var(
            --font-body,
            "Manrope",
            sans-serif
        );

    font-size:
        0.58rem;

    font-weight:
        800;

    letter-spacing:
        0.05em;

    text-transform:
        uppercase;
}

.rma-market-property-popup__price strong {
    color:
        #28675A;

    font-family:
        var(
            --font-heading,
            "Cormorant Garamond",
            serif
        );

    font-size:
        1.25rem;
}


/* SPECS */

.rma-market-property-popup__specs {
    display: grid;

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

    gap: 5px;

    margin-bottom: 12px;
}

.rma-market-property-popup__specs > div {
    display: grid;

    gap: 1px;

    padding:
        8px 5px;

    border:
        1px solid
        rgba(
            18,
            60,
            52,
            0.07
        );

    border-radius:
        10px;

    background:
        rgba(
            244,
            240,
            231,
            0.56
        );

    text-align:
        center;
}

.rma-market-property-popup__specs strong {
    color:
        #1D2422;

    font-family:
        var(
            --font-heading,
            "Cormorant Garamond",
            serif
        );

    font-size:
        1rem;
}

.rma-market-property-popup__specs span {
    color:
        #818A86;

    font-family:
        var(
            --font-body,
            "Manrope",
            sans-serif
        );

    font-size:
        0.6rem;

    font-weight:
        800;

    text-transform:
        uppercase;
}


/* DESCRIPTION */

.rma-market-property-popup__description {
    margin:
        0 0 13px;

    color:
        #737D78;

    font-family:
        var(
            --font-body,
            "Manrope",
            sans-serif
        );

    font-size:
        0.6rem;

    font-weight:
        650;

    line-height:
        1.55;
}


/* ACTIONS */

.rma-market-property-popup__actions {
    display: grid;

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

    gap: 6px;
}

.rma-market-property-popup__actions a {
    display: inline-flex;

    min-height: 39px;

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

    padding:
        8px 10px;

    border-radius:
        999px;

    font-family:
        var(
            --font-body,
            "Manrope",
            sans-serif
        );

    font-size:
        0.6rem;

    font-weight:
        800;

    letter-spacing:
        0.04em;

    text-align:
        center;

    text-decoration:
        none;

    text-transform:
        uppercase;
}

.rma-market-property-popup__viewer {
    color:
        #F4F0E7;

    background:
        #123C34;
}

.rma-market-property-popup__contact {
    color:
        #28675A;

    border:
        1px solid
        rgba(
            40,
            103,
            90,
            0.15
        );

    background:
        rgba(
            168,
            185,
            165,
            0.11
        );
}


/* =========================================================
   OVERLAYS ABOVE MAP
   ========================================================= */

.rma-market__map-instruction,
.rma-market__selected {
    z-index:
        800;
}


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

@media (max-width: 920px) {

    .rma-market__map-frame {
        height:
            610px;

        min-height:
            610px;
    }

}


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

@media (max-width: 680px) {

    .rma-market__map-frame {
        height:
            540px;

        min-height:
            540px;
    }

}


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

@media (max-width: 430px) {

    .rma-market__map-frame {
        height:
            500px;

        min-height:
            500px;
    }

    .rma-market-property-popup__actions {
        grid-template-columns:
            1fr;
    }

}

/* =========================================================
   TELEFONO FLOTANTE
   ========================================================= */
.whatsapp-float {
  position: fixed;
  left: clamp(16px, 3vw, 24px);
  bottom: clamp(16px, 3vh, 24px);

  width: clamp(56px, 7vw, 64px);
  height: clamp(56px, 7vw, 64px);

  border-radius: 50%;
  background: linear-gradient(135deg, #2ee86f 0%, #25d366 45%, #15b957 100%);

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

  z-index: 9999;
  cursor: pointer;
  text-decoration: none;

  box-shadow:
    0 10px 24px rgba(37, 211, 102, 0.45),
    0 18px 42px rgba(37, 211, 102, 0.28),
    0 0 0 6px rgba(37, 211, 102, 0.16),
    inset 0 4px 8px rgba(255, 255, 255, 0.22),
    inset 0 -5px 10px rgba(0, 100, 40, 0.28);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}
.whatsapp-float:hover {
  transform: translateY(-3px) scale(1.06);

  box-shadow:
    0 12px 28px rgba(37, 211, 102, 0.55),
    0 24px 55px rgba(37, 211, 102, 0.35),
    0 0 0 8px rgba(37, 211, 102, 0.2),
    inset 0 4px 8px rgba(255, 255, 255, 0.24),
    inset 0 -5px 10px rgba(0, 100, 40, 0.3);
}

.whatsapp-float:active {
  transform: scale(0.96);
}

.whatsapp-float svg {
  width: clamp(28px, 3.5vw, 34px);
  height: clamp(28px, 3.5vw, 34px);
  display: block;
  filter: drop-shadow(0 2px 5px rgba(0, 80, 35, 0.45));
}

.whatsapp-float svg path {
  fill: #ffffff;
}

@media (max-width: 768px) {
  .whatsapp-float {
    left: 20px;
    bottom: 22px;

    width: 58px;
    height: 58px;
  }

  .whatsapp-float svg {
    width: 30px;
    height: 30px;
  }
}

@media (max-width: 420px) {
  .whatsapp-float {
    left: 18px;
    bottom: 20px;

    width: 56px;
    height: 56px;
  }

  .whatsapp-float svg {
    width: 29px;
    height: 29px;
  }
}

/*LEGAL INFORMATION*/
.legal-info{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: start;
    margin-top: 20px;
}
.legal-info p{
    font-family: 'Cormorant', sans-serif;
    font-size: 0.72rem;
    font-weight: 400;
    color: rgba(244, 240, 231, 0.56);
}
.legal-info img{
    width: 50px;
    margin:10px;
    border-radius: 8px;
}
.legal-info .legal-info-images{
    display: flex;
    flex-direction: row;
}


/*TRADUCTOR DE SITIO WEB*/
/* Ocultar el banner superior de Google Translate */
.goog-te-banner-frame.skiptranslate {
    display: none !important;
}

body {
    top: 0px !important;
}

/* Ocultar el desplegable predeterminado */
.goog-te-gadget {
    display: none !important;
}

/* Evitar resaltado en texto al pasar el cursor */
.goog-text-highlight {
    background-color: transparent !important;
    box-shadow: none !important;
}