/*
 * 777 Inmobiliaria — experiencia editorial Arbor
 * ------------------------------------------------
 * Esta hoja se carga al final y solo actúa cuando el body combina
 * .design-minimal.design-arbor. Mantiene intactos los estilos heredados
 * para que el cambio de dirección visual sea reversible.
 */

body.design-minimal.design-arbor {
    --arbor-navy: #052c3d;
    --arbor-navy-deep: #031f2c;
    --arbor-petrol: #123f48;
    --arbor-petrol-soft: #2c5558;
    --arbor-cream: #fff7dc;
    --arbor-paper: #fbf8ed;
    --arbor-sand: #e9dfc4;
    --arbor-gold: #f5ba0a;
    --arbor-gold-soft: #d3a72e;
    --arbor-gold-muted: #b99a55;
    --arbor-ink: #062a3a;
    --arbor-line: rgba(6, 42, 58, .2);
    --arbor-line-light: rgba(255, 247, 220, .24);
    --arbor-ui: "Lato", Arial, sans-serif;
    --arbor-editorial: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --arbor-shell: min(100% - 9vw, 1760px);
    --arbor-header-width: min(640px, calc(100vw - 48px));
    --arbor-ease: cubic-bezier(.22, 1, .36, 1);
    --arbor-shadow: 0 24px 90px rgba(3, 31, 44, .18);
    min-width: 0;
    color: var(--arbor-ink);
    background: var(--arbor-paper);
    font-family: var(--arbor-ui);
    overflow-x: clip;
}

body.design-minimal.design-arbor *,
body.design-minimal.design-arbor *::before,
body.design-minimal.design-arbor *::after {
    box-sizing: border-box;
}

html:has(body.design-arbor) {
    scroll-behavior: smooth;
    scrollbar-color: var(--arbor-gold-muted) var(--arbor-navy-deep);
    scrollbar-width: thin;
}

html:has(body.design-arbor)::-webkit-scrollbar {
    width: 8px;
}

html:has(body.design-arbor)::-webkit-scrollbar-track {
    background: var(--arbor-navy-deep);
}

html:has(body.design-arbor)::-webkit-scrollbar-thumb {
    border: 2px solid var(--arbor-navy-deep);
    border-radius: 999px;
    background: var(--arbor-gold-muted);
}

body.design-minimal.design-arbor :is(img, video, svg, canvas) {
    max-width: 100%;
}

body.design-minimal.design-arbor :is(button, a, input, select, textarea) {
    font: inherit;
}

body.design-minimal.design-arbor :is(button, a, input, select, textarea):focus-visible {
    outline: 2px solid var(--arbor-gold);
    outline-offset: 4px;
}

body.design-minimal.design-arbor :is(.topbar, .site-status-banner, .cursor-orb, .cursor-trail) {
    display: none !important;
}

body.design-minimal.design-arbor .page-content {
    padding-top: 0;
    overflow: clip;
}

body.design-minimal.design-arbor .legacy-experience,
body.design-minimal.design-arbor .minimal-home,
body.design-minimal.design-arbor .minimal-projects {
    display: none !important;
}

body.design-minimal.design-arbor .arbor-shell {
    width: var(--arbor-shell);
    margin-inline: auto;
}

body.design-minimal.design-arbor .arbor-eyebrow {
    margin: 0;
    color: var(--arbor-gold);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .16em;
    line-height: 1.3;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-display {
    margin: 0;
    font-family: var(--arbor-editorial);
    font-weight: 500;
    letter-spacing: -.055em;
    line-height: .88;
}

body.design-minimal.design-arbor .arbor-pill,
body.design-minimal.design-arbor :is(.arbor-hero, .arbor-story, .arbor-statement, .arbor-location, .arbor-residences-preview, .arbor-business, .arbor-roots, .arbor-amenities, .arbor-contact-cta, .arbor-projects) a[data-arbor-cta] {
    position: relative;
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 0 24px;
    border: 1px solid currentColor;
    border-radius: 999px;
    color: inherit;
    background: transparent;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .11em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .35s var(--arbor-ease), background-color .35s var(--arbor-ease), border-color .35s var(--arbor-ease), transform .35s var(--arbor-ease);
}

body.design-minimal.design-arbor .arbor-pill::after,
body.design-minimal.design-arbor a[data-arbor-cta]::after {
    content: "\2192";
    flex: 0 0 auto;
    font-size: 1.1rem;
    font-weight: 400;
    transition: transform .35s var(--arbor-ease);
}

body.design-minimal.design-arbor .arbor-pill:is(:hover, :focus-visible),
body.design-minimal.design-arbor a[data-arbor-cta]:is(:hover, :focus-visible) {
    color: var(--arbor-navy-deep);
    border-color: var(--arbor-gold);
    background: var(--arbor-gold);
    transform: translateY(-2px);
}

body.design-minimal.design-arbor .arbor-pill:is(:hover, :focus-visible)::after,
body.design-minimal.design-arbor a[data-arbor-cta]:is(:hover, :focus-visible)::after {
    transform: translateX(5px);
}

/* Loader editorial */
body.design-minimal.design-arbor .arbor-loader {
    position: fixed;
    z-index: 5000;
    inset: 0;
    min-height: 100svh;
    display: grid;
    place-items: center;
    color: var(--arbor-gold-muted);
    background: var(--arbor-paper);
    opacity: 1;
    visibility: visible;
    transition: opacity .8s var(--arbor-ease), visibility .8s step-end;
}

body.design-minimal.design-arbor .arbor-loader[aria-hidden="true"],
body.design-minimal.design-arbor .arbor-loader.is-complete,
body.design-minimal.design-arbor .arbor-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

body.design-minimal.design-arbor .arbor-loader__inner {
    width: min(320px, calc(100vw - 64px));
    display: grid;
    justify-items: center;
    gap: 28px;
}

body.design-minimal.design-arbor .arbor-loader__logo {
    width: 92px;
    color: var(--arbor-gold-muted);
    font-family: var(--arbor-editorial);
    font-size: 3.6rem;
    font-weight: 600;
    letter-spacing: -.08em;
    line-height: .75;
    text-align: center;
}

body.design-minimal.design-arbor .arbor-loader__track,
body.design-minimal.design-arbor .arbor-loader__line {
    position: relative;
    width: 100%;
    height: 1px;
    overflow: hidden;
    background: rgba(185, 154, 85, .2);
}

body.design-minimal.design-arbor .arbor-loader__bar,
body.design-minimal.design-arbor .arbor-loader__fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--arbor-loader-progress, 0%);
    background: currentColor;
    transition: width .35s var(--arbor-ease);
}

body.design-minimal.design-arbor .arbor-loader__value {
    margin: -2px 0 0;
    font-family: var(--arbor-editorial);
    font-size: 2rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.04em;
}

/* Cabecera en cápsula, inspirada por el ritmo del referente pero con marca 777. */
body.design-minimal.design-arbor .header {
    position: fixed;
    z-index: 2000;
    top: 24px;
    right: auto;
    bottom: auto;
    left: 50%;
    width: var(--arbor-header-width);
    height: 60px;
    padding: 0;
    border: 1px solid rgba(255, 247, 220, .18);
    border-radius: 30px;
    color: var(--arbor-cream);
    background: rgba(3, 31, 44, .86);
    box-shadow: 0 12px 40px rgba(3, 31, 44, .12);
    backdrop-filter: blur(18px) saturate(120%);
    -webkit-backdrop-filter: blur(18px) saturate(120%);
    overflow: hidden;
    transform: translateX(-50%);
    transition: width .7s var(--arbor-ease), height .7s var(--arbor-ease), border-radius .7s var(--arbor-ease), background-color .4s ease;
}

body.design-minimal.design-arbor .header:has(.nav.active) {
    width: min(640px, calc(100vw - 48px));
    height: min(752px, calc(100svh - 48px));
    border-radius: 30px;
    background: rgba(3, 31, 44, .94);
    overflow-y: auto;
    scrollbar-width: none;
}

body.design-minimal.design-arbor .header:has(.nav.active)::-webkit-scrollbar {
    display: none;
}

body.design-minimal.design-arbor .header-container {
    position: relative;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 58px;
    margin: 0;
    padding: 0;
    display: block;
    border: 0;
    border-radius: inherit;
    color: inherit;
    background: transparent;
    box-shadow: none;
}

body.design-minimal.design-arbor .logo,
body.design-minimal.design-arbor .logo a {
    position: absolute;
    z-index: 4;
    top: 50%;
    left: 50%;
    width: 118px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%);
}

body.design-minimal.design-arbor .header:has(.nav.active) .logo,
body.design-minimal.design-arbor .header:has(.nav.active) .logo a {
    top: 30px;
}

body.design-minimal.design-arbor .brand-logo {
    width: 118px;
    height: 44px;
    overflow: visible;
}

body.design-minimal.design-arbor .brand-logo-number {
    fill: var(--arbor-gold);
}

body.design-minimal.design-arbor .brand-logo-name {
    fill: var(--arbor-cream);
}

body.design-minimal.design-arbor .hamburger {
    position: absolute;
    z-index: 8;
    top: 7px;
    left: 12px;
    width: 116px;
    height: 44px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 5px;
    padding: 0 0 0 8px;
    border: 0;
    border-radius: 999px;
    color: var(--arbor-cream);
    background: transparent;
    cursor: pointer;
}

body.design-minimal.design-arbor .hamburger::after {
    content: "MENÚ";
    position: absolute;
    top: 50%;
    left: 48px;
    color: currentColor;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    transform: translateY(-50%);
}

body.design-minimal.design-arbor .hamburger[aria-expanded="true"]::after {
    content: "CERRAR";
}

body.design-minimal.design-arbor .hamburger span {
    width: 28px;
    height: 1px;
    margin: 0;
    border-radius: 0;
    background: currentColor;
    transform-origin: center;
    transition: transform .4s var(--arbor-ease), opacity .25s ease, width .3s ease;
}

body.design-minimal.design-arbor .hamburger span:nth-child(3) {
    display: none;
}

body.design-minimal.design-arbor .hamburger[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(3px) rotate(28deg);
}

body.design-minimal.design-arbor .hamburger[aria-expanded="true"] span:nth-child(2) {
    transform: translateY(-3px) rotate(-28deg);
}

body.design-minimal.design-arbor .header-actions {
    position: absolute;
    z-index: 8;
    top: 7px;
    right: 8px;
    height: 44px;
    display: flex;
    align-items: center;
    gap: 0;
}

body.design-minimal.design-arbor .header-actions .btn-search {
    display: none;
}

body.design-minimal.design-arbor .header-actions .btn-primary {
    min-width: 142px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0 18px;
    border: 1px solid rgba(255, 247, 220, .3);
    border-radius: 999px;
    color: var(--arbor-cream);
    background: transparent;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .3s ease, border-color .3s ease, background-color .3s ease;
}

body.design-minimal.design-arbor .header-actions .btn-primary::after {
    content: "\2192";
    color: var(--arbor-gold);
    font-size: 1rem;
    font-weight: 400;
}

body.design-minimal.design-arbor .header-actions .btn-primary:is(:hover, :focus-visible) {
    color: var(--arbor-navy-deep);
    border-color: var(--arbor-gold);
    background: var(--arbor-gold);
}

body.design-minimal.design-arbor .header-actions .btn-primary:is(:hover, :focus-visible)::after {
    color: inherit;
}

body.design-minimal.design-arbor .nav {
    position: absolute;
    z-index: 2;
    top: 104px;
    right: 0;
    bottom: 24px;
    left: 0;
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 48px 58px;
    color: var(--arbor-cream);
    background: transparent;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-18px);
    transition: opacity .4s .08s ease, visibility .4s step-end, transform .6s var(--arbor-ease);
}

body.design-minimal.design-arbor .nav.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition: opacity .45s .2s ease, visibility .45s step-start, transform .65s .12s var(--arbor-ease);
}

body.design-minimal.design-arbor .nav::before {
    content: "777\A INMOBILIARIA";
    position: absolute;
    top: 4px;
    left: 50%;
    color: var(--arbor-gold);
    font-family: var(--arbor-editorial);
    font-size: clamp(2rem, 5vw, 2.75rem);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: .78;
    text-align: center;
    white-space: pre;
    transform: translateX(-50%);
}

body.design-minimal.design-arbor .nav::after {
    content: "COLOMBIA  ·  VISIÓN NACIONAL";
    position: absolute;
    bottom: 10px;
    left: 50%;
    color: rgba(255, 247, 220, .48);
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .18em;
    white-space: nowrap;
    transform: translateX(-50%);
}

body.design-minimal.design-arbor .nav-list {
    width: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin: 0;
    padding: 50px 0 0;
    list-style: none;
}

body.design-minimal.design-arbor .nav-item {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0;
}

body.design-minimal.design-arbor .nav-link {
    min-height: 0;
    padding: .08em .3em;
    border: 0;
    color: rgba(255, 247, 220, .72);
    background: transparent;
    font-family: var(--arbor-editorial);
    font-size: clamp(1.8rem, 4.2vh, 2.45rem);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1.02;
    text-transform: none;
    cursor: pointer;
    transition: color .25s ease, transform .35s var(--arbor-ease);
}

body.design-minimal.design-arbor .nav-link:is(:hover, :focus-visible),
body.design-minimal.design-arbor .nav-link.active {
    color: var(--arbor-gold);
    transform: translateX(4px);
}

body.design-minimal.design-arbor .nav-link.active::after,
body.design-minimal.design-arbor :is(.nav-caret, .nav-indicator, .dropdown-menu) {
    display: none !important;
}

/* Hero cinematográfico */
body.design-minimal.design-arbor .arbor-hero {
    position: relative;
    min-height: 100svh;
    display: grid;
    align-items: end;
    color: var(--arbor-cream);
    background: var(--arbor-navy-deep);
    isolation: isolate;
    overflow: hidden;
}

body.design-minimal.design-arbor .arbor-hero__media,
body.design-minimal.design-arbor .arbor-hero__fallback {
    position: absolute;
    z-index: -3;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: linear-gradient(145deg, var(--arbor-petrol), var(--arbor-navy-deep));
}

body.design-minimal.design-arbor .arbor-hero__media :is(video, img, picture),
body.design-minimal.design-arbor .arbor-hero__fallback :is(img, picture) {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

body.design-minimal.design-arbor .arbor-hero__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(3, 31, 44, .08) 30%, rgba(3, 31, 44, .84) 100%),
        linear-gradient(90deg, rgba(3, 31, 44, .18), transparent 55%);
    pointer-events: none;
}

body.design-minimal.design-arbor .arbor-blueprint {
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(245, 186, 10, .25) 1px, transparent 1px),
        linear-gradient(90deg, rgba(245, 186, 10, .25) 1px, transparent 1px);
    background-size: clamp(80px, 9vw, 170px) clamp(80px, 9vw, 170px);
    mask-image: linear-gradient(110deg, transparent 5%, #000 50%, transparent 90%);
    pointer-events: none;
}

body.design-minimal.design-arbor .arbor-blueprint::before,
body.design-minimal.design-arbor .arbor-blueprint::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(245, 186, 10, .48);
    transform: rotate(-18deg);
}

body.design-minimal.design-arbor .arbor-blueprint::before {
    top: 12%;
    right: 8%;
    width: 34vw;
    aspect-ratio: 1;
    border-radius: 50%;
}

body.design-minimal.design-arbor .arbor-blueprint::after {
    bottom: -12%;
    left: 18%;
    width: 48vw;
    height: 22vw;
}

body.design-minimal.design-arbor .arbor-hero__content {
    position: relative;
    z-index: 2;
    width: var(--arbor-shell);
    margin-inline: auto;
    padding: 140px 0 5vh;
}

body.design-minimal.design-arbor .arbor-hero__eyebrow,
body.design-minimal.design-arbor .arbor-hero__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 3vh;
    color: rgba(255, 247, 220, .72);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.5;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-hero__wordmark,
body.design-minimal.design-arbor .arbor-hero__wordmark :is(h1, p) {
    width: 100%;
    margin: 0;
    color: var(--arbor-cream);
    font-family: var(--arbor-editorial);
    font-size: clamp(5rem, 10.6vw, 13rem);
    font-weight: 500;
    letter-spacing: -.072em;
    line-height: .72;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
}

body.design-minimal.design-arbor .arbor-hero__wordmark strong {
    color: var(--arbor-gold);
    font: inherit;
    font-style: normal;
}

body.design-minimal.design-arbor .arbor-hero__footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 32px;
    margin-top: clamp(30px, 5vh, 70px);
}

body.design-minimal.design-arbor .arbor-hero__footer p {
    max-width: 540px;
    margin: 0;
    color: rgba(255, 247, 220, .74);
    font-size: clamp(.88rem, 1.15vw, 1.08rem);
    font-weight: 300;
    line-height: 1.6;
}

body.design-minimal.design-arbor .arbor-hero__scroll {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: rgba(255, 247, 220, .68);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-hero__scroll::before {
    content: "";
    width: 48px;
    height: 1px;
    background: var(--arbor-gold);
}

/* Relato de marca dirigido por scroll */
body.design-minimal.design-arbor .arbor-story {
    position: relative;
    height: 760vh;
    color: var(--arbor-cream);
    background:
        radial-gradient(circle at 72% 22%, rgba(44, 85, 88, .58), transparent 36%),
        var(--arbor-navy);
}

body.design-minimal.design-arbor .arbor-story__stage {
    position: sticky;
    top: 0;
    height: 100svh;
    min-height: 650px;
    overflow: hidden;
    isolation: isolate;
}

body.design-minimal.design-arbor .arbor-story__stage::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px);
    background-size: 12.5vw 12.5vw;
    mask-image: linear-gradient(90deg, #000, transparent 78%);
}

body.design-minimal.design-arbor [data-arbor-chapter],
body.design-minimal.design-arbor .arbor-story__chapter {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
    align-items: center;
    gap: clamp(32px, 6vw, 120px);
    padding: 118px max(4.5vw, calc((100vw - 1760px) / 2)) 82px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(.985);
    transition: opacity .8s ease, visibility .8s step-end, transform 1.2s var(--arbor-ease);
}

body.design-minimal.design-arbor [data-arbor-chapter].is-active,
body.design-minimal.design-arbor [data-arbor-chapter][aria-hidden="false"],
body.design-minimal.design-arbor .arbor-story__chapter.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: scale(1);
    transition: opacity .8s ease, visibility .8s step-start, transform 1.2s var(--arbor-ease);
}

body.design-minimal.design-arbor .arbor-story__copy {
    position: relative;
    z-index: 3;
    max-width: 790px;
}

body.design-minimal.design-arbor .arbor-story__copy > :first-child:not(h2) {
    margin-bottom: 32px;
    color: var(--arbor-gold);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-story h2 {
    margin: 0;
    color: var(--arbor-cream);
    font-family: var(--arbor-editorial);
    font-size: clamp(3.1rem, 4.4vw, 5.5rem);
    font-weight: 500;
    letter-spacing: -.052em;
    line-height: .94;
}

body.design-minimal.design-arbor .arbor-story h2 :is(span, [data-arbor-word]) {
    display: inline-block;
    opacity: var(--arbor-word-opacity, 1);
    filter: blur(var(--arbor-word-blur, 0));
    transform: translateY(var(--arbor-word-y, 0));
    transition: opacity .35s ease, filter .55s ease, transform .55s var(--arbor-ease);
}

body.design-minimal.design-arbor .arbor-story__copy > p:not(:first-child) {
    max-width: 560px;
    margin: 30px 0 0;
    color: rgba(255, 247, 220, .67);
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.7;
}

body.design-minimal.design-arbor .arbor-story__copy .arbor-pill {
    margin-top: 38px;
}

body.design-minimal.design-arbor .arbor-story__media {
    position: relative;
    z-index: 1;
    width: min(42vw, 720px);
    aspect-ratio: .88;
    justify-self: end;
    overflow: hidden;
    border-radius: 46% 54% 36% 64% / 34% 30% 70% 66%;
    clip-path: polygon(22% 0, 100% 7%, 94% 78%, 66% 100%, 8% 88%, 0 28%);
    box-shadow: 0 34px 90px rgba(3, 31, 44, .28);
    transform: translate3d(var(--arbor-media-x, 0), var(--arbor-media-y, 0), 0) rotate(var(--arbor-media-rotate, 0deg)) scale(var(--arbor-media-scale, 1));
    transition: clip-path 1.1s var(--arbor-ease), transform 1.2s var(--arbor-ease);
}

body.design-minimal.design-arbor [data-arbor-chapter]:nth-child(even) .arbor-story__media {
    justify-self: start;
    border-radius: 34% 66% 58% 42% / 57% 34% 66% 43%;
    clip-path: polygon(7% 12%, 76% 0, 100% 24%, 88% 100%, 16% 93%, 0 62%);
}

body.design-minimal.design-arbor [data-arbor-chapter]:nth-child(even) .arbor-story__copy {
    order: 2;
}

body.design-minimal.design-arbor .arbor-story__media :is(img, video, picture) {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transform: scale(1.06);
}

body.design-minimal.design-arbor .arbor-story__media::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 247, 220, .18);
    background: linear-gradient(160deg, transparent 55%, rgba(3, 31, 44, .32));
    pointer-events: none;
}

body.design-minimal.design-arbor .arbor-story__progress {
    position: absolute;
    z-index: 8;
    bottom: 6vh;
    left: max(4.5vw, calc((100vw - 1760px) / 2));
    width: min(310px, 32vw);
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 18px;
    color: rgba(255, 247, 220, .5);
    font-size: .65rem;
    font-variant-numeric: tabular-nums;
}

body.design-minimal.design-arbor .arbor-story__progress::before,
body.design-minimal.design-arbor .arbor-story__progress-track {
    content: "";
    height: 1px;
    background: linear-gradient(90deg, var(--arbor-gold) var(--arbor-story-progress, 33%), rgba(255, 247, 220, .25) var(--arbor-story-progress, 33%));
}

body.design-minimal.design-arbor .arbor-story__progress-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: var(--arbor-story-progress, 33%);
    height: 1px;
    background: var(--arbor-gold);
}

body.design-minimal.design-arbor .arbor-story__progress-current {
    color: var(--arbor-gold);
}

/* Declaración tipográfica */
body.design-minimal.design-arbor .arbor-statement {
    position: relative;
    min-height: 100svh;
    display: flex;
    align-items: center;
    padding: clamp(110px, 14vw, 250px) 4.5vw;
    color: var(--arbor-cream);
    background: var(--arbor-navy);
    overflow: hidden;
}

body.design-minimal.design-arbor .arbor-statement::before {
    content: "777";
    position: absolute;
    top: 50%;
    right: -4vw;
    color: rgba(245, 186, 10, .045);
    font-family: var(--arbor-editorial);
    font-size: min(52vw, 780px);
    font-weight: 600;
    letter-spacing: -.12em;
    line-height: .7;
    transform: translateY(-50%);
}

body.design-minimal.design-arbor .arbor-statement__inner {
    position: relative;
    z-index: 1;
    width: min(1500px, 100%);
    margin-inline: auto;
}

body.design-minimal.design-arbor .arbor-statement h2 {
    max-width: 1450px;
    margin: 0;
    font-family: var(--arbor-editorial);
    font-size: clamp(5rem, 12vw, 14rem);
    font-weight: 500;
    letter-spacing: -.07em;
    line-height: .74;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-statement h2 em {
    color: var(--arbor-gold);
    font: inherit;
    font-style: normal;
}

body.design-minimal.design-arbor .arbor-statement__footer {
    max-width: 600px;
    margin: clamp(48px, 8vw, 120px) 0 0 auto;
    padding-left: 30px;
    border-left: 1px solid var(--arbor-gold);
    color: rgba(255, 247, 220, .7);
    font-size: clamp(1rem, 1.25vw, 1.25rem);
    font-weight: 300;
    line-height: 1.7;
}

/* Ubicación y mapa ilustrado */
body.design-minimal.design-arbor .arbor-location {
    position: relative;
    min-height: 100svh;
    padding: clamp(110px, 11vw, 200px) 0;
    color: var(--arbor-ink);
    background: var(--arbor-paper);
    overflow: hidden;
}

body.design-minimal.design-arbor .arbor-location__heading {
    position: relative;
    z-index: 2;
    width: var(--arbor-shell);
    margin: 0 auto clamp(60px, 8vw, 140px);
}

body.design-minimal.design-arbor .arbor-location h2,
body.design-minimal.design-arbor .arbor-location__title {
    margin: 0;
    color: var(--arbor-gold-muted);
    font-family: var(--arbor-editorial);
    font-size: clamp(5.5rem, 11vw, 13rem);
    font-weight: 500;
    letter-spacing: -.065em;
    line-height: .72;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-location__lead {
    max-width: 550px;
    margin: 34px 0 0 auto;
    font-size: clamp(1rem, 1.25vw, 1.25rem);
    font-weight: 300;
    line-height: 1.7;
}

body.design-minimal.design-arbor .arbor-location__experience {
    position: relative;
    width: var(--arbor-shell);
    min-height: 720px;
    display: grid;
    grid-template-columns: minmax(290px, .34fr) minmax(0, .66fr);
    gap: clamp(35px, 6vw, 110px);
    align-items: stretch;
    margin-inline: auto;
}

body.design-minimal.design-arbor .arbor-location__places,
body.design-minimal.design-arbor .arbor-location__list {
    position: relative;
    z-index: 2;
    align-self: center;
    display: grid;
    gap: .08em;
    margin: 0;
    padding: 0 0 36px;
    border-bottom: 1px solid var(--arbor-line);
    list-style: none;
}

body.design-minimal.design-arbor .arbor-location__place,
body.design-minimal.design-arbor .arbor-location__list :is(button, a, li) {
    padding: 0;
    border: 0;
    color: rgba(185, 154, 85, .23);
    background: transparent;
    font-family: var(--arbor-editorial);
    font-size: clamp(2.4rem, 3.8vw, 4.6rem);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: .92;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: color .45s ease, filter .45s ease, transform .55s var(--arbor-ease);
}

body.design-minimal.design-arbor .arbor-location__place:is(.is-active, :hover, :focus-visible),
body.design-minimal.design-arbor .arbor-location__list :is(button, a, li):is(.is-active, :hover, :focus-visible) {
    color: var(--arbor-gold-muted);
    filter: blur(0);
    transform: translateX(8px);
}

body.design-minimal.design-arbor .arbor-location__map {
    position: relative;
    min-height: 720px;
    overflow: hidden;
    border: 1px solid rgba(185, 154, 85, .25);
    border-radius: 52% 48% 22% 18% / 14% 18% 12% 10%;
    background:
        linear-gradient(28deg, transparent 48%, rgba(6, 42, 58, .1) 49%, rgba(6, 42, 58, .1) 50%, transparent 51%) 0 0 / 150px 100px,
        linear-gradient(-24deg, transparent 48%, rgba(6, 42, 58, .09) 49%, rgba(6, 42, 58, .09) 50%, transparent 51%) 0 0 / 190px 120px,
        #fffbed;
    box-shadow: inset 0 0 100px rgba(185, 154, 85, .08);
    transform: perspective(1200px) rotateX(4deg);
}

body.design-minimal.design-arbor .arbor-location__map :is(svg, canvas, img) {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.design-minimal.design-arbor .arbor-location__pin {
    position: absolute;
    width: 16px;
    height: 16px;
    padding: 0;
    border: 2px solid var(--arbor-paper);
    border-radius: 50%;
    background: var(--arbor-gold-muted);
    box-shadow: 0 0 0 1px var(--arbor-gold-muted), 0 8px 20px rgba(6, 42, 58, .16);
}

body.design-minimal.design-arbor .arbor-location__pin::after {
    content: attr(data-label);
    position: absolute;
    top: 22px;
    left: 50%;
    width: max-content;
    max-width: 160px;
    color: var(--arbor-gold-muted);
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    transform: translateX(-50%);
}

/* Vista destacada de inmuebles */
body.design-minimal.design-arbor .arbor-residences-preview {
    position: relative;
    min-height: 100svh;
    display: grid;
    grid-template-columns: minmax(360px, 42%) minmax(0, 58%);
    color: var(--arbor-ink);
    background: var(--arbor-paper);
    overflow: hidden;
}

body.design-minimal.design-arbor .arbor-residences-preview__copy {
    position: relative;
    z-index: 2;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 130px clamp(38px, 4.5vw, 90px) 70px;
    border-right: 1px solid rgba(185, 154, 85, .55);
}

body.design-minimal.design-arbor .arbor-residences-preview h2 {
    margin: 0 0 46px;
    color: var(--arbor-gold-muted);
    font-family: var(--arbor-editorial);
    font-size: clamp(4.5rem, 7.5vw, 9rem);
    font-weight: 500;
    letter-spacing: -.06em;
    line-height: .76;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-residences-preview__list {
    display: grid;
    gap: .1em;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.design-minimal.design-arbor .arbor-residences-preview__list :is(button, a) {
    padding: 0;
    border: 0;
    color: var(--arbor-gold-muted);
    background: transparent;
    font-family: var(--arbor-editorial);
    font-size: clamp(2.2rem, 3.5vw, 4.5rem);
    font-weight: 500;
    letter-spacing: -.04em;
    line-height: .92;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: color .3s ease, font-style .3s ease, transform .4s var(--arbor-ease);
}

body.design-minimal.design-arbor .arbor-residences-preview__list :is(button, a):is(.is-active, :hover, :focus-visible) {
    color: var(--arbor-ink);
    font-style: italic;
    transform: translateX(8px);
}

body.design-minimal.design-arbor .arbor-residences-preview__meta {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 28px;
    margin-top: auto;
    padding-top: 34px;
    border-top: 1px solid var(--arbor-line);
}

body.design-minimal.design-arbor .arbor-residences-preview__count {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: .75rem;
    line-height: 1.2;
}

body.design-minimal.design-arbor .arbor-residences-preview__count strong {
    font-family: var(--arbor-editorial);
    font-size: clamp(3.5rem, 5vw, 6rem);
    font-weight: 500;
    letter-spacing: -.055em;
    line-height: .7;
}

body.design-minimal.design-arbor .arbor-residences-preview__media {
    position: relative;
    min-height: 100svh;
    overflow: hidden;
    background: var(--arbor-sand);
}

body.design-minimal.design-arbor .arbor-residences-preview__media :is(img, video, picture) {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 1.2s var(--arbor-ease), opacity .5s ease;
}

body.design-minimal.design-arbor .arbor-residences-preview__media::after {
    content: "INMUEBLES";
    position: absolute;
    right: 4vw;
    bottom: 5vh;
    color: var(--arbor-gold);
    font-family: var(--arbor-editorial);
    font-size: clamp(4rem, 8vw, 10rem);
    font-weight: 500;
    letter-spacing: -.06em;
    line-height: .72;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-residences-preview__controls {
    position: absolute;
    z-index: 4;
    top: 50%;
    right: 18px;
    left: 18px;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    transform: translateY(-50%);
}

body.design-minimal.design-arbor .arbor-residences-preview__controls button {
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 247, 220, .5);
    border-radius: 50%;
    color: var(--arbor-cream);
    background: rgba(3, 31, 44, .58);
    backdrop-filter: blur(12px);
    pointer-events: auto;
    cursor: pointer;
    transition: color .3s ease, background-color .3s ease, transform .3s ease;
}

body.design-minimal.design-arbor .arbor-residences-preview__controls button:is(:hover, :focus-visible) {
    color: var(--arbor-navy-deep);
    background: var(--arbor-gold);
    transform: scale(1.05);
}

/* Servicios empresariales */
body.design-minimal.design-arbor .arbor-business {
    position: relative;
    color: var(--arbor-cream);
    background: var(--arbor-navy-deep);
    overflow: hidden;
}

body.design-minimal.design-arbor .arbor-business__hero {
    position: relative;
    min-height: 100svh;
    display: flex;
    align-items: center;
    padding: 120px 4.5vw 80px;
    isolation: isolate;
}

body.design-minimal.design-arbor .arbor-business__media {
    position: absolute;
    z-index: -2;
    inset: 0;
}

body.design-minimal.design-arbor .arbor-business__media :is(img, video, picture) {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.design-minimal.design-arbor .arbor-business__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(3,31,44,.9), rgba(3,31,44,.26) 62%, rgba(3,31,44,.62));
}

body.design-minimal.design-arbor .arbor-business h2 {
    max-width: 1500px;
    margin: 0;
    color: var(--arbor-sand);
    font-family: var(--arbor-editorial);
    font-size: clamp(5rem, 11vw, 13rem);
    font-weight: 500;
    letter-spacing: -.07em;
    line-height: .72;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-business__content {
    width: var(--arbor-shell);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .54fr);
    gap: clamp(50px, 9vw, 160px);
    margin-inline: auto;
    padding: clamp(90px, 11vw, 190px) 0;
}

body.design-minimal.design-arbor .arbor-business__content > p {
    margin: 0;
    font-family: var(--arbor-editorial);
    font-size: clamp(2.4rem, 4vw, 5rem);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: .96;
}

body.design-minimal.design-arbor .arbor-business__services {
    display: grid;
    align-content: start;
    gap: 0;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--arbor-line-light);
    list-style: none;
}

body.design-minimal.design-arbor .arbor-business__services li {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 18px;
    padding: 22px 0;
    border-bottom: 1px solid var(--arbor-line-light);
    color: rgba(255, 247, 220, .68);
    line-height: 1.5;
}

body.design-minimal.design-arbor .arbor-business__services li::before {
    color: var(--arbor-gold);
    content: counter(list-item, decimal-leading-zero);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .12em;
}

/* Bloque emocional */
body.design-minimal.design-arbor .arbor-roots {
    position: relative;
    min-height: 100svh;
    padding: clamp(100px, 11vw, 200px) 0;
    color: var(--arbor-ink);
    background: var(--arbor-paper);
    overflow: hidden;
}

body.design-minimal.design-arbor .arbor-roots h2 {
    position: relative;
    z-index: 2;
    width: var(--arbor-shell);
    margin: 0 auto;
    color: var(--arbor-gold-muted);
    font-family: var(--arbor-editorial);
    font-size: clamp(7rem, 17vw, 20rem);
    font-weight: 500;
    letter-spacing: -.075em;
    line-height: .65;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-roots__collage {
    position: relative;
    width: var(--arbor-shell);
    min-height: 680px;
    margin: clamp(60px, 8vw, 130px) auto 0;
}

body.design-minimal.design-arbor .arbor-roots__media {
    position: absolute;
    overflow: hidden;
    box-shadow: var(--arbor-shadow);
}

body.design-minimal.design-arbor .arbor-roots__media:first-child {
    top: 0;
    left: 0;
    width: 56%;
    aspect-ratio: 1.48;
    border-radius: 50% 8% 48% 12% / 18% 36% 12% 45%;
}

body.design-minimal.design-arbor .arbor-roots__media:nth-child(2) {
    right: 4%;
    bottom: 0;
    width: 36%;
    aspect-ratio: .9;
    border-radius: 16% 55% 18% 45% / 38% 12% 48% 18%;
}

body.design-minimal.design-arbor .arbor-roots__media :is(img, video, picture) {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.design-minimal.design-arbor .arbor-roots__copy {
    position: absolute;
    z-index: 2;
    top: 18%;
    right: 0;
    width: min(48%, 680px);
    padding: clamp(34px, 4vw, 70px);
    color: var(--arbor-cream);
    background: var(--arbor-navy);
}

body.design-minimal.design-arbor .arbor-roots__copy p {
    margin: 0;
    font-family: var(--arbor-editorial);
    font-size: clamp(2rem, 3.2vw, 4rem);
    font-weight: 500;
    letter-spacing: -.04em;
    line-height: 1;
}

body.design-minimal.design-arbor .arbor-roots__copy .arbor-pill {
    margin-top: 34px;
}

/* Amenidades / beneficios */
body.design-minimal.design-arbor .arbor-amenities {
    position: relative;
    min-height: 100svh;
    padding: clamp(100px, 11vw, 190px) 0;
    color: var(--arbor-cream);
    background: var(--arbor-petrol);
    overflow: hidden;
}

body.design-minimal.design-arbor .arbor-amenities__header {
    width: var(--arbor-shell);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .42fr);
    align-items: end;
    gap: 60px;
    margin-inline: auto;
}

body.design-minimal.design-arbor .arbor-amenities h2 {
    margin: 0;
    color: var(--arbor-sand);
    font-family: var(--arbor-editorial);
    font-size: clamp(5.5rem, 11vw, 13rem);
    font-weight: 500;
    letter-spacing: -.065em;
    line-height: .72;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-amenities__header > p {
    margin: 0 0 8px;
    color: rgba(255, 247, 220, .68);
    font-weight: 300;
    line-height: 1.75;
}

body.design-minimal.design-arbor .arbor-amenities__experience {
    width: var(--arbor-shell);
    display: grid;
    grid-template-columns: minmax(260px, .32fr) minmax(0, .68fr);
    gap: clamp(34px, 6vw, 110px);
    margin: clamp(60px, 8vw, 130px) auto 0;
}

body.design-minimal.design-arbor .arbor-amenities__tabs {
    display: grid;
    align-content: center;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.design-minimal.design-arbor .arbor-amenities__tabs button {
    width: 100%;
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid var(--arbor-line-light);
    color: rgba(255, 247, 220, .4);
    background: transparent;
    font-family: var(--arbor-editorial);
    font-size: clamp(2rem, 3.2vw, 4rem);
    font-weight: 500;
    letter-spacing: -.04em;
    line-height: .95;
    text-align: left;
    cursor: pointer;
    transition: color .35s ease, padding-left .45s var(--arbor-ease);
}

body.design-minimal.design-arbor .arbor-amenities__tabs button:is(.is-active, [aria-selected="true"], :hover, :focus-visible) {
    padding-left: 14px;
    color: var(--arbor-gold);
}

body.design-minimal.design-arbor .arbor-amenities__media {
    position: relative;
    min-height: 620px;
    overflow: hidden;
    border-radius: 48% 12% 44% 10% / 18% 34% 14% 40%;
    background: var(--arbor-navy-deep);
}

body.design-minimal.design-arbor .arbor-amenities__media :is(img, video, picture) {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.design-minimal.design-arbor .arbor-amenities__panel {
    position: absolute;
    right: 34px;
    bottom: 34px;
    width: min(440px, calc(100% - 68px));
    padding: 28px;
    color: var(--arbor-cream);
    background: rgba(3, 31, 44, .78);
    backdrop-filter: blur(14px);
}

body.design-minimal.design-arbor .arbor-amenities__panel p {
    margin: 0;
    font-weight: 300;
    line-height: 1.65;
}

/* CTA final */
body.design-minimal.design-arbor .arbor-contact-cta {
    position: relative;
    min-height: 92svh;
    display: grid;
    place-items: center;
    padding: 130px 4.5vw;
    color: var(--arbor-cream);
    background:
        radial-gradient(circle at 50% 120%, rgba(245, 186, 10, .2), transparent 45%),
        var(--arbor-navy-deep);
    overflow: hidden;
}

body.design-minimal.design-arbor .arbor-contact-cta::before,
body.design-minimal.design-arbor .arbor-contact-cta::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(245, 186, 10, .18);
    border-radius: 50%;
}

body.design-minimal.design-arbor .arbor-contact-cta::before {
    width: min(80vw, 1100px);
    aspect-ratio: 1;
}

body.design-minimal.design-arbor .arbor-contact-cta::after {
    width: min(54vw, 740px);
    aspect-ratio: 1;
}

body.design-minimal.design-arbor .arbor-contact-cta__inner {
    position: relative;
    z-index: 2;
    width: min(1200px, 100%);
    display: grid;
    justify-items: center;
    text-align: center;
}

body.design-minimal.design-arbor .arbor-contact-cta h2 {
    margin: 0;
    font-family: var(--arbor-editorial);
    font-size: clamp(4.6rem, 10vw, 12rem);
    font-weight: 500;
    letter-spacing: -.065em;
    line-height: .75;
}

body.design-minimal.design-arbor .arbor-contact-cta h2 em {
    display: block;
    color: var(--arbor-gold);
    font: inherit;
    font-style: italic;
}

body.design-minimal.design-arbor .arbor-contact-cta p {
    max-width: 590px;
    margin: 38px 0;
    color: rgba(255, 247, 220, .7);
    font-size: clamp(1rem, 1.2vw, 1.18rem);
    font-weight: 300;
    line-height: 1.7;
}

/* Página de proyectos */
body.design-minimal.design-arbor .arbor-projects {
    min-height: 100svh;
    color: var(--arbor-ink);
    background: var(--arbor-paper);
}

body.design-minimal.design-arbor .arbor-projects__hero {
    position: relative;
    min-height: min(86svh, 960px);
    display: flex;
    align-items: end;
    padding: 130px 4.5vw 5vh;
    color: var(--arbor-cream);
    background: var(--arbor-navy-deep);
    isolation: isolate;
    overflow: hidden;
}

body.design-minimal.design-arbor .arbor-projects__hero > :is(img, video, picture),
body.design-minimal.design-arbor .arbor-projects__hero-media {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.design-minimal.design-arbor .arbor-projects__hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(180deg, rgba(3,31,44,.08), rgba(3,31,44,.88));
}

body.design-minimal.design-arbor .arbor-projects__hero-content {
    width: 100%;
}

body.design-minimal.design-arbor .arbor-projects__hero h1 {
    margin: 0;
    font-family: var(--arbor-editorial);
    font-size: clamp(5.4rem, 12vw, 14rem);
    font-weight: 500;
    letter-spacing: -.075em;
    line-height: .7;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-projects__hero-meta {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    margin-top: 38px;
    color: rgba(255, 247, 220, .7);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-projects__filters {
    position: sticky;
    z-index: 30;
    top: 96px;
    width: var(--arbor-shell);
    min-height: 92px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 auto;
    padding: 16px 0;
    background: color-mix(in srgb, var(--arbor-paper) 92%, transparent);
    backdrop-filter: blur(16px);
    overflow-x: auto;
    scrollbar-width: none;
}

body.design-minimal.design-arbor .arbor-projects__filters::-webkit-scrollbar {
    display: none;
}

body.design-minimal.design-arbor .arbor-projects__filters button {
    flex: 0 0 auto;
    min-height: 44px;
    padding: 0 20px;
    border: 1px solid var(--arbor-line);
    border-radius: 999px;
    color: rgba(6, 42, 58, .62);
    background: transparent;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: color .3s ease, background-color .3s ease, border-color .3s ease;
}

body.design-minimal.design-arbor .arbor-projects__filters button:is(.is-active, .active, [aria-pressed="true"], :hover, :focus-visible) {
    color: var(--arbor-navy-deep);
    border-color: var(--arbor-gold);
    background: var(--arbor-gold);
}

body.design-minimal.design-arbor .arbor-residences {
    width: var(--arbor-shell);
    margin-inline: auto;
    padding: clamp(75px, 9vw, 150px) 0 clamp(110px, 12vw, 210px);
}

body.design-minimal.design-arbor .arbor-residences__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .38fr);
    align-items: end;
    gap: 50px;
    margin-bottom: clamp(60px, 8vw, 120px);
}

body.design-minimal.design-arbor .arbor-residences__header h2 {
    margin: 0;
    color: var(--arbor-gold-muted);
    font-family: var(--arbor-editorial);
    font-size: clamp(4.8rem, 9vw, 11rem);
    font-weight: 500;
    letter-spacing: -.065em;
    line-height: .74;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-residences__header p {
    margin: 0;
    color: rgba(6, 42, 58, .64);
    font-weight: 300;
    line-height: 1.7;
}

body.design-minimal.design-arbor .arbor-property-view {
    display: inline-flex;
    align-items: center;
    gap: 0;
    padding: 4px;
    border: 1px solid var(--arbor-line);
    border-radius: 999px;
}

body.design-minimal.design-arbor .arbor-property-view button {
    min-width: 74px;
    min-height: 38px;
    padding: 0 14px;
    border: 0;
    border-radius: 999px;
    color: rgba(6, 42, 58, .55);
    background: transparent;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
}

body.design-minimal.design-arbor .arbor-property-view button:is(.is-active, [aria-pressed="true"]) {
    color: var(--arbor-navy-deep);
    background: var(--arbor-gold);
}

body.design-minimal.design-arbor .arbor-property-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin: 0;
    padding: 0;
}

body.design-minimal.design-arbor .arbor-property.minimal-property {
    position: relative;
    width: 100%;
    min-height: min(72svh, 820px);
    display: grid;
    grid-template-columns: minmax(0, 58%) minmax(340px, 42%);
    gap: 0;
    margin: 0;
    padding: clamp(28px, 4vw, 70px) 0;
    border: 0;
    border-top: 1px solid var(--arbor-line);
    border-radius: 0;
    color: var(--arbor-ink);
    background: transparent;
    box-shadow: none;
    overflow: visible;
    transform: none;
}

body.design-minimal.design-arbor .arbor-property.minimal-property:last-child {
    border-bottom: 1px solid var(--arbor-line);
}

body.design-minimal.design-arbor .arbor-property.minimal-property[hidden],
body.design-minimal.design-arbor .arbor-property.minimal-property.is-hidden,
body.design-minimal.design-arbor .arbor-property.minimal-property.is-filtered-out {
    display: none !important;
}

body.design-minimal.design-arbor .arbor-property.minimal-property:nth-child(even) {
    grid-template-columns: minmax(340px, 42%) minmax(0, 58%);
}

body.design-minimal.design-arbor .arbor-property.minimal-property:nth-child(even) figure,
body.design-minimal.design-arbor .arbor-property.minimal-property:nth-child(even) .arbor-property__media {
    order: 2;
}

body.design-minimal.design-arbor .arbor-property.minimal-property figure,
body.design-minimal.design-arbor .arbor-property__media {
    position: relative;
    height: 100%;
    min-height: 560px;
    margin: 0;
    overflow: hidden;
    border-radius: 47% 10% 42% 8% / 14% 32% 12% 36%;
    background: var(--arbor-sand);
}

body.design-minimal.design-arbor .arbor-property.minimal-property:nth-child(even) figure,
body.design-minimal.design-arbor .arbor-property.minimal-property:nth-child(even) .arbor-property__media {
    border-radius: 10% 47% 8% 42% / 32% 14% 36% 12%;
}

body.design-minimal.design-arbor .arbor-property.minimal-property figure::after,
body.design-minimal.design-arbor .arbor-property__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 56%, rgba(3,31,44,.44));
    pointer-events: none;
}

body.design-minimal.design-arbor .arbor-property.minimal-property figure :is(img, video, picture),
body.design-minimal.design-arbor .arbor-property__media :is(img, video, picture) {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transform: scale(1.002);
    transition: transform 1.1s var(--arbor-ease), filter .6s ease;
}

body.design-minimal.design-arbor .arbor-property.minimal-property:is(:hover, :focus-within) figure img,
body.design-minimal.design-arbor .arbor-property:is(:hover, :focus-within) .arbor-property__media img {
    transform: scale(1.045);
}

body.design-minimal.design-arbor .arbor-property.minimal-property figure > span,
body.design-minimal.design-arbor .arbor-property__badge {
    position: absolute;
    z-index: 2;
    top: 22px;
    left: 22px;
    padding: 9px 14px;
    border: 1px solid rgba(255, 247, 220, .52);
    border-radius: 999px;
    color: var(--arbor-cream);
    background: rgba(3, 31, 44, .38);
    backdrop-filter: blur(10px);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body,
body.design-minimal.design-arbor .arbor-property__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(34px, 5vw, 90px);
    color: var(--arbor-ink);
    background: transparent;
}

body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body > p:first-child,
body.design-minimal.design-arbor .arbor-property__meta {
    margin: 0 0 20px;
    color: var(--arbor-gold-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.4;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body h2,
body.design-minimal.design-arbor .arbor-property__title {
    margin: 0;
    color: var(--arbor-ink);
    font-family: var(--arbor-editorial);
    font-size: clamp(3.6rem, 5.5vw, 7rem);
    font-weight: 500;
    letter-spacing: -.06em;
    line-height: .78;
}

body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__summary,
body.design-minimal.design-arbor .arbor-property__summary {
    max-width: 500px;
    margin: 30px 0;
    color: rgba(6, 42, 58, .62);
    font-size: .98rem;
    font-weight: 300;
    line-height: 1.7;
}

body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body ul,
body.design-minimal.design-arbor .arbor-property__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin: 0;
    padding: 20px 0;
    border-block: 1px solid var(--arbor-line);
    list-style: none;
}

body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body li,
body.design-minimal.design-arbor .arbor-property__facts li {
    color: rgba(6, 42, 58, .76);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.4;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body li::after {
    display: none;
}

body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body footer,
body.design-minimal.design-arbor .arbor-property__footer {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 32px;
    padding: 0;
    border: 0;
}

body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body footer strong,
body.design-minimal.design-arbor .arbor-property__price {
    color: var(--arbor-ink);
    font-family: var(--arbor-editorial);
    font-size: clamp(1.8rem, 2.6vw, 3rem);
    font-weight: 500;
    letter-spacing: -.035em;
}

body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body footer > div,
body.design-minimal.design-arbor .arbor-property__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body footer :is(button, a),
body.design-minimal.design-arbor .arbor-property__actions :is(button, a) {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid var(--arbor-line);
    border-radius: 999px;
    color: var(--arbor-ink);
    background: transparent;
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: color .3s ease, background-color .3s ease, border-color .3s ease;
}

body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body footer :is(button, a):is(:hover, :focus-visible),
body.design-minimal.design-arbor .arbor-property__actions :is(button, a):is(:hover, :focus-visible) {
    color: var(--arbor-navy-deep);
    border-color: var(--arbor-gold);
    background: var(--arbor-gold);
}

body.design-minimal.design-arbor .arbor-property-list.is-grid,
body.design-minimal.design-arbor .arbor-property-list[data-view="grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: var(--arbor-line);
}

body.design-minimal.design-arbor .arbor-property-list:is(.is-grid, [data-view="grid"]) .arbor-property.minimal-property {
    min-height: 0;
    grid-template-columns: 1fr;
    padding: 0;
    border: 0;
    background: var(--arbor-paper);
}

body.design-minimal.design-arbor .arbor-property-list:is(.is-grid, [data-view="grid"]) .arbor-property.minimal-property figure,
body.design-minimal.design-arbor .arbor-property-list:is(.is-grid, [data-view="grid"]) .arbor-property__media {
    order: 0;
    min-height: 480px;
    aspect-ratio: 1.15;
    border-radius: 0;
}

body.design-minimal.design-arbor .arbor-property-list:is(.is-grid, [data-view="grid"]) .minimal-property__body,
body.design-minimal.design-arbor .arbor-property-list:is(.is-grid, [data-view="grid"]) .arbor-property__body {
    padding: clamp(28px, 4vw, 60px);
}

/* La galería existente adopta la misma dirección visual. */
body.design-minimal.design-arbor #galleryModal .gallery-backdrop {
    background: rgba(3, 31, 44, .86);
    backdrop-filter: blur(16px);
}

body.design-minimal.design-arbor #galleryModal .gallery-content {
    border: 1px solid rgba(255, 247, 220, .14);
    border-radius: 30px;
    color: var(--arbor-cream);
    background: var(--arbor-navy-deep);
    box-shadow: 0 30px 120px rgba(3, 31, 44, .42);
}

body.design-minimal.design-arbor #galleryModal .gallery-title {
    color: var(--arbor-cream);
    font-family: var(--arbor-editorial);
    font-size: clamp(1.7rem, 3vw, 3.4rem);
    font-weight: 500;
    letter-spacing: -.04em;
}

body.design-minimal.design-arbor #galleryModal :is(.gallery-close, .gallery-arrow) {
    border-color: rgba(255, 247, 220, .35);
    color: var(--arbor-cream);
    background: rgba(3, 31, 44, .64);
}

body.design-minimal.design-arbor #galleryModal :is(.gallery-close, .gallery-arrow):is(:hover, :focus-visible) {
    color: var(--arbor-navy-deep);
    background: var(--arbor-gold);
}

body.design-minimal.design-arbor #galleryModal .gallery-tab {
    color: rgba(255, 247, 220, .48);
}

body.design-minimal.design-arbor #galleryModal .gallery-tab:is(.active, :hover, :focus-visible) {
    color: var(--arbor-cream);
    border-color: var(--arbor-gold);
}

/* Utilidades flotantes, buscador y pie */
body.design-minimal.design-arbor .search-overlay {
    z-index: 2600;
    color: var(--arbor-cream);
    background: rgba(3, 31, 44, .94);
    backdrop-filter: blur(18px);
}

body.design-minimal.design-arbor .search-container {
    border: 1px solid var(--arbor-line-light);
    border-radius: 30px;
    background: var(--arbor-navy-deep);
}

body.design-minimal.design-arbor .search-container h2 {
    color: var(--arbor-cream);
    font-family: var(--arbor-editorial);
    font-size: clamp(2.7rem, 5vw, 5rem);
    font-weight: 500;
    letter-spacing: -.05em;
}

body.design-minimal.design-arbor .whatsapp-float,
body.design-minimal.design-arbor .back-to-top {
    border: 1px solid rgba(255, 247, 220, .28);
    color: var(--arbor-cream);
    background: rgba(3, 31, 44, .86);
    box-shadow: 0 12px 42px rgba(3, 31, 44, .2);
    backdrop-filter: blur(12px);
}

body.design-minimal.design-arbor .whatsapp-float:is(:hover, :focus-visible),
body.design-minimal.design-arbor .back-to-top:is(:hover, :focus-visible) {
    color: var(--arbor-navy-deep);
    background: var(--arbor-gold);
}

body.design-minimal.design-arbor .footer {
    color: rgba(255, 247, 220, .7);
    background: var(--arbor-navy-deep);
}

body.design-minimal.design-arbor .footer :is(h2, h3, h4) {
    color: var(--arbor-cream);
    font-family: var(--arbor-editorial);
    font-weight: 500;
}

body.design-minimal.design-arbor .footer a {
    color: inherit;
}

body.design-minimal.design-arbor .footer a:is(:hover, :focus-visible) {
    color: var(--arbor-gold);
}

/* Portátiles y tabletas horizontales */
@media (max-width: 1180px) {
    body.design-minimal.design-arbor {
        --arbor-shell: min(100% - 56px, 1060px);
    }

    body.design-minimal.design-arbor [data-arbor-chapter],
    body.design-minimal.design-arbor .arbor-story__chapter {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr);
        gap: 42px;
        padding-inline: 5vw;
    }

    body.design-minimal.design-arbor .arbor-story__media {
        width: min(43vw, 560px);
    }

    body.design-minimal.design-arbor .arbor-location__experience {
        grid-template-columns: 34% 66%;
        gap: 30px;
    }

    body.design-minimal.design-arbor .arbor-location__map {
        min-height: 620px;
    }

    body.design-minimal.design-arbor .arbor-property.minimal-property {
        grid-template-columns: 55% 45%;
    }

    body.design-minimal.design-arbor .arbor-property.minimal-property:nth-child(even) {
        grid-template-columns: 45% 55%;
    }

    body.design-minimal.design-arbor .arbor-property.minimal-property figure,
    body.design-minimal.design-arbor .arbor-property__media {
        min-height: 500px;
    }
}

/* Tableta vertical y móvil */
@media (max-width: 760px) {
    body.design-minimal.design-arbor {
        --arbor-shell: calc(100% - 32px);
        --arbor-header-width: calc(100vw - 24px);
    }

    body.design-minimal.design-arbor .header {
        top: 12px;
        height: 56px;
        border-radius: 28px;
    }

    body.design-minimal.design-arbor .header:has(.nav.active) {
        top: 8px;
        width: calc(100vw - 16px);
        height: calc(100svh - 16px);
        border-radius: 28px;
    }

    body.design-minimal.design-arbor .logo,
    body.design-minimal.design-arbor .logo a {
        width: 104px;
        height: 42px;
    }

    body.design-minimal.design-arbor .brand-logo {
        width: 104px;
        height: 40px;
    }

    body.design-minimal.design-arbor .hamburger {
        top: 6px;
        left: 8px;
        width: 86px;
        height: 42px;
        padding-left: 6px;
    }

    body.design-minimal.design-arbor .hamburger::after {
        left: 42px;
        font-size: .58rem;
    }

    body.design-minimal.design-arbor .hamburger span {
        width: 24px;
    }

    body.design-minimal.design-arbor .header-actions {
        top: 6px;
        right: 7px;
        height: 42px;
    }

    body.design-minimal.design-arbor .header-actions .btn-primary {
        min-width: 104px;
        min-height: 42px;
        gap: 10px;
        padding: 0 12px;
        font-size: .55rem;
    }

    body.design-minimal.design-arbor .nav {
        top: 80px;
        bottom: 16px;
        padding: 22px 18px 50px;
    }

    body.design-minimal.design-arbor .nav::before {
        top: 0;
        font-size: 2.2rem;
    }

    body.design-minimal.design-arbor .nav-list {
        padding-top: 48px;
    }

    body.design-minimal.design-arbor .nav-link {
        font-size: clamp(1.8rem, 6.4vh, 2.55rem);
        line-height: .98;
    }

    body.design-minimal.design-arbor .arbor-hero {
        min-height: 100svh;
    }

    body.design-minimal.design-arbor .arbor-hero__content {
        padding: 110px 0 4.5vh;
    }

    body.design-minimal.design-arbor .arbor-hero__eyebrow,
    body.design-minimal.design-arbor .arbor-hero__meta {
        align-items: flex-start;
        font-size: .56rem;
    }

    body.design-minimal.design-arbor .arbor-hero__wordmark,
    body.design-minimal.design-arbor .arbor-hero__wordmark :is(h1, p) {
        font-size: clamp(4.6rem, 23vw, 7.2rem);
        line-height: .7;
        white-space: normal;
    }

    body.design-minimal.design-arbor .arbor-hero__footer {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 34px;
    }

    body.design-minimal.design-arbor .arbor-hero__footer p {
        max-width: 92%;
        font-size: .86rem;
    }

    body.design-minimal.design-arbor .arbor-story {
        height: 540vh;
    }

    body.design-minimal.design-arbor .arbor-story__stage {
        min-height: 620px;
    }

    body.design-minimal.design-arbor [data-arbor-chapter],
    body.design-minimal.design-arbor .arbor-story__chapter {
        display: block;
        padding: 98px 16px 64px;
    }

    body.design-minimal.design-arbor .arbor-story__media,
    body.design-minimal.design-arbor [data-arbor-chapter]:nth-child(even) .arbor-story__media {
        position: absolute;
        z-index: -1;
        inset: 0;
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
        border-radius: 0;
        clip-path: none;
        opacity: .54;
    }

    body.design-minimal.design-arbor .arbor-story__media::after {
        background: linear-gradient(180deg, rgba(3,31,44,.36), rgba(3,31,44,.94) 82%);
    }

    body.design-minimal.design-arbor .arbor-story__copy,
    body.design-minimal.design-arbor [data-arbor-chapter]:nth-child(even) .arbor-story__copy {
        position: absolute;
        right: 16px;
        bottom: 112px;
        left: 16px;
        order: 0;
    }

    body.design-minimal.design-arbor .arbor-story h2 {
        font-size: clamp(2.9rem, 12vw, 4.6rem);
        line-height: .9;
    }

    body.design-minimal.design-arbor .arbor-story__copy > p:not(:first-child) {
        margin-top: 20px;
        font-size: .86rem;
        line-height: 1.55;
    }

    body.design-minimal.design-arbor .arbor-story__copy .arbor-pill {
        margin-top: 24px;
    }

    body.design-minimal.design-arbor .arbor-story__progress {
        bottom: 48px;
        left: 16px;
        width: min(250px, calc(100% - 32px));
    }

    body.design-minimal.design-arbor .arbor-statement {
        min-height: 82svh;
        padding-inline: 16px;
    }

    body.design-minimal.design-arbor .arbor-statement h2 {
        font-size: clamp(4rem, 19vw, 7rem);
        line-height: .72;
    }

    body.design-minimal.design-arbor .arbor-statement__footer {
        margin-top: 54px;
        padding-left: 20px;
        font-size: .92rem;
    }

    body.design-minimal.design-arbor .arbor-location h2,
    body.design-minimal.design-arbor .arbor-location__title {
        font-size: clamp(4.8rem, 21vw, 7rem);
    }

    body.design-minimal.design-arbor .arbor-location__lead {
        margin-top: 28px;
        font-size: .9rem;
    }

    body.design-minimal.design-arbor .arbor-location__experience {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 34px;
    }

    body.design-minimal.design-arbor .arbor-location__places,
    body.design-minimal.design-arbor .arbor-location__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding-bottom: 22px;
    }

    body.design-minimal.design-arbor .arbor-location__place,
    body.design-minimal.design-arbor .arbor-location__list :is(button, a, li) {
        font-size: clamp(1.6rem, 8vw, 2.5rem);
    }

    body.design-minimal.design-arbor .arbor-location__map {
        min-height: 500px;
        border-radius: 30% 30% 12% 12% / 10% 10% 8% 8%;
        transform: none;
    }

    body.design-minimal.design-arbor .arbor-residences-preview {
        grid-template-columns: 1fr;
    }

    body.design-minimal.design-arbor .arbor-residences-preview__copy {
        min-height: 82svh;
        padding: 110px 16px 50px;
        border-right: 0;
        border-bottom: 1px solid var(--arbor-line);
    }

    body.design-minimal.design-arbor .arbor-residences-preview__media {
        min-height: 78svh;
    }

    body.design-minimal.design-arbor .arbor-residences-preview__list :is(button, a) {
        font-size: clamp(2.35rem, 11vw, 4.2rem);
    }

    body.design-minimal.design-arbor .arbor-residences-preview__meta {
        grid-template-columns: 1fr;
        margin-top: 54px;
    }

    body.design-minimal.design-arbor .arbor-residences-preview__media::after {
        right: 16px;
        bottom: 28px;
        font-size: clamp(3.3rem, 17vw, 6rem);
    }

    body.design-minimal.design-arbor .arbor-business__hero {
        min-height: 82svh;
        padding-inline: 16px;
    }

    body.design-minimal.design-arbor .arbor-business h2 {
        font-size: clamp(4.2rem, 19vw, 7rem);
    }

    body.design-minimal.design-arbor .arbor-business__content {
        grid-template-columns: 1fr;
        gap: 54px;
    }

    body.design-minimal.design-arbor .arbor-business__content > p {
        font-size: clamp(2.35rem, 10vw, 4rem);
    }

    body.design-minimal.design-arbor .arbor-roots h2 {
        font-size: clamp(5.5rem, 25vw, 9rem);
    }

    body.design-minimal.design-arbor .arbor-roots__collage {
        min-height: auto;
        display: grid;
        gap: 18px;
    }

    body.design-minimal.design-arbor .arbor-roots__media,
    body.design-minimal.design-arbor .arbor-roots__media:first-child,
    body.design-minimal.design-arbor .arbor-roots__media:nth-child(2) {
        position: relative;
        inset: auto;
        width: 100%;
        aspect-ratio: 1.2;
        border-radius: 30% 8% 24% 6% / 10% 20% 8% 24%;
    }

    body.design-minimal.design-arbor .arbor-roots__media:nth-child(2) {
        width: 72%;
        margin-left: auto;
        aspect-ratio: .9;
    }

    body.design-minimal.design-arbor .arbor-roots__copy {
        position: relative;
        inset: auto;
        width: 100%;
        margin-top: -76px;
        padding: 30px;
    }

    body.design-minimal.design-arbor .arbor-roots__copy p {
        font-size: clamp(2rem, 9vw, 3.5rem);
    }

    body.design-minimal.design-arbor .arbor-amenities__header,
    body.design-minimal.design-arbor .arbor-amenities__experience {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    body.design-minimal.design-arbor .arbor-amenities h2 {
        font-size: clamp(4.4rem, 20vw, 7rem);
    }

    body.design-minimal.design-arbor .arbor-amenities__tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.design-minimal.design-arbor .arbor-amenities__tabs button {
        padding: 14px 8px;
        font-size: clamp(1.7rem, 8vw, 2.8rem);
    }

    body.design-minimal.design-arbor .arbor-amenities__media {
        min-height: 540px;
        border-radius: 30% 8% 24% 6% / 10% 20% 8% 24%;
    }

    body.design-minimal.design-arbor .arbor-amenities__panel {
        right: 14px;
        bottom: 14px;
        width: calc(100% - 28px);
        padding: 22px;
    }

    body.design-minimal.design-arbor .arbor-contact-cta {
        min-height: 82svh;
        padding-inline: 16px;
    }

    body.design-minimal.design-arbor .arbor-contact-cta h2 {
        font-size: clamp(4.2rem, 19vw, 7rem);
    }

    body.design-minimal.design-arbor .arbor-projects__hero {
        min-height: 82svh;
        padding: 110px 16px 5vh;
    }

    body.design-minimal.design-arbor .arbor-projects__hero h1 {
        font-size: clamp(4.8rem, 22vw, 7.5rem);
        line-height: .68;
    }

    body.design-minimal.design-arbor .arbor-projects__hero-meta {
        flex-direction: column;
        gap: 8px;
        margin-top: 26px;
    }

    body.design-minimal.design-arbor .arbor-projects__filters {
        top: 76px;
        min-height: 76px;
        padding-block: 12px;
    }

    body.design-minimal.design-arbor .arbor-residences__header {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    body.design-minimal.design-arbor .arbor-residences__header h2 {
        font-size: clamp(4.2rem, 19vw, 7rem);
    }

    body.design-minimal.design-arbor .arbor-property.minimal-property,
    body.design-minimal.design-arbor .arbor-property.minimal-property:nth-child(even) {
        min-height: 0;
        grid-template-columns: 1fr;
        padding: 28px 0;
    }

    body.design-minimal.design-arbor .arbor-property.minimal-property:nth-child(even) figure,
    body.design-minimal.design-arbor .arbor-property.minimal-property:nth-child(even) .arbor-property__media {
        order: 0;
    }

    body.design-minimal.design-arbor .arbor-property.minimal-property figure,
    body.design-minimal.design-arbor .arbor-property.minimal-property:nth-child(even) figure,
    body.design-minimal.design-arbor .arbor-property__media {
        min-height: 0;
        aspect-ratio: .88;
        border-radius: 30% 8% 24% 6% / 10% 20% 8% 24%;
    }

    body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body,
    body.design-minimal.design-arbor .arbor-property__body {
        padding: 36px 4px 18px;
    }

    body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body h2,
    body.design-minimal.design-arbor .arbor-property__title {
        font-size: clamp(3.3rem, 15vw, 5.2rem);
    }

    body.design-minimal.design-arbor .arbor-property-list.is-grid,
    body.design-minimal.design-arbor .arbor-property-list[data-view="grid"] {
        grid-template-columns: 1fr;
        gap: 1px;
    }

    body.design-minimal.design-arbor .arbor-property-list:is(.is-grid, [data-view="grid"]) .arbor-property.minimal-property figure,
    body.design-minimal.design-arbor .arbor-property-list:is(.is-grid, [data-view="grid"]) .arbor-property__media {
        min-height: 0;
        aspect-ratio: 1;
    }

    body.design-minimal.design-arbor #galleryModal .gallery-content {
        border-radius: 24px 24px 0 0;
    }
}

/* Alcance nacional: una única arquitectura editorial para la sección.
   Barranquilla y Santa Marta representan el inventario visible, no los
   límites geográficos de la compañía. */
body.design-minimal.design-arbor .arbor-location {
    display: block;
    min-height: 100svh;
    padding: clamp(110px, 11vw, 190px) 0;
    overflow: hidden;
}

body.design-minimal.design-arbor .arbor-location__heading {
    width: var(--arbor-shell);
    margin: 0 auto clamp(58px, 8vw, 120px);
}

body.design-minimal.design-arbor .arbor-location__heading h2 em {
    color: var(--arbor-ink);
    font: inherit;
    font-style: italic;
    text-transform: none;
}

body.design-minimal.design-arbor .arbor-location__experience {
    width: var(--arbor-shell);
    min-height: 720px;
    display: grid;
    grid-template-columns: minmax(280px, 34%) minmax(0, 66%);
    gap: clamp(34px, 6vw, 96px);
    align-items: stretch;
    margin-inline: auto;
}

body.design-minimal.design-arbor .arbor-location__availability {
    min-width: 0;
    align-self: center;
}

body.design-minimal.design-arbor .arbor-location__availability > h3 {
    margin: 0 0 28px;
    color: rgba(6, 42, 58, .54);
    font-family: var(--arbor-ui);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-location__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--arbor-line);
    border-bottom: 0;
    list-style: none;
}

body.design-minimal.design-arbor .arbor-location__list > li,
body.design-minimal.design-arbor .arbor-location__list > li:is(:hover, :focus-within) {
    margin: 0;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    transform: none;
}

body.design-minimal.design-arbor .arbor-location__list > li > :is(button, a) {
    width: 100%;
    min-height: 96px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 5px 12px;
    align-content: center;
    margin: 0;
    padding: 18px 2px;
    border: 0;
    border-bottom: 1px solid var(--arbor-line);
    color: var(--arbor-ink);
    background: transparent;
    font: inherit;
    text-align: left;
    text-decoration: none;
    transform: none;
    cursor: pointer;
    transition: color .3s ease, padding .45s var(--arbor-ease), background-color .3s ease;
}

body.design-minimal.design-arbor .arbor-location__list > li > :is(button, a):is(:hover, :focus-visible) {
    padding-inline: 12px;
    color: var(--arbor-gold-muted);
    background: rgba(185, 154, 85, .07);
    outline-offset: -2px;
}

body.design-minimal.design-arbor .arbor-location__list > li > :is(button, a) span {
    grid-row: 1 / 3;
    align-self: center;
    color: var(--arbor-gold-muted);
    font: 700 .62rem/1 var(--arbor-ui);
    letter-spacing: .08em;
}

body.design-minimal.design-arbor .arbor-location__list > li > :is(button, a) b {
    min-width: 0;
    font-family: var(--arbor-editorial);
    font-size: clamp(2rem, 3.2vw, 3.75rem);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: .82;
}

body.design-minimal.design-arbor .arbor-location__list > li > :is(button, a) small {
    color: rgba(6, 42, 58, .54);
    font: 500 .72rem/1.35 var(--arbor-ui);
    letter-spacing: .02em;
}

body.design-minimal.design-arbor .arbor-location__note {
    margin: 30px 0 0;
    color: rgba(6, 42, 58, .58);
    font-size: .78rem;
    line-height: 1.65;
}

body.design-minimal.design-arbor .arbor-location__map {
    position: relative;
    min-height: 720px;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(185, 154, 85, .25);
    border-radius: 52% 48% 22% 18% / 14% 18% 12% 10%;
    background:
        linear-gradient(28deg, transparent 48%, rgba(6, 42, 58, .07) 49%, rgba(6, 42, 58, .07) 50%, transparent 51%) 0 0 / 150px 100px,
        linear-gradient(-24deg, transparent 48%, rgba(6, 42, 58, .06) 49%, rgba(6, 42, 58, .06) 50%, transparent 51%) 0 0 / 190px 120px,
        #fffbed;
    box-shadow: inset 0 0 100px rgba(185, 154, 85, .08);
    transform: perspective(1200px) rotateX(2deg);
}

body.design-minimal.design-arbor .arbor-location__map svg {
    width: 100%;
    height: 100%;
    display: block;
    padding: clamp(28px, 5vw, 70px);
    color: var(--arbor-gold-muted);
    overflow: visible;
}

body.design-minimal.design-arbor .arbor-location__map .country-shadow {
    fill: rgba(185, 154, 85, .11);
    transform: translate(9px, 11px);
}

body.design-minimal.design-arbor .arbor-location__map .country-shape {
    fill: rgba(255, 251, 237, .7);
    stroke: var(--arbor-gold-muted);
    stroke-width: 3;
    vector-effect: non-scaling-stroke;
}

body.design-minimal.design-arbor .arbor-location__map .national-route {
    fill: none;
    stroke: var(--arbor-gold);
    stroke-width: 2;
    stroke-dasharray: 8 10;
    vector-effect: non-scaling-stroke;
}

body.design-minimal.design-arbor .arbor-location__map .national-ring {
    fill: none;
    stroke: rgba(185, 154, 85, .35);
    stroke-width: 1.5;
    vector-effect: non-scaling-stroke;
}

body.design-minimal.design-arbor .arbor-location__map .availability-pin circle {
    fill: var(--arbor-gold);
    stroke: var(--arbor-paper);
    stroke-width: 4;
}

body.design-minimal.design-arbor .arbor-location__map .pin-leader {
    stroke: var(--arbor-gold-muted);
    stroke-width: 1.4;
    stroke-dasharray: 3 5;
    vector-effect: non-scaling-stroke;
}

body.design-minimal.design-arbor .arbor-location__map .availability-pin text,
body.design-minimal.design-arbor .arbor-location__map .country-label {
    fill: var(--arbor-ink);
    font-family: var(--arbor-editorial);
    font-size: 20px;
    font-weight: 500;
}

body.design-minimal.design-arbor .arbor-location__map .country-label {
    fill: var(--arbor-gold-muted);
    font-size: 34px;
    font-style: italic;
}

body.design-minimal.design-arbor .arbor-location__map figcaption {
    position: absolute;
    right: 24px;
    bottom: 22px;
    left: 24px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(6, 42, 58, .55);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.design-minimal.design-arbor .arbor-location__map figcaption i {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: var(--arbor-gold);
}

@media (max-width: 760px) {
    body.design-minimal.design-arbor .arbor-location {
        padding: 96px 0 80px;
    }

    body.design-minimal.design-arbor .arbor-location__heading h2 {
        font-size: clamp(3.75rem, 18vw, 6.5rem);
    }

    body.design-minimal.design-arbor .arbor-location__experience {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 36px;
    }

    body.design-minimal.design-arbor .arbor-location__map {
        order: -1;
        min-height: 0;
        aspect-ratio: 4 / 5;
        border-radius: 34% 34% 13% 13% / 9% 9% 8% 8%;
        transform: none;
    }

    body.design-minimal.design-arbor .arbor-location__map svg {
        padding: 24px;
    }

    body.design-minimal.design-arbor .arbor-location__list {
        grid-template-columns: 1fr;
        gap: 0;
    }

    body.design-minimal.design-arbor .arbor-location__list > li > :is(button, a) {
        min-height: 86px;
    }

    body.design-minimal.design-arbor .arbor-location__map figcaption {
        right: 16px;
        bottom: 16px;
        left: 16px;
        font-size: .54rem;
    }
}

@media (max-width: 390px) {
    body.design-minimal.design-arbor .arbor-location__map svg {
        padding: 14px;
    }

    body.design-minimal.design-arbor .arbor-location__map .availability-pin text {
        font-size: 17px;
    }

    body.design-minimal.design-arbor .arbor-location__list > li > :is(button, a) b {
        font-size: clamp(1.8rem, 10vw, 2.6rem);
    }
}

/* 390 px y teléfonos estrechos */
@media (max-width: 430px) {
    body.design-minimal.design-arbor {
        --arbor-shell: calc(100% - 24px);
    }

    body.design-minimal.design-arbor .hamburger {
        width: 62px;
    }

    body.design-minimal.design-arbor .hamburger::after {
        display: none;
    }

    body.design-minimal.design-arbor .logo,
    body.design-minimal.design-arbor .logo a,
    body.design-minimal.design-arbor .brand-logo {
        width: 88px;
    }

    body.design-minimal.design-arbor .header-actions .btn-primary {
        min-width: 92px;
        padding-inline: 10px;
    }

    body.design-minimal.design-arbor .header-actions .btn-primary::after {
        display: none;
    }

    body.design-minimal.design-arbor .nav-link {
        font-size: clamp(1.72rem, 6vh, 2.2rem);
    }

    body.design-minimal.design-arbor .arbor-pill,
    body.design-minimal.design-arbor a[data-arbor-cta] {
        min-height: 52px;
        gap: 18px;
        padding-inline: 18px;
        font-size: .65rem;
    }

    body.design-minimal.design-arbor .arbor-hero__wordmark,
    body.design-minimal.design-arbor .arbor-hero__wordmark :is(h1, p) {
        font-size: clamp(4rem, 22vw, 5.7rem);
    }

    body.design-minimal.design-arbor .arbor-story__copy {
        bottom: 96px;
    }

    body.design-minimal.design-arbor .arbor-story h2 {
        font-size: clamp(2.55rem, 11.8vw, 3.8rem);
    }

    body.design-minimal.design-arbor .arbor-story__copy > :first-child:not(h2) {
        margin-bottom: 20px;
        font-size: .58rem;
    }

    body.design-minimal.design-arbor .arbor-story__copy > p:not(:first-child) {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    body.design-minimal.design-arbor .arbor-location__places,
    body.design-minimal.design-arbor .arbor-location__list,
    body.design-minimal.design-arbor .arbor-amenities__tabs {
        grid-template-columns: 1fr;
    }

    body.design-minimal.design-arbor .arbor-location__map {
        min-height: 420px;
    }

    body.design-minimal.design-arbor .arbor-residences-preview__controls button {
        width: 54px;
        height: 54px;
    }

    body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body footer > div,
    body.design-minimal.design-arbor .arbor-property__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    body.design-minimal.design-arbor .arbor-property.minimal-property .minimal-property__body footer :is(button, a),
    body.design-minimal.design-arbor .arbor-property__actions :is(button, a) {
        width: 100%;
    }
}

/* 320 px: no sacrificar lectura ni producir desbordamiento. */
@media (max-width: 340px) {
    body.design-minimal.design-arbor .header-actions .btn-primary {
        min-width: 78px;
        max-width: 78px;
        font-size: 0;
    }

    body.design-minimal.design-arbor .header-actions .btn-primary::before {
        content: "CITA";
        font-size: .56rem;
    }

    body.design-minimal.design-arbor .nav::after {
        font-size: .5rem;
        letter-spacing: .1em;
    }

    body.design-minimal.design-arbor .arbor-hero__eyebrow span:last-child,
    body.design-minimal.design-arbor .arbor-hero__meta span:last-child {
        display: none;
    }

    body.design-minimal.design-arbor .arbor-story h2 {
        font-size: 2.35rem;
    }

    body.design-minimal.design-arbor .arbor-location__map,
    body.design-minimal.design-arbor .arbor-amenities__media {
        min-height: 380px;
    }

    body.design-minimal.design-arbor .arbor-contact-cta h2,
    body.design-minimal.design-arbor .arbor-business h2,
    body.design-minimal.design-arbor .arbor-residences__header h2 {
        font-size: 3.65rem;
    }
}

/* Accesibilidad: conservar toda la información sin scroll coreografiado. */
@media (prefers-reduced-motion: reduce) {
    html:has(body.design-arbor) {
        scroll-behavior: auto;
    }

    body.design-minimal.design-arbor *,
    body.design-minimal.design-arbor *::before,
    body.design-minimal.design-arbor *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    body.design-minimal.design-arbor .arbor-story {
        height: auto;
    }

    body.design-minimal.design-arbor .arbor-story__stage {
        position: relative;
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    body.design-minimal.design-arbor [data-arbor-chapter],
    body.design-minimal.design-arbor .arbor-story__chapter {
        position: relative;
        min-height: 78svh;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }

    body.design-minimal.design-arbor .arbor-story h2 :is(span, [data-arbor-word]) {
        opacity: 1;
        filter: none;
        transform: none;
    }

    body.design-minimal.design-arbor .arbor-story__progress {
        display: none;
    }

    body.design-minimal.design-arbor :is(.arbor-hero__media video, .arbor-story__media video) {
        display: none;
    }
}

@media print {
    body.design-minimal.design-arbor .header,
    body.design-minimal.design-arbor .arbor-loader,
    body.design-minimal.design-arbor .whatsapp-float,
    body.design-minimal.design-arbor .back-to-top {
        display: none !important;
    }

    body.design-minimal.design-arbor .arbor-story {
        height: auto;
    }

    body.design-minimal.design-arbor [data-arbor-chapter] {
        position: relative;
        min-height: 0;
        break-inside: avoid;
        opacity: 1;
        visibility: visible;
    }
}

/* ========================================================================== */
/* Puente exacto con el marcado final de la experiencia 777                   */
/* ========================================================================== */

/* Estas reglas no dependen de minimal.css: son el cortafuegos de la interfaz. */
body.design-arbor [hidden] { display: none !important; }
body.design-arbor .arbor-projects__empty {
    padding: 48px 24px;
    text-align: center;
}
body.design-arbor .arbor-projects__empty p { margin: 16px 0 24px; }
body.design-arbor .legacy-experience,
body.design-arbor :is(.topbar, .site-status-banner, .cursor-trail, .cursor-orb) {
    display: none !important;
}

body.design-arbor .section-hidden {
    display: none !important;
}

body.design-arbor .arbor-loader {
    grid-template-rows: auto auto auto;
    align-content: center;
    justify-items: center;
    gap: 30px;
}

body.design-arbor .arbor-loader__mark {
    color: var(--arbor-gold-muted);
    font-family: var(--arbor-editorial);
    font-size: clamp(4.5rem, 8vw, 7.5rem);
    font-weight: 600;
    letter-spacing: -.12em;
    line-height: .68;
}

body.design-arbor .arbor-loader__line {
    width: min(300px, calc(100vw - 56px));
}

body.design-arbor .arbor-loader__line i {
    position: absolute;
    inset: 0 auto 0 0;
    width: calc(var(--arbor-loader-progress, 0) * 100%);
    background: currentColor;
}

body.design-arbor .arbor-loader > span {
    color: var(--arbor-gold-muted);
    font-family: var(--arbor-editorial);
    font-size: 2rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.04em;
}

/* Hero: el HTML final mantiene meta, wordmark y guía como hermanos directos. */
body.design-arbor .arbor-hero__fallback {
    z-index: 0;
}

body.design-arbor .arbor-hero__media video {
    position: absolute;
    z-index: 1;
    inset: 0;
}

body.design-arbor .arbor-hero__shade {
    position: absolute;
    z-index: 3;
    inset: 0;
    background: linear-gradient(180deg, rgba(3,31,44,.06) 24%, rgba(3,31,44,.78) 100%);
    pointer-events: none;
}

body.design-arbor .arbor-hero > .arbor-hero__meta {
    position: absolute;
    z-index: 4;
    top: 116px;
    right: 4.5vw;
    left: 4.5vw;
    margin: 0;
}

body.design-arbor .arbor-hero__meta p {
    margin: 0;
}

body.design-arbor .arbor-hero__meta button {
    min-height: 40px;
    padding: 0 15px;
    border: 1px solid rgba(255,247,220,.35);
    border-radius: 999px;
    color: var(--arbor-cream);
    background: rgba(3,31,44,.3);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
    cursor: pointer;
}

body.design-arbor .arbor-hero > .arbor-hero__wordmark {
    position: relative;
    z-index: 4;
    width: calc(100% - 7vw);
    margin: 0 auto 8vh;
}

body.design-arbor .arbor-hero > .arbor-hero__wordmark span {
    color: var(--arbor-gold);
}

body.design-arbor .arbor-hero > .arbor-hero__scroll {
    position: absolute;
    z-index: 4;
    right: 4.5vw;
    bottom: 3.5vh;
}

body.design-arbor .arbor-hero__scroll i {
    width: 50px;
    height: 1px;
    display: block;
    background: var(--arbor-gold);
}

/* Los CTA del relato son botones reales, no enlaces con clase auxiliar. */
body.design-arbor .arbor-story__copy > :is(button, a),
body.design-arbor .arbor-statement > div > button,
body.design-arbor .arbor-business > div > button,
body.design-arbor .arbor-contact-cta > div > a,
body.design-arbor .arbor-projects__closing > a {
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 34px;
    padding: 0 24px;
    border: 1px solid currentColor;
    border-radius: 999px;
    color: inherit;
    background: transparent;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .11em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: color .3s ease, background-color .3s ease, border-color .3s ease, transform .35s var(--arbor-ease);
}

body.design-arbor :is(.arbor-story__copy > button, .arbor-story__copy > a, .arbor-statement > div > button, .arbor-business > div > button, .arbor-contact-cta > div > a, .arbor-projects__closing > a):is(:hover, :focus-visible) {
    color: var(--arbor-navy-deep);
    border-color: var(--arbor-gold);
    background: var(--arbor-gold);
    transform: translateY(-2px);
}

body.design-arbor .arbor-story__progress > i {
    position: relative;
    height: 1px;
    display: block;
    overflow: hidden;
    background: rgba(255,247,220,.25);
}

body.design-arbor .arbor-story__progress > i > b {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--arbor-story-progress, 20%);
    background: var(--arbor-gold);
}

body.design-arbor .arbor-story__progress em {
    position: absolute;
    right: -30px;
    color: rgba(255,247,220,.35);
    font-style: normal;
}

/* Declaración: tres piezas directas con proporción editorial. */
body.design-arbor .arbor-statement {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .36fr);
    align-content: center;
    align-items: end;
    gap: 42px 70px;
}

body.design-arbor .arbor-statement > p {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--arbor-gold);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-arbor .arbor-statement > h2 {
    position: relative;
    z-index: 1;
    font-size: clamp(4.8rem, 8.8vw, 10.8rem);
    line-height: .78;
}

body.design-arbor .arbor-statement > div {
    position: relative;
    z-index: 1;
    padding: 0 0 10px 28px;
    border-left: 1px solid var(--arbor-gold);
}

body.design-arbor .arbor-statement > div p {
    margin: 0;
    color: rgba(255,247,220,.68);
    font-weight: 300;
    line-height: 1.7;
}

/* Ubicación: foto lateral + mapa ilustrado propio. */
body.design-arbor .arbor-location {
    display: grid;
    grid-template-columns: minmax(0, 46%) minmax(0, 54%);
    align-items: stretch;
    padding: 0;
}

body.design-arbor .arbor-location > figure {
    position: relative;
    min-height: 1080px;
    margin: 0;
    overflow: hidden;
}

body.design-arbor .arbor-location > figure::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(3,31,44,.38));
}

body.design-arbor .arbor-location > figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.design-arbor .arbor-location > figure figcaption {
    position: absolute;
    z-index: 2;
    bottom: 30px;
    left: 32px;
    color: var(--arbor-cream);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

body.design-arbor .arbor-location__content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 130px clamp(34px, 5vw, 96px) 80px;
}

body.design-arbor .arbor-location__content > p {
    margin: 0 0 20px;
    color: var(--arbor-gold-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-arbor .arbor-location__content > h2 {
    color: var(--arbor-gold-muted);
    font-size: clamp(4.3rem, 6vw, 7.3rem);
    line-height: .78;
}

body.design-arbor .arbor-location__content > .arbor-location__map {
    min-height: 390px;
    margin: clamp(38px, 6vw, 78px) 0 48px;
    border-radius: 36% 10% 30% 8% / 12% 24% 10% 22%;
    transform: none;
}

body.design-arbor .arbor-location__map svg {
    overflow: visible;
    padding: 34px;
}

body.design-arbor .arbor-location__map :is(.coast, .route) {
    fill: none;
    stroke-linecap: round;
}

body.design-arbor .arbor-location__map .coast {
    stroke: rgba(6,42,58,.25);
    stroke-width: 3;
}

body.design-arbor .arbor-location__map .route {
    stroke: var(--arbor-gold-muted);
    stroke-width: 2;
    stroke-dasharray: 7 9;
}

body.design-arbor .arbor-location__map circle {
    fill: var(--arbor-gold-muted);
    stroke: var(--arbor-paper);
    stroke-width: 5;
}

body.design-arbor .arbor-location__map text {
    fill: var(--arbor-gold-muted);
    font-family: var(--arbor-editorial);
    font-size: 22px;
}

body.design-arbor .arbor-location__content > ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--arbor-line);
    list-style: none;
}

body.design-arbor .arbor-location__content > ul li {
    min-width: 0;
    display: grid;
    gap: 7px;
    padding: 22px 16px 0 0;
}

body.design-arbor .arbor-location__content > ul span {
    color: var(--arbor-gold-muted);
    font-size: .62rem;
    font-weight: 700;
}

body.design-arbor .arbor-location__content > ul b {
    font-family: var(--arbor-editorial);
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: .9;
}

body.design-arbor .arbor-location__content > ul small {
    color: rgba(6,42,58,.54);
    line-height: 1.3;
}

/* Residencias: título ancho y selector 42/58. */
body.design-arbor .arbor-residences-preview {
    display: block;
    padding: clamp(110px, 11vw, 200px) 0 0;
}

body.design-arbor .arbor-residences-preview > header {
    width: var(--arbor-shell);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .36fr);
    align-items: end;
    gap: 20px 64px;
    margin-inline: auto;
}

body.design-arbor .arbor-residences-preview > header > p {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--arbor-gold-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-arbor .arbor-residences-preview > header h2 {
    margin: 0;
    color: var(--arbor-gold-muted);
    font-family: var(--arbor-editorial);
    font-size: clamp(5.2rem, 10vw, 12rem);
    font-weight: 500;
    letter-spacing: -.065em;
    line-height: .72;
    text-transform: uppercase;
}

body.design-arbor .arbor-residences-preview > header > span {
    padding-bottom: 8px;
    color: rgba(6,42,58,.62);
    font-weight: 300;
    line-height: 1.7;
}

body.design-arbor .arbor-residences-preview__selector {
    min-height: 840px;
    display: grid;
    grid-template-columns: minmax(340px, 42%) minmax(0, 58%);
    margin-top: clamp(60px, 8vw, 120px);
}

body.design-arbor .arbor-residences-preview__selector > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 80px 4.5vw;
    border-top: 1px solid var(--arbor-line);
    border-right: 1px solid rgba(185,154,85,.55);
}

body.design-arbor .arbor-residences-preview__selector > div button {
    position: relative;
    width: 100%;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 0;
    border: 0;
    color: var(--arbor-gold-muted);
    background: transparent;
    font-family: var(--arbor-editorial);
    font-size: clamp(2.5rem, 4vw, 5rem);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: .88;
    text-align: left;
    cursor: pointer;
    transition: color .3s ease, padding-left .4s var(--arbor-ease);
}

body.design-arbor .arbor-residences-preview__selector > div button:is(:hover, :focus-visible) {
    padding-left: 12px;
    color: var(--arbor-ink);
    font-style: italic;
}

body.design-arbor .arbor-residences-preview__selector > div small {
    flex: 0 0 auto;
    color: rgba(6,42,58,.48);
    font-family: var(--arbor-ui);
    font-size: .62rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.design-arbor .arbor-residences-preview__selector > figure {
    position: relative;
    min-height: 840px;
    margin: 0;
    overflow: hidden;
    background: var(--arbor-sand);
}

body.design-arbor .arbor-residences-preview__selector > figure::after {
    content: "RESIDENCIAS";
    position: absolute;
    right: 3.5vw;
    bottom: 4vh;
    color: var(--arbor-gold);
    font-family: var(--arbor-editorial);
    font-size: clamp(4rem, 7.7vw, 9rem);
    font-weight: 500;
    letter-spacing: -.06em;
    line-height: .72;
}

body.design-arbor .arbor-residences-preview__selector > figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 1s var(--arbor-ease);
}

body.design-arbor .arbor-residences-preview__selector > figure:hover img {
    transform: scale(1.035);
}

body.design-arbor .arbor-residences-preview__selector > figure button {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 18px;
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255,247,220,.55);
    border-radius: 50%;
    color: var(--arbor-cream);
    background: rgba(3,31,44,.55);
    backdrop-filter: blur(10px);
    cursor: pointer;
    transform: translate(-50%, -50%);
}

/* Negocios: fotografía completa y caja editorial flotante. */
body.design-arbor .arbor-business {
    min-height: 100svh;
    display: grid;
    grid-template-columns: minmax(0, 58%) minmax(340px, 42%);
}

body.design-arbor .arbor-business > figure {
    position: relative;
    min-height: 100svh;
    margin: 0;
    overflow: hidden;
}

body.design-arbor .arbor-business > figure::after {
    content: "OFICINAS";
    position: absolute;
    left: 4vw;
    bottom: 5vh;
    color: var(--arbor-sand);
    font-family: var(--arbor-editorial);
    font-size: clamp(5rem, 9vw, 11rem);
    font-weight: 500;
    letter-spacing: -.065em;
    line-height: .7;
}

body.design-arbor .arbor-business > figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.design-arbor .arbor-business > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 110px clamp(34px, 5vw, 90px);
    background: var(--arbor-navy);
}

body.design-arbor .arbor-business > div > p:first-child {
    margin: 0 0 28px;
    color: var(--arbor-gold);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-arbor .arbor-business > div h2 {
    font-size: clamp(4.2rem, 6.5vw, 7.8rem);
    line-height: .75;
}

body.design-arbor .arbor-business > div > p:not(:first-child) {
    margin: 38px 0 0;
    color: rgba(255,247,220,.68);
    font-weight: 300;
    line-height: 1.75;
}

/* Tus raíces: marcado final compacto. */
body.design-arbor .arbor-roots > p:first-child {
    width: var(--arbor-shell);
    margin: 0 auto 28px;
    color: var(--arbor-gold-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-arbor .arbor-roots > figure {
    position: relative;
    width: min(60%, 980px);
    min-height: 560px;
    margin: 110px 0 0 4.5vw;
    overflow: hidden;
    border-radius: 44% 8% 36% 10% / 16% 30% 12% 34%;
    box-shadow: var(--arbor-shadow);
}

body.design-arbor .arbor-roots > figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.design-arbor .arbor-roots > .arbor-roots__copy {
    top: auto;
    right: 4.5vw;
    bottom: 10%;
    width: min(47%, 720px);
    margin: 0;
    color: var(--arbor-cream);
    font-family: var(--arbor-editorial);
    font-size: clamp(2rem, 3.2vw, 4rem);
    font-weight: 500;
    letter-spacing: -.04em;
    line-height: 1;
}

/* Beneficios: encabezado, imagen orgánica y lista de tabs. */
body.design-arbor .arbor-amenities > header,
body.design-arbor .arbor-amenities__layout {
    width: var(--arbor-shell);
    margin-inline: auto;
}

body.design-arbor .arbor-amenities > header > p {
    margin: 0 0 26px;
    color: var(--arbor-gold);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-arbor .arbor-amenities > header h2 {
    margin: 0;
    color: var(--arbor-sand);
    font-family: var(--arbor-editorial);
    font-size: clamp(5rem, 10vw, 12rem);
    font-weight: 500;
    letter-spacing: -.065em;
    line-height: .72;
    text-transform: uppercase;
}

body.design-arbor .arbor-amenities__layout {
    display: grid;
    grid-template-columns: minmax(0, 68%) minmax(260px, 32%);
    gap: clamp(30px, 5vw, 90px);
    margin-top: clamp(60px, 8vw, 120px);
}

body.design-arbor .arbor-amenities__layout > figure {
    position: relative;
    min-height: 650px;
    margin: 0;
    overflow: hidden;
    border-radius: 44% 8% 36% 10% / 16% 30% 12% 34%;
}

body.design-arbor .arbor-amenities__layout > figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.design-arbor .arbor-amenities__layout > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body.design-arbor .arbor-amenities__layout > div button {
    width: 100%;
    display: grid;
    grid-template-columns: 38px 1fr;
    align-items: baseline;
    gap: 14px;
    padding: 19px 0;
    border: 0;
    border-bottom: 1px solid var(--arbor-line-light);
    color: rgba(255,247,220,.38);
    background: transparent;
    font-family: var(--arbor-editorial);
    font-size: clamp(2rem, 3.2vw, 4rem);
    font-weight: 500;
    letter-spacing: -.04em;
    line-height: .92;
    text-align: left;
    cursor: pointer;
    transition: color .35s ease, padding-left .4s var(--arbor-ease);
}

body.design-arbor .arbor-amenities__layout > div button span {
    color: var(--arbor-gold);
    font-family: var(--arbor-ui);
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .1em;
}

body.design-arbor .arbor-amenities__layout > div button:is(.is-active, :hover, :focus-visible) {
    padding-left: 12px;
    color: var(--arbor-gold);
}

/* Cierre: copy sobre marfil y fotografía monumental. */
body.design-arbor .arbor-contact-cta {
    grid-template-columns: minmax(330px, 42%) minmax(0, 58%);
    place-items: stretch;
    padding: 0;
    color: var(--arbor-ink);
    background: var(--arbor-paper);
}

body.design-arbor .arbor-contact-cta::before,
body.design-arbor .arbor-contact-cta::after {
    display: none;
}

body.design-arbor .arbor-contact-cta > div {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 120px clamp(34px, 5vw, 90px);
}

body.design-arbor .arbor-contact-cta > div > p {
    margin: 0 0 28px;
    color: var(--arbor-gold-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-arbor .arbor-contact-cta > div h2 {
    color: var(--arbor-ink);
    font-size: clamp(4rem, 6vw, 7.3rem);
    line-height: .76;
}

body.design-arbor .arbor-contact-cta > figure {
    position: relative;
    min-height: 92svh;
    margin: 0;
    overflow: hidden;
}

body.design-arbor .arbor-contact-cta > figure::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 58%, rgba(3,31,44,.7));
}

body.design-arbor .arbor-contact-cta > figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.design-arbor .arbor-contact-cta > figure strong {
    position: absolute;
    z-index: 2;
    right: 3vw;
    bottom: 3.5vh;
    color: var(--arbor-gold);
    font-family: var(--arbor-editorial);
    font-size: clamp(4rem, 7vw, 8.5rem);
    font-weight: 500;
    letter-spacing: -.06em;
    line-height: .72;
}

/* Proyectos: portada, introducción, lista lateral y ficha protagonista. */
body.design-arbor .arbor-projects__hero > figure {
    position: absolute;
    z-index: -2;
    inset: 0;
    margin: 0;
}

body.design-arbor .arbor-projects__hero > figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.design-arbor .arbor-projects__hero > div {
    position: relative;
    z-index: 1;
    width: 100%;
}

body.design-arbor .arbor-projects__hero > div > p {
    margin: 0 0 28px;
    color: var(--arbor-gold);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-arbor .arbor-projects__hero > div > span {
    max-width: 580px;
    display: block;
    margin: 38px 0 0 auto;
    color: rgba(255,247,220,.72);
    font-weight: 300;
    line-height: 1.7;
}

body.design-arbor .arbor-projects__intro {
    width: var(--arbor-shell);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .35fr);
    align-items: end;
    gap: 60px;
    margin-inline: auto;
    padding: clamp(90px, 11vw, 190px) 0 clamp(60px, 8vw, 120px);
}

body.design-arbor .arbor-projects__intro h2 {
    margin: 0;
    font-family: var(--arbor-editorial);
    font-size: clamp(4.4rem, 8vw, 9.5rem);
    font-weight: 500;
    letter-spacing: -.06em;
    line-height: .78;
}

body.design-arbor .arbor-projects__intro h2 em {
    color: var(--arbor-gold-muted);
    font: inherit;
    font-style: italic;
}

body.design-arbor .arbor-projects__intro p {
    margin: 0 0 8px;
    color: rgba(6,42,58,.62);
    font-weight: 300;
    line-height: 1.7;
}

body.design-arbor .arbor-projects__toolbar {
    position: sticky;
    z-index: 40;
    top: 84px;
    width: var(--arbor-shell);
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-inline: auto;
    background: rgba(251,248,237,.93);
    backdrop-filter: blur(16px);
}

body.design-arbor .arbor-projects__toolbar > .arbor-projects__filters {
    position: static;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    background: transparent;
    backdrop-filter: none;
}

body.design-arbor .arbor-projects__filters button span {
    margin-left: 8px;
    color: currentColor;
    font-size: .56rem;
    opacity: .64;
}

body.design-arbor .arbor-projects__toolbar > p {
    flex: 0 0 auto;
    margin: 0;
    color: rgba(6,42,58,.5);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

body.design-arbor .arbor-residences {
    display: grid;
    grid-template-columns: minmax(300px, 42%) minmax(0, 58%);
    align-items: start;
    gap: clamp(36px, 6vw, 110px);
}

body.design-arbor .arbor-residences > .arbor-property-list {
    position: sticky;
    top: 186px;
    display: block;
}

body.design-arbor .arbor-property-list .arbor-property.minimal-property,
body.design-arbor .arbor-property-list .arbor-property.minimal-property:nth-child(even) {
    min-height: 0;
    display: block;
    padding: 0;
    border-top: 1px solid var(--arbor-line);
}

body.design-arbor .arbor-property-list .arbor-property.minimal-property:last-child {
    border-bottom: 1px solid var(--arbor-line);
}

body.design-arbor .arbor-property__select {
    width: 100%;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 30px;
    grid-template-areas: "num title arrow" "num meta arrow";
    align-items: center;
    gap: 4px 12px;
    padding: 20px 4px;
    border: 0;
    color: rgba(6,42,58,.48);
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: color .3s ease, padding-left .4s var(--arbor-ease);
}

body.design-arbor .arbor-property__select > span {
    grid-area: num;
    color: var(--arbor-gold-muted);
    font-size: .62rem;
    font-weight: 700;
}

body.design-arbor .arbor-property__select h2 {
    grid-area: title;
    margin: 0;
    color: currentColor;
    font-family: var(--arbor-editorial);
    font-size: clamp(1.8rem, 2.5vw, 3rem);
    font-weight: 500;
    letter-spacing: -.04em;
    line-height: .92;
}

body.design-arbor .arbor-property__select p {
    grid-area: meta;
    margin: 0;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

body.design-arbor .arbor-property__select b {
    grid-area: arrow;
    font-size: 1.2rem;
    font-weight: 400;
    text-align: right;
}

body.design-arbor .arbor-property:is(.is-active, :hover, :focus-within) .arbor-property__select {
    padding-left: 12px;
    color: var(--arbor-ink);
}

body.design-arbor .arbor-property.is-active .arbor-property__select h2 {
    color: var(--arbor-gold-muted);
    font-style: italic;
}

body.design-arbor .arbor-residences > .arbor-property-view {
    min-width: 0;
    display: block;
    padding: 0;
    border: 0;
    border-radius: 0;
}

body.design-arbor .arbor-property-view > figure {
    position: relative;
    width: 100%;
    min-height: 660px;
    margin: 0;
    overflow: hidden;
    border-radius: 44% 8% 36% 10% / 16% 30% 12% 34%;
    background: var(--arbor-sand);
}

body.design-arbor .arbor-property-view > figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.design-arbor .arbor-property-view > figure::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 60%, rgba(3,31,44,.34));
    pointer-events: none;
}

body.design-arbor .arbor-property-view > figure > div {
    position: absolute;
    z-index: 2;
    right: 24px;
    bottom: 24px;
    display: flex;
    gap: 8px;
}

body.design-arbor .arbor-property-view > figure button {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255,247,220,.5);
    border-radius: 50%;
    color: var(--arbor-cream);
    background: rgba(3,31,44,.55);
    backdrop-filter: blur(10px);
    cursor: pointer;
}

body.design-arbor .arbor-property-view__body {
    padding: 52px 0 0;
}

body.design-arbor .arbor-property-view__body > p:first-child {
    margin: 0 0 20px;
    color: var(--arbor-gold-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

body.design-arbor .arbor-property-view__body h2 {
    margin: 0;
    font-family: var(--arbor-editorial);
    font-size: clamp(4.2rem, 7vw, 8rem);
    font-weight: 500;
    letter-spacing: -.06em;
    line-height: .75;
}

body.design-arbor .arbor-property-view__body > p:nth-of-type(2) {
    max-width: 650px;
    margin: 32px 0;
    color: rgba(6,42,58,.62);
    font-weight: 300;
    line-height: 1.7;
}

body.design-arbor .arbor-property-view__body > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 28px;
    margin: 0;
    padding: 22px 0;
    border-block: 1px solid var(--arbor-line);
    list-style: none;
}

body.design-arbor .arbor-property-view__body > ul li {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.design-arbor .arbor-property-view__body footer {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 24px;
    margin-top: 30px;
}

body.design-arbor .arbor-property-view__body footer strong {
    font-family: var(--arbor-editorial);
    font-size: clamp(2rem, 3vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -.04em;
}

body.design-arbor .arbor-property-view__body footer > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

body.design-arbor .arbor-property-view__body footer :is(button, a) {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 19px;
    border: 1px solid var(--arbor-line);
    border-radius: 999px;
    color: var(--arbor-ink);
    background: transparent;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}

body.design-arbor .arbor-property-view__body footer :is(button, a):is(:hover, :focus-visible) {
    color: var(--arbor-navy-deep);
    border-color: var(--arbor-gold);
    background: var(--arbor-gold);
}

body.design-arbor .arbor-projects__closing {
    min-height: 82svh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 110px 4.5vw;
    color: var(--arbor-cream);
    background: var(--arbor-navy);
    text-align: center;
}

body.design-arbor .arbor-projects__closing > p {
    margin: 0 0 28px;
    color: var(--arbor-gold);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.design-arbor .arbor-projects__closing h2 {
    margin: 0;
    font-family: var(--arbor-editorial);
    font-size: clamp(4.4rem, 8.5vw, 10rem);
    font-weight: 500;
    letter-spacing: -.06em;
    line-height: .76;
}

body.design-arbor .arbor-projects__closing h2 em {
    color: var(--arbor-gold);
    font: inherit;
    font-style: italic;
}

/* Footer cinematográfico: fuera de los grupos, siempre coherente con Arbor. */
body.design-arbor .footer {
    position: relative;
    color: rgba(255,247,220,.68);
    background:
        linear-gradient(180deg, rgba(3,31,44,.86), rgba(3,31,44,.98)),
        url("assets/aquarela-del-rio/03-balcon.jpg") center 44% / cover no-repeat;
    isolation: isolate;
    overflow: hidden;
}

body.design-arbor .footer::before {
    content: "777";
    position: absolute;
    z-index: -1;
    right: -2vw;
    bottom: -1.5vw;
    color: rgba(245,186,10,.095);
    font-family: var(--arbor-editorial);
    font-size: min(38vw, 650px);
    font-weight: 600;
    letter-spacing: -.13em;
    line-height: .56;
}

body.design-arbor .footer-main {
    padding: clamp(90px, 10vw, 170px) 0 clamp(70px, 8vw, 120px);
    background: transparent;
}

body.design-arbor .footer .container {
    width: var(--arbor-shell);
    max-width: none;
    margin-inline: auto;
    padding: 0;
}

body.design-arbor .footer-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.45fr) repeat(4, minmax(130px, .72fr));
    gap: clamp(34px, 4vw, 78px);
    align-items: start;
}

body.design-arbor .footer-column {
    min-width: 0;
}

body.design-arbor .footer-logo {
    width: min(270px, 100%);
    height: auto;
    margin: 0 0 26px;
}

body.design-arbor .footer-logo svg {
    width: 100%;
    height: auto;
    overflow: visible;
}

body.design-arbor .footer-logo text {
    fill: var(--arbor-gold);
    font-family: var(--arbor-editorial);
    font-size: 32px;
    font-weight: 600;
    letter-spacing: -.045em;
}

body.design-arbor .footer-description {
    max-width: 330px;
    margin: 0 0 30px;
    color: rgba(255,247,220,.62);
    font-weight: 300;
    line-height: 1.7;
}

body.design-arbor .footer-column h3 {
    margin: 4px 0 25px;
    color: var(--arbor-gold);
    font-family: var(--arbor-ui);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1.35;
    text-transform: uppercase;
}

body.design-arbor .footer :is(.footer-links, .footer-contact) {
    display: grid;
    gap: 13px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.design-arbor .footer-links a {
    color: rgba(255,247,220,.62);
    font-family: var(--arbor-editorial);
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: -.025em;
    line-height: 1.1;
    text-decoration: none;
}

body.design-arbor .footer-links a:is(:hover, :focus-visible) {
    color: var(--arbor-gold);
}

body.design-arbor .footer-contact li {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 12px;
    color: rgba(255,247,220,.58);
}

body.design-arbor .footer-contact svg {
    color: var(--arbor-gold);
}

body.design-arbor .footer-contact :is(strong, p) {
    margin: 0;
    overflow-wrap: anywhere;
}

body.design-arbor .footer-contact strong {
    color: var(--arbor-cream);
    font-size: .65rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.design-arbor .footer-contact p {
    margin-top: 5px;
    font-size: .76rem;
    line-height: 1.45;
}

body.design-arbor .footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.design-arbor .footer-social a,
body.design-arbor .footer-social span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,247,220,.2);
    border-radius: 50%;
    color: var(--arbor-cream);
    background: transparent;
    transition: color .3s ease, background-color .3s ease, border-color .3s ease;
}

body.design-arbor .footer-social a:is(:hover, :focus-visible) {
    color: var(--arbor-navy-deep);
    border-color: var(--arbor-gold);
    background: var(--arbor-gold);
}

body.design-arbor .footer-social svg {
    width: 17px;
    height: 17px;
}

body.design-arbor .footer-bottom {
    position: relative;
    padding: 26px 0 30px;
    border-top: 1px solid rgba(255,247,220,.16);
    background: transparent;
}

body.design-arbor .footer-bottom-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    color: rgba(255,247,220,.42);
    font-size: .62rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.design-arbor .footer-bottom-content p {
    margin: 0;
}

body.design-arbor .footer-legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 16px 26px;
}

body.design-arbor .footer-legal a {
    color: inherit;
    text-decoration: none;
}

/* En Inicio la navegación flotante ya cumple la función de contacto/retorno. */
body.design-arbor:has(.arbor-home:not(.section-hidden)) :is(.back-to-top, .whatsapp-float) {
    display: none !important;
}

/* Las reglas globales heredadas añaden 100px a cada section. La experiencia
   Arbor controla su propio ritmo y debe comenzar detrás de la cápsula. */
body.design-minimal.design-arbor .arbor-home,
body.design-minimal.design-arbor .arbor-hero,
body.design-minimal.design-arbor .arbor-story,
body.design-minimal.design-arbor .arbor-projects {
    margin: 0;
    padding: 0;
}

/* El stylesheet de la experiencia WebGL anterior convertía el menú abierto en
   un drawer blanco a la derecha. En Arbor la propia cápsula es el diálogo. */
body.design-minimal.design-arbor.menu-open:is(.active-view-inicio, .active-view-proyectos) .header {
    z-index: 2200 !important;
    top: 24px !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    width: min(640px, calc(100vw - 48px)) !important;
    height: min(752px, calc(100dvh - 48px)) !important;
    border-radius: 30px !important;
    background: rgba(3, 31, 44, .96) !important;
    backdrop-filter: blur(18px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
    pointer-events: auto !important;
    transform: translateX(-50%) !important;
}

body.design-minimal.design-arbor.menu-open:is(.active-view-inicio, .active-view-proyectos) .header :is(.logo, .header-actions) {
    opacity: 1 !important;
    pointer-events: auto !important;
}

body.design-minimal.design-arbor.menu-open:is(.active-view-inicio, .active-view-proyectos) .hamburger {
    position: absolute !important;
    top: 7px !important;
    right: auto !important;
    left: 12px !important;
    width: 116px !important;
    height: 44px !important;
    border: 0 !important;
    background: transparent !important;
}

body.design-minimal.design-arbor.menu-open:is(.active-view-inicio, .active-view-proyectos) .nav.active {
    position: absolute !important;
    z-index: 2 !important;
    top: 104px !important;
    right: 0 !important;
    bottom: 24px !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    padding: 32px 48px 58px !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--arbor-cream) !important;
    background: transparent !important;
    box-shadow: none !important;
    clip-path: none !important;
    overflow: hidden auto !important;
}

body.design-minimal.design-arbor.menu-open:is(.active-view-inicio, .active-view-proyectos) .nav.active::before {
    content: "777\A INMOBILIARIA" !important;
    top: 4px !important;
    left: 50% !important;
    color: var(--arbor-gold) !important;
    font-family: var(--arbor-editorial) !important;
    font-size: 2.45rem !important;
    font-weight: 500 !important;
    letter-spacing: -.035em !important;
    line-height: .78 !important;
    text-align: center !important;
    white-space: pre !important;
    transform: translateX(-50%) !important;
}

body.design-minimal.design-arbor.menu-open:is(.active-view-inicio, .active-view-proyectos) .nav.active::after {
    content: "COLOMBIA  ·  VISIÓN NACIONAL" !important;
    right: auto !important;
    bottom: 10px !important;
    left: 50% !important;
    color: rgba(255, 247, 220, .48) !important;
    font-size: .6rem !important;
    letter-spacing: .18em !important;
    transform: translateX(-50%) !important;
}

body.design-minimal.design-arbor.menu-open:is(.active-view-inicio, .active-view-proyectos) .nav.active .nav-list {
    align-items: center !important;
    padding: 50px 0 0 !important;
}

body.design-minimal.design-arbor.menu-open:is(.active-view-inicio, .active-view-proyectos) .nav.active .nav-item {
    justify-content: center !important;
    border: 0 !important;
}

body.design-minimal.design-arbor.menu-open:is(.active-view-inicio, .active-view-proyectos) .nav.active .nav-link {
    width: auto !important;
    min-height: 0 !important;
    justify-content: center !important;
    padding: .08em .3em !important;
    color: rgba(255, 247, 220, .72) !important;
    font-family: var(--arbor-editorial) !important;
    font-size: clamp(1.75rem, 4.1vh, 2.4rem) !important;
    font-weight: 500 !important;
    letter-spacing: -.035em !important;
    line-height: 1.02 !important;
    text-align: center !important;
}

body.design-minimal.design-arbor.menu-open:is(.active-view-inicio, .active-view-proyectos) .nav.active .nav-link:is(.active, :hover, :focus-visible) {
    color: var(--arbor-gold) !important;
}

body.design-minimal.design-arbor.menu-open:is(.active-view-inicio, .active-view-proyectos) .nav.active .nav-link::after {
    display: none !important;
}

body.design-minimal.design-arbor .arbor-location__experience {
    grid-template-columns: minmax(250px, 34%) minmax(0, 66%);
}

@media (min-width: 761px) {
    body.design-minimal.design-arbor .arbor-location__map {
        min-height: 0 !important;
        height: clamp(620px, 75vh, 760px) !important;
        align-self: center;
    }

    body.design-minimal.design-arbor .arbor-location__map svg {
        width: 100%;
        height: 100%;
        box-sizing: border-box;
    }
}

body.design-minimal.design-arbor .arbor-location__map :is(svg, canvas, img) {
    min-width: 100%;
}

body.design-minimal.design-arbor .arbor-location__map svg {
    padding: 7%;
    color: var(--arbor-gold-muted);
}

body.design-minimal.design-arbor .arbor-location__map svg :is(.coast, .route) {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

body.design-minimal.design-arbor .arbor-location__map svg .route {
    stroke-dasharray: 6 8;
}

body.design-minimal.design-arbor .arbor-location__map svg circle {
    fill: var(--arbor-gold);
    stroke: var(--arbor-paper);
    stroke-width: 4;
}

body.design-minimal.design-arbor .arbor-location__map svg text {
    fill: var(--arbor-ink);
    font: 500 24px var(--arbor-editorial);
}

body.design-minimal.design-arbor .arbor-nav__foot {
    position: absolute;
    right: 40px;
    bottom: 34px;
    left: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

body.design-minimal.design-arbor .arbor-nav__foot :is(button, a) {
    padding: 0;
    border: 0;
    color: rgba(255, 247, 220, .62);
    background: transparent;
    font-family: var(--arbor-ui);
    font-size: .58rem;
    font-weight: 600;
    letter-spacing: .12em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}

body.design-minimal.design-arbor .arbor-nav__foot :is(button, a):is(:hover, :focus-visible) {
    color: var(--arbor-gold);
}

@media (max-width: 760px) {
    body.design-minimal.design-arbor.menu-open:is(.active-view-inicio, .active-view-proyectos) .header {
        top: 10px !important;
        width: calc(100vw - 20px) !important;
        height: calc(100dvh - 20px) !important;
        border-radius: 25px !important;
    }

    body.design-minimal.design-arbor .arbor-hero__wordmark,
    body.design-minimal.design-arbor .arbor-hero__wordmark :is(h1, p) {
        max-width: 100%;
        font-size: clamp(3.45rem, 17vw, 5rem);
        letter-spacing: -.065em;
        line-height: .72;
        overflow-wrap: normal;
    }

    body.design-minimal.design-arbor .arbor-hero__wordmark span {
        display: block;
        margin-bottom: .02em;
        font-size: 1em;
    }

    body.design-minimal.design-arbor .arbor-hero__wordmark {
        font-size: 0;
    }

    body.design-minimal.design-arbor .arbor-hero__wordmark span {
        font-size: clamp(4rem, 19vw, 5.4rem);
    }

    body.design-minimal.design-arbor .arbor-hero__wordmark::after {
        content: "INMOBILIARIA";
        display: block;
        font-size: clamp(2.75rem, 12vw, 4rem);
        letter-spacing: -.055em;
        line-height: .78;
        white-space: nowrap;
    }

    body.design-minimal.design-arbor .arbor-hero__content {
        width: calc(100% - 24px);
    }

    body.design-minimal.design-arbor .arbor-hero__meta {
        max-width: 70%;
    }

    body.design-minimal.design-arbor .arbor-residences {
        display: block;
    }

    body.design-minimal.design-arbor .arbor-residences > .arbor-property-list {
        position: static;
        margin-bottom: 36px;
    }
}

@media (max-width: 1080px) {
    body.design-arbor .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.design-arbor .footer-column:first-child {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(200px, 1fr) minmax(240px, 1fr) auto;
        align-items: center;
        gap: 30px;
        padding-bottom: 38px;
        border-bottom: 1px solid rgba(255,247,220,.15);
    }

    body.design-arbor .footer-column:first-child :is(.footer-logo, .footer-description) {
        margin: 0;
    }
}

@media (max-width: 760px) {
    body.design-arbor .arbor-hero > .arbor-hero__meta {
        top: 88px;
        right: 16px;
        left: 16px;
    }

    body.design-arbor .arbor-hero__meta p {
        max-width: 190px;
    }

    body.design-arbor .arbor-hero__meta button {
        width: 42px;
        min-height: 42px;
        padding: 0;
        display: grid;
        place-items: center;
        font-size: 0;
    }

    body.design-arbor .arbor-hero__meta button span {
        font-size: .8rem;
    }

    body.design-arbor .arbor-hero > .arbor-hero__wordmark {
        width: calc(100% - 24px);
        margin-bottom: 14vh;
    }

    body.design-arbor .arbor-hero > .arbor-hero__scroll {
        right: 12px;
        bottom: 4vh;
    }

    body.design-arbor .arbor-statement {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    body.design-arbor .arbor-statement > p {
        grid-column: auto;
    }

    body.design-arbor .arbor-statement > div {
        padding-left: 20px;
    }

    body.design-arbor .arbor-location {
        grid-template-columns: 1fr;
    }

    body.design-arbor .arbor-location > figure {
        min-height: 72svh;
    }

    body.design-arbor .arbor-location__content {
        padding: 90px 16px 80px;
    }

    body.design-arbor .arbor-location__content > .arbor-location__map {
        min-height: 400px;
    }

    body.design-arbor .arbor-location__content > ul {
        grid-template-columns: 1fr;
    }

    body.design-arbor .arbor-location__content > ul li {
        grid-template-columns: 30px 1fr auto;
        align-items: baseline;
        gap: 10px;
        padding: 18px 0;
        border-bottom: 1px solid var(--arbor-line);
    }

    body.design-arbor .arbor-residences-preview > header {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    body.design-arbor .arbor-residences-preview > header > p {
        grid-column: auto;
    }

    body.design-arbor .arbor-residences-preview__selector {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    body.design-arbor .arbor-residences-preview__selector > div {
        padding: 70px 16px;
        border-right: 0;
    }

    body.design-arbor .arbor-residences-preview__selector > div button {
        font-size: clamp(2.4rem, 11vw, 4rem);
    }

    body.design-arbor .arbor-residences-preview__selector > figure {
        min-height: 75svh;
    }

    body.design-arbor .arbor-residences-preview__selector > figure button {
        top: 18px;
        right: 18px;
        left: auto;
        transform: none;
    }

    body.design-arbor .arbor-business {
        grid-template-columns: 1fr;
    }

    body.design-arbor .arbor-business > figure {
        min-height: 76svh;
    }

    body.design-arbor .arbor-business > div {
        padding: 90px 16px;
    }

    body.design-arbor .arbor-roots > figure {
        width: calc(100% - 32px);
        min-height: 480px;
        margin: 60px 16px 0;
    }

    body.design-arbor .arbor-roots > .arbor-roots__copy {
        position: relative;
        inset: auto;
        width: calc(100% - 32px);
        margin: -60px 16px 0;
    }

    body.design-arbor .arbor-amenities__layout {
        grid-template-columns: 1fr;
    }

    body.design-arbor .arbor-amenities__layout > figure {
        min-height: 68svh;
    }

    body.design-arbor .arbor-amenities__layout > div button {
        font-size: clamp(2rem, 10vw, 3.4rem);
    }

    body.design-arbor .arbor-contact-cta {
        grid-template-columns: 1fr;
    }

    body.design-arbor .arbor-contact-cta > div {
        min-height: 76svh;
        padding: 90px 16px;
    }

    body.design-arbor .arbor-contact-cta > figure {
        min-height: 74svh;
    }

    body.design-arbor .arbor-projects__intro {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    body.design-arbor .arbor-projects__toolbar {
        top: 72px;
        min-height: 76px;
    }

    body.design-arbor .arbor-projects__toolbar > p {
        display: none;
    }

    body.design-arbor .arbor-projects__toolbar > .arbor-projects__filters {
        width: 100%;
    }

    body.design-arbor .arbor-residences {
        display: block;
    }

    body.design-arbor .arbor-residences > .arbor-property-list {
        position: relative;
        top: auto;
        margin-bottom: 55px;
    }

    body.design-arbor .arbor-property-view > figure {
        min-height: 0;
        aspect-ratio: .88;
    }

    body.design-arbor .arbor-property-view__body h2 {
        font-size: clamp(3.7rem, 17vw, 5.5rem);
    }

    body.design-arbor .arbor-property-view__body footer {
        grid-template-columns: 1fr;
    }

    body.design-arbor .arbor-property-view__body footer > div {
        justify-content: flex-start;
    }

    body.design-arbor .footer-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    body.design-arbor .footer-column:first-child {
        grid-column: auto;
        display: block;
        padding-bottom: 38px;
    }

    body.design-arbor .footer-column:first-child .footer-logo {
        margin-bottom: 24px;
    }

    body.design-arbor .footer-column:first-child .footer-description {
        margin-bottom: 28px;
    }

    body.design-arbor .footer-bottom-content {
        align-items: flex-start;
        flex-direction: column;
    }

    body.design-arbor .footer-legal {
        justify-content: flex-start;
    }
}

@media (max-width: 390px) {
    body.design-arbor .arbor-location__content > .arbor-location__map {
        min-height: 330px;
    }

    body.design-arbor .arbor-location__map svg {
        padding: 16px;
    }

    body.design-arbor .arbor-residences-preview__selector > div small {
        display: none;
    }

    body.design-arbor .arbor-property__select {
        grid-template-columns: 26px minmax(0, 1fr) 22px;
        gap: 4px 8px;
    }

    body.design-arbor .arbor-property__select h2 {
        font-size: 1.65rem;
    }

    body.design-arbor .arbor-property-view__body footer > div {
        display: grid;
        grid-template-columns: 1fr;
    }

    body.design-arbor .arbor-property-view__body footer :is(button, a) {
        width: 100%;
    }

    body.design-arbor .footer::before {
        font-size: 68vw;
    }
}

/* Ajustes finales de integración: la navegación Arbor sustituye los accesos
   flotantes heredados y los titulares móviles deben permanecer completos. */
body.design-minimal.design-arbor :is(.back-to-top, .whatsapp-float) {
    display: none !important;
}

/* Inicio y catálogo Arbor son documentos editoriales largos. Las vistas
   inmersivas anteriores bloqueaban el body a un solo viewport. */
body.design-minimal.design-arbor:is(.active-view-inicio, .active-view-proyectos):not(.menu-open):not(.minimal-search-open):not(.gallery-open) {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: clip !important;
    overflow-y: auto !important;
}

body.design-minimal.design-arbor .search-box {
    width: 100%;
    min-width: 0;
}

body.design-minimal.design-arbor .search-box input {
    min-width: 0;
}

body.design-minimal.design-arbor .search-filters {
    flex-wrap: wrap;
}

@media (max-width: 760px) {
    body.design-minimal.design-arbor .arbor-projects__hero h1 {
        max-width: 100%;
        font-size: clamp(2rem, 14vw, 6rem);
        letter-spacing: -.065em;
        line-height: .76;
        white-space: nowrap;
    }

    body.design-minimal.design-arbor .search-container {
        width: calc(100% - 32px);
        max-width: none;
        padding: 28px 16px 24px;
        border-radius: 24px;
    }

    body.design-minimal.design-arbor .search-close {
        top: 12px;
        right: 14px;
        width: 44px;
        height: 44px;
        display: grid;
        place-items: center;
        font-size: 34px;
    }

    body.design-minimal.design-arbor .search-container h2 {
        max-width: calc(100% - 44px);
        margin: 18px 0 24px;
        font-size: clamp(2.25rem, 12vw, 3.5rem);
        line-height: .9;
        text-align: left;
    }

    body.design-minimal.design-arbor .search-box input {
        width: 100%;
        padding: 16px 18px;
        font-size: 14px;
    }

    body.design-minimal.design-arbor .btn-search-submit {
        flex: 0 0 54px;
        width: 54px;
        padding: 0;
    }

    body.design-minimal.design-arbor .search-filters {
        width: 100%;
        justify-content: flex-start;
        gap: 8px;
    }

    body.design-minimal.design-arbor .search-filters .filter-btn {
        flex: 1 1 calc(50% - 4px);
        min-width: 0;
        padding: 11px 10px;
        text-align: center;
    }

    /* La ubicación nacional usa un mapa y una lista apilados en móvil.
       Esta regla final neutraliza la antigua retícula costera 34/66. */
    body.design-minimal.design-arbor .arbor-location__experience {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto;
        gap: 32px;
        overflow: hidden;
    }

    body.design-minimal.design-arbor .arbor-location__map {
        order: -1;
        width: 100% !important;
        max-width: 100%;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 4 / 5;
    }

    body.design-minimal.design-arbor .arbor-location__map :is(svg, canvas, img) {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: 100%;
    }

    body.design-minimal.design-arbor .arbor-location__map svg {
        padding: 14px;
    }

    body.design-minimal.design-arbor .arbor-location__availability,
    body.design-minimal.design-arbor .arbor-location__list {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
}
/* Contenido semántico disponible para lectores de pantalla, sin ocupar el lienzo. */
body.design-arbor .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
