/* =========================================================
   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);
}











































/* =========================================================
   RICHARD MARTIN ACOSTA — SERVICE AREAS
   INTERACTIVE DMV MAP
   ========================================================= */

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

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

    overflow: hidden;

    color: var(--rma-charcoal);

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


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

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

    pointer-events: none;

    background:
        radial-gradient(
            circle at 83% 22%,
            rgba(185, 154, 88, 0.11),
            transparent 28%
        ),
        linear-gradient(
            120deg,
            transparent 0 61%,
            rgba(18, 60, 52, 0.025) 61% 61.15%,
            transparent 61.15% 100%
        );
}

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

    position: absolute;
    z-index: -2;

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

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

    pointer-events: none;

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

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

    transform: rotate(8deg);
}

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

    position: absolute;
    z-index: -2;

    width: 55vw;
    height: 1px;

    left: -15vw;
    top: 24%;

    pointer-events: none;

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

    transform: rotate(-10deg);
}


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

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

.rma-areas__header {
    display: grid;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(300px, 0.66fr);

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

    margin-bottom:
        clamp(44px, 6vw, 72px);
}

.rma-areas__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-areas__eyebrow::before {
    content: "";

    width: 38px;
    height: 1px;

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

.rma-areas__heading h2 {
    max-width: 780px;
    margin: 0;

    color:
        var(--rma-charcoal);

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

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

.rma-areas__heading h2 em {
    display: block;

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

    font-weight: 500;
}

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

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

.rma-areas__introduction p {
    margin: 0 0 20px;

    color:
        var(--color-text);

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

    line-height: 1.75;
}

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

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

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

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

    color:
        var(--rma-gold);

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

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


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

.rma-areas__layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.13fr)
        minmax(360px, 0.87fr);

    align-items: stretch;
    gap:
        clamp(25px, 4vw, 52px);
}


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

.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) 56%,
            #0D2F28 100%
        );

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

.rma-areas__map-card::before {
    content: "";

    position: absolute;
    z-index: -1;

    width: 390px;
    aspect-ratio: 1;

    right: -210px;
    top: -210px;

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

    border-radius: 50%;
}

.rma-areas__map-heading {
    display: flex;
    min-height: 92px;

    align-items: center;
    justify-content: space-between;
    gap: 25px;

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

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

.rma-areas__map-heading > div {
    display: grid;
    gap: 4px;
}

.rma-areas__map-heading > div > span {
    color:
        var(--rma-gold);

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

.rma-areas__map-heading 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__map-status {
    display: inline-flex;

    padding:
        8px 13px;

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

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

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

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

    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}


/* =========================================================
   MAP FRAME
   ========================================================= */

.rma-areas__map-frame {
    position: relative;

    min-height:
        clamp(520px, 47vw, 650px);

    overflow: hidden;

    background:
        radial-gradient(
            circle at 55% 44%,
            rgba(168, 185, 165, 0.12),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.035),
            rgba(0, 0, 0, 0.05)
        );
}

.rma-areas__map-frame::before {
    content: "";

    position: absolute;
    inset: 0;
    z-index: 0;

    pointer-events: none;

    opacity: 0.27;

    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:
        64px 64px;
}

.rma-areas__map {
    position: absolute;
    inset: 0;
    z-index: 2;

    width: 100%;
    height: 100%;
}


/* =========================================================
   NO-JS / MAP FALLBACK
   ========================================================= */

.rma-areas__map-fallback {
    position: absolute;
    inset: 0;
    z-index: 1;

    display: flex;

    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 27px;

    padding: 35px;

    color:
        var(--rma-cream);

    text-align: center;
}

.rma-areas.is-map-ready
.rma-areas__map-fallback {
    display: none;
}

.rma-areas__fallback-graphic {
    position: relative;

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

.rma-areas__fallback-state {
    display: grid;

    width: 76px;
    height: 76px;

    place-items: center;

    color:
        var(--rma-cream);

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

    border-radius:
        50% 50% 18% 18% /
        44% 44% 18% 18%;

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

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

    font-size: 1.35rem;
    font-weight: 700;

    transform:
        rotate(-4deg);
}

.rma-areas__fallback-state:nth-child(2) {
    transform:
        translateY(-18px)
        rotate(4deg);
}

.rma-areas__fallback-state:nth-child(3) {
    width: 54px;
    height: 54px;

    font-size: 0.95rem;

    transform:
        translateY(15px);
}

.rma-areas__map-fallback > div:last-child {
    display: grid;
    justify-items: center;
    gap: 6px;
}

.rma-areas__map-fallback strong {
    color:
        var(--rma-white);

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

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

    font-weight: 600;
}

.rma-areas__map-fallback
div:last-child span {
    max-width: 430px;

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

    font-size: 0.8rem;
}


/* =========================================================
   MAP CONTROLS
   ========================================================= */

.rma-areas__map-controls {
    position: absolute;

    top: 19px;
    right: 18px;
    z-index: 500;

    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.36);

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

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

    box-shadow:
        0 10px 26px
        rgba(5, 22, 18, 0.18);

    cursor: pointer;

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

    backdrop-filter:
        blur(14px);

    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;
}


/* =========================================================
   MAP CAPTION
   ========================================================= */

.rma-areas__map-caption {
    position: absolute;

    right: 18px;
    bottom: 17px;
    left: 18px;
    z-index: 500;

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

    width: fit-content;

    padding:
        10px 14px;

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

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

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

    background:
        rgba(8, 31, 26, 0.64);

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

    backdrop-filter:
        blur(14px);

    font-size: 0.57rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rma-areas__map-caption span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.rma-areas__map-caption i {
    display: block;

    width: 9px;
    height: 9px;

    border-radius: 50%;

    background:
        var(--rma-gold);

    box-shadow:
        0 0 0 4px
        rgba(185, 154, 88, 0.12);
}

.rma-areas__map-caption
span:last-child i {
    width: 7px;
    height: 7px;

    background:
        var(--rma-cream);

    box-shadow:
        0 0 0 4px
        rgba(244, 240, 231, 0.09);
}

.rma-areas__map-source {
    display: flex;

    align-items: center;
    justify-content: space-between;
    gap: 20px;

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

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

    border-top:
        1px solid
        rgba(244, 240, 231, 0.08);

    font-size: 0.52rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}


/* =========================================================
   LEAFLET OVERRIDES
   ========================================================= */

.rma-areas__map.leaflet-container {
    background: transparent;

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

    cursor: grab;
}

.rma-areas__map.leaflet-container:active {
    cursor: grabbing;
}

.rma-areas__map
.leaflet-pane,
.rma-areas__map
.leaflet-control {
    z-index: auto;
}

.rma-areas__map
.leaflet-tooltip {
    border: 0;
}

.rma-map-tooltip {
    padding:
        8px 11px !important;

    color:
        var(--rma-charcoal) !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.5) !important;

    border-radius:
        var(--radius-pill) !important;

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

    box-shadow:
        0 9px 25px
        rgba(5, 22, 18, 0.18) !important;

    font-size: 0.62rem !important;
    font-weight: 800 !important;
}

.rma-map-tooltip::before {
    display: none;
}


/* Marker container generated by Leaflet */

.rma-map-marker {
    border: 0;
    background: transparent;
}

.rma-map-marker__pin {
    position: relative;

    display: grid;

    width: 28px;
    height: 28px;

    place-items: center;

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

    border-radius: 50%;

    background:
        var(--rma-gold);

    box-shadow:
        0 8px 20px
        rgba(4, 20, 16, 0.3),
        0 0 0 7px
        rgba(185, 154, 88, 0.15);
}

.rma-map-marker__pin::after {
    content: "";

    width: 7px;
    height: 7px;

    border-radius: 50%;

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


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

.rma-areas__content {
    min-width: 0;

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

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

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

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

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

    -webkit-backdrop-filter:
        blur(20px)
        saturate(110%);

    backdrop-filter:
        blur(20px)
        saturate(110%);
}


/* =========================================================
   TABS
   ========================================================= */

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

    gap: 7px;

    margin-bottom:
        clamp(28px, 4vw, 42px);

    padding: 6px;

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

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

    background:
        rgba(244, 240, 231, 0.72);
}

.rma-areas__tab {
    display: inline-flex;
    min-width: 0;
    min-height: 47px;

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

    padding:
        10px 13px;

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

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

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

    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-areas__tab span {
    color:
        var(--rma-gold);

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

    font-size: 0.8rem;
}

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

.rma-areas__tab.is-active {
    color:
        var(--rma-white);

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

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

.rma-areas__tab.is-active span {
    color:
        var(--rma-gold);
}


/* =========================================================
   PANELS
   ========================================================= */

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

.rma-areas.is-service-areas-ready
.rma-areas__panel.is-active {
    animation:
        rma-area-panel-enter
        580ms
        var(--ease-out)
        both;
}

@keyframes rma-area-panel-enter {
    from {
        opacity: 0.3;
        transform:
            translateY(13px);
    }

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

.rma-areas__panel-heading {
    display: flex;
    align-items: flex-start;
    gap: 18px;

    margin-bottom: 25px;
}

.rma-areas__region-number {
    display: grid;

    width: 48px;
    height: 48px;
    flex: 0 0 48px;

    place-items: center;

    color:
        var(--rma-cream);

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

    border-radius: 50%;

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

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

    font-size: 0.92rem;
    font-weight: 700;
}

.rma-areas__panel-heading > div {
    display: grid;
    gap: 5px;
}

.rma-areas__region-label {
    color:
        var(--rma-gold);

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

.rma-areas__panel h3 {
    margin: 0;

    color:
        var(--rma-charcoal);

    font-size:
        clamp(2.5rem, 4.4vw, 4.1rem);

    font-weight: 600;
    line-height: 0.91;
    letter-spacing: -0.045em;
}

.rma-areas__region-lead {
    margin:
        0 0 26px;

    color:
        var(--color-text);

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

    line-height: 1.75;
}


/* =========================================================
   LOCATION PILLS
   ========================================================= */

.rma-areas__locations {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;

    margin:
        0 0 30px;

    padding: 0;

    list-style: none;
}

.rma-areas__locations li {
    padding:
        8px 12px;

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

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

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

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

    font-size: 0.61rem;
    font-weight: 800;
}


/* =========================================================
   INSIGHTS
   ========================================================= */

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

    margin-bottom: 31px;

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

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

.rma-areas__insights > div {
    display: grid;
    gap: 5px;

    padding:
        19px 17px;

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

.rma-areas__insights > div:first-child {
    padding-left: 0;
}

.rma-areas__insights > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.rma-areas__insights strong {
    color:
        var(--rma-emerald-900);

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

    font-size:
        clamp(1.7rem, 3vw, 2.4rem);

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

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

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


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

.rma-areas__panel-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

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

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

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

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

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


/* =========================================================
   FOOTER CREDENTIAL STRIP
   ========================================================= */

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

    margin-top:
        clamp(28px, 4vw, 48px);

    overflow: hidden;

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

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

    background:
        rgba(255, 255, 255, 0.52);
}

.rma-areas__footer-item {
    display: grid;
    grid-template-columns:
        auto minmax(0, 1fr);

    align-items: center;
    gap: 14px;

    padding:
        21px
        clamp(18px, 2.5vw, 30px);

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

.rma-areas__footer-item:last-child {
    border-right: 0;
}

.rma-areas__footer-item > span {
    color:
        var(--rma-gold);

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

    font-size: 0.85rem;
    font-weight: 700;
}

.rma-areas__footer-item div {
    display: grid;
    gap: 3px;
}

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

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

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

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

.rma-areas__footer-item p {
    margin: 0;

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

    font-size: 0.61rem;
    line-height: 1.45;
}










































/* =========================================================
   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-layout {
    display: grid;
    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: 0.65rem;
    font-weight: 800;
}

.rma-resources__steps small {
    color:
        rgba(244, 240, 231, 0.55);

    font-size: 0.55rem;
    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(0.7rem, 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: 0.78rem;
    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: 0.7rem;
    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-areas__layout {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(330px, 0.86fr);

        gap: 24px;
    }

    .rma-areas__map-frame {
        min-height: 560px;
    }

    .rma-areas__content {
        padding: 25px;
    }

    .rma-areas__tabs {
        grid-template-columns: 1fr;
        border-radius: var(--radius-lg);
    }

    .rma-areas__tab {
        justify-content: flex-start;
        border-radius: var(--radius-md);
    }

    .rma-areas__panel-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .rma-areas__panel-actions
    .btn {
        width: 100%;
    }

    .rma-areas__consultation {
        text-align: center;
    }
       .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-areas__header {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 27px;
    }

    .rma-areas__introduction {
        max-width: 700px;
    }

    .rma-areas__layout {
        grid-template-columns: 1fr;
    }

    .rma-areas__map-frame {
        min-height:
            clamp(470px, 70vw, 600px);
    }

    .rma-areas__tabs {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        border-radius:
            var(--radius-pill);
    }

    .rma-areas__tab {
        justify-content: center;
        border-radius: var(--radius-pill);
    }

    .rma-areas__panel-actions {
        align-items: center;
        flex-direction: row;
    }

    .rma-areas__panel-actions
    .btn {
        width: auto;
    }

    .rma-areas__footer {
        grid-template-columns: 1fr;
    }

    .rma-areas__footer-item {
        border-right: 0;
        border-bottom:
            1px solid
            rgba(18, 60, 52, 0.1);
    }

    .rma-areas__footer-item:last-child {
        border-bottom: 0;
    }
       .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-areas {
        padding:
            clamp(72px, 18vw, 100px)
            0;
    }

    .rma-areas__heading h2 {
        font-size:
            clamp(2.75rem, 13vw, 4.15rem);
    }

    .rma-areas__introduction {
        padding-left: 20px;
    }

    .rma-areas__map-card,
    .rma-areas__content {
        border-radius:
            var(--radius-lg);
    }

    .rma-areas__map-heading {
        min-height: 82px;
        padding: 17px 19px;
    }

    .rma-areas__map-frame {
        min-height: 440px;
    }

    .rma-areas__map-controls {
        top: 14px;
        right: 13px;
    }

    .rma-areas__map-controls button {
        width: 39px;
        height: 39px;
    }

    .rma-areas__map-caption {
        right: 13px;
        bottom: 13px;
        left: 13px;

        flex-wrap: wrap;
        gap: 9px;

        width: auto;

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

    .rma-areas__map-source {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;

        padding: 14px 19px;
    }

    .rma-areas__content {
        padding: 21px 18px;
    }

    .rma-areas__tabs {
        display: flex;

        overflow-x: auto;
        overscroll-behavior-inline: contain;

        padding: 5px;

        scroll-snap-type:
            x mandatory;

        scrollbar-width: none;
    }

    .rma-areas__tabs::-webkit-scrollbar {
        display: none;
    }

    .rma-areas__tab {
        min-width: 170px;

        scroll-snap-align: start;
    }

    .rma-areas__panel h3 {
        font-size:
            clamp(2.5rem, 12vw, 3.6rem);
    }

    .rma-areas__insights {
        grid-template-columns: 1fr;
    }

    .rma-areas__insights > div {
        padding:
            17px 0;

        border-right: 0;
        border-bottom:
            1px solid
            rgba(18, 60, 52, 0.1);
    }

    .rma-areas__insights > div:last-child {
        border-bottom: 0;
    }

    .rma-areas__panel-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .rma-areas__panel-actions
    .btn {
        width: 100%;
    }

    .rma-areas__footer {
        border-radius:
            var(--radius-md);
    }
     .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-areas__map-status {
        display: none;
    }

    .rma-areas__map-frame {
        min-height: 410px;
    }

    .rma-areas__fallback-state {
        width: 62px;
        height: 62px;
    }

    .rma-areas__fallback-state:nth-child(3) {
        width: 47px;
        height: 47px;
    }

    .rma-areas__region-number {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .rma-areas__locations li {
        font-size: 0.57rem;
    }
     .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-areas__tab,
    .rma-areas__map-controls button,
    .rma-areas__introduction a svg {
        transition: none;
        transform: none;
    }

    .rma-areas.is-service-areas-ready
    .rma-areas__panel.is-active {
        animation: 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-areas__map-controls button: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;
    }
}