:root {
            --verde: #214530;
            --crema: #DFD8C4;
            --bronce: #A68966;
            --marron: #352016;
            --blanco: #FFFFFF;
            --hueso: #F5F2E8;
            --nav-bg: rgba(223, 216, 196, 0.96);
        }

        /* Reset & Base */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            background-color: var(--crema);
            color: var(--marron);
            font-family: 'EB Garamond', serif;
            font-size: 18px;
            font-weight: 400;
            line-height: 1.6;
            overflow-x: hidden;
        }

        /* Admin UI */
        .admin-bar {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            background: var(--marron);
            color: var(--hueso);
            padding: 10px 20px;
            z-index: 2000;
            font-family: 'EB Garamond', serif;
            font-size: 14px;
            justify-content: space-between;
            align-items: center;
            border-bottom: 2px solid var(--bronce);
        }

        .is-admin .admin-bar { display: flex; }
        .is-admin [contenteditable="true"] {
            outline: 1px dashed var(--bronce);
            cursor: pointer;
        }
        .is-admin [contenteditable="true"]:hover {
            background: rgba(159, 131, 92, 0.1);
        }
        .is-admin .editable-image {
            position: relative;
            cursor: pointer;
        }
        .is-admin .editable-image::after {
            content: "Cambiar Imagen";
            position: absolute;
            top: 10px;
            right: 10px;
            background: var(--verde);
            color: white;
            padding: 5px 10px;
            font-size: 10px;
            text-transform: uppercase;
        }

        h1, h2, h3, h4, .accent-title {
            font-family: 'EB Garamond', serif;
            font-weight: 500;
            line-height: 1.2;
            letter-spacing: -0.01em;
        }

        .italic-accent {
            font-style: italic;
            font-weight: 400;
            font-family: 'EB Garamond', serif;
        }

        .eyebrow {
            display: flex;
            align-items: center;
            gap: 15px;
            font-size: 12px;
            letter-spacing: 3px;
            color: var(--verde);
            text-transform: uppercase;
            font-weight: 600;
            margin-bottom: 20px;
        }

        .eyebrow::before {
            content: "";
            width: 30px;
            height: 1px;
            background-color: var(--verde);
        }

        .reveal {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        nav {
            position: fixed;
            top: 0; left: 0; width: 100%; height: 80px;
            display: flex; justify-content: space-between; align-items: center;
            padding: 0 60px; z-index: 1000;
            background-color: rgba(245, 242, 233, 0.85); /* Soft Cream #F5F2E8 with opacity */
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(26, 46, 34, 0.1);
            transition: top 0.3s ease,
                        background 0.35s ease-in-out,
                        border-color 0.35s ease,
                        box-shadow 0.35s ease-in-out;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
        }

        .is-admin nav { top: 40px; }

        .logo-text {
            font-family: 'EB Garamond', serif;
            font-weight: 600;
            font-size: 24px;
            letter-spacing: 2px;
            color: #1A2E22; /* Forest Green */
            text-transform: uppercase;
            text-decoration: none;
            flex-shrink: 0;
            z-index: 1001;
        }

        .logo-img {
            height: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            z-index: 1001;
            text-decoration: none;
            margin-left: 15px; /* Desplazado 15px hacia la derecha */
        }
        
        .logo-img img {
            height: 100%;
            width: auto;
            object-fit: contain;
            transform: scale(1.8);
            transform-origin: left center;
            transition: filter 0.3s ease-in-out;
        }

        /* ── Logo + Wordmark Group ─────────────────────────────────────── */
        .logo-group {
            display: flex;
            align-items: center;
            gap: 18px;
            flex-shrink: 0;
            z-index: 1001;
        }

        /* ── Logo Principal (mobile only) — hidden on desktop ── */
        .logo-principal-mobile-link {
            display: none;
            text-decoration: none;
            line-height: 0;
        }
        .logo-principal-mobile {
            display: block;
        }

        .logo-wordmark {
            display: flex;
            flex-direction: column;
            justify-content: flex-end; /* Align to the bottom to match the logo base */
            padding-left: 20px; /* Espacio limpio */
            line-height: 1;
            padding-bottom: 2px; /* Fine-tune baseline alignment with logo */
        }

        .logo-wordmark-grupo {
            font-family: 'Inter', sans-serif;
            font-size: 10px; /* Tamaño ligeramente incrementado */
            font-weight: 300; /* Ultra-fina */
            letter-spacing: 4px; /* Splay amplio */
            text-transform: uppercase;
            color: #1A2E22; /* Mismo color exacto que Lyvanto */
            text-align: center;
            display: block;
            margin-bottom: 2px;
            margin-left: 4px; /* Compensate for the letter-spacing to truly center it */
        }

        .logo-wordmark-name {
            font-family: 'EB Garamond', serif; /* Premium serif */
            font-size: 34px;
            font-weight: 400; /* Peso normal */
            font-style: normal; /* No cursiva */
            letter-spacing: 0.02em;
            color: #1A2E22;
            display: block;
            line-height: 1;
        }


        .nav-center {
            display: flex;
            gap: 40px;
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
        }

        .nav-link {
            font-family: 'Inter', sans-serif;
            text-decoration: none;
            color: #1A2E22;
            font-size: 10px;
            letter-spacing: 2.5px;
            text-transform: uppercase;
            font-weight: 500;
            position: relative;
            transition: color 0.3s ease;
        }

        .nav-link::after {
            content: "";
            position: absolute;
            bottom: -4px;
            left: 0;
            width: 0%;
            height: 1px;
            background-color: #1A2E22;
            transition: width 0.3s ease;
        }

        .nav-link:hover::after { width: 100%; }

        .nav-right {
            display: flex;
            gap: 16px;
            align-items: center;
        }

        .btn-nav-outline {
            font-family: 'Inter', sans-serif;
            background-color: transparent;
            color: #1A2E22;
            border: 1px solid #1A2E22;
            padding: 12px 24px;
            font-size: 11px;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            text-decoration: none;
            cursor: pointer;
            transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
            font-weight: 500;
        }

        .btn-nav-outline:hover {
            background-color: #1A2E22;
            color: #F5F2E8;
        }

        .btn-nav-solid {
            font-family: 'Inter', sans-serif;
            background-color: #1A2E22;
            color: #F5F2E8;
            padding: 13px 24px;
            font-size: 11px;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            text-decoration: none;
            border: none;
            cursor: pointer;
            transition: background-color 0.3s ease, color 0.3s ease;
            font-weight: 500;
        }

        .btn-nav-solid:hover { background-color: #111f17; }

        .mobile-menu-btn {
            display: none;
            background: none;
            border: none;
            color: #1A2E22;
            cursor: pointer;
            padding: 8px;
            z-index: 1001;
            transition: color 0.3s ease-in-out;
        }

        .mobile-nav-footer { display: none; }
        
        @media (max-width: 992px) {
            nav { padding: 0 30px; }
            .nav-center, .nav-right { display: none; }
            .mobile-menu-btn { display: block; }
            .logo-wordmark { display: none; }
            .logo-img { display: none !important; }
            .logo-principal-mobile-link { display: block; flex-shrink: 0; z-index: 1001; }
            .logo-principal-mobile {
                display: block;
                height: 27px;
                width: auto;
                object-fit: contain;
                flex-shrink: 0;
                z-index: 1001;
                transition: height 0.3s ease;
            }
            nav.scrolled .logo-principal-mobile {
                height: 22px;
            }

            
            nav.menu-open { height: 100vh; background-color: #F5F2E8 !important; backdrop-filter: none; align-items: flex-start; }
            nav.menu-open .mobile-menu-btn svg { stroke-width: 1 !important; }
            
            nav.menu-open .nav-center {
                display: flex; flex-direction: column;
                position: absolute; top: 140px; left: 0; width: 100%;
                background: transparent; padding: 0 20px;
                transform: none; align-items: center; gap: 15px;
            }
            nav.menu-open .nav-link {
                font-family: 'EB Garamond', serif;
                font-size: 24px;
                line-height: 1.6;
                text-transform: uppercase;
                letter-spacing: 2px;
                color: #1A2E22;
                font-weight: 400;
                transition: opacity 0.3s ease;
            }
            nav.menu-open .nav-link::after { display: none; }
            nav.menu-open .nav-center:hover .nav-link:not(:hover) { opacity: 0.3; }
            nav.menu-open .nav-link.active-link { position: relative; color: #1A2E22; }
            nav.menu-open .nav-link.active-link::before {
                content: ''; position: absolute; bottom: 2px; left: 50%; transform: translateX(-50%);
                width: 4px; height: 4px; background-color: #1A2E22; border-radius: 50%;
            }

            nav.menu-open .nav-right {
                display: flex; flex-direction: column;
                position: absolute; bottom: 40px; left: 0; width: 100%;
                background: transparent; padding: 0 30px;
                gap: 12px; align-items: stretch;
                border: none;
            }
            nav.menu-open .btn-nav-outline, nav.menu-open .btn-nav-solid {
                text-align: center; border-radius: 2px; height: 42px;
                display: flex; align-items: center; justify-content: center;
                font-size: 11px; letter-spacing: 3px;
            }
            nav.menu-open .btn-nav-outline { border: 0.5px solid #1A2E22; background: transparent; }
            nav.menu-open .btn-nav-solid { background: #1A2E22; color: #F5F2E8; }
            
            nav.menu-open .mobile-nav-footer {
                display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 20px;
            }
            .mnf-socials { display: flex; gap: 16px; color: rgba(26, 46, 34, 0.5); }
            .mnf-socials a { color: inherit; transition: color 0.3s; }
            .mnf-socials a:hover { color: #1A2E22; }
            .mnf-cities { font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 2px; color: rgba(26, 46, 34, 0.5); }
        }

        .hero {
            position: relative;
            min-height: 100vh;
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 160px 100px 100px 100px;
            transition: padding-bottom 0.42s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .hero.search-expanded { padding-bottom: 460px; }

        .hero-bg {
            position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%;
            background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.5)), 
                        url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=80');
            background-size: cover; background-position: center; z-index: -1;
        }

        .hero .eyebrow {
            color: var(--hueso) !important;
            margin-top: 25px;
            margin-bottom: 20px;
            font-size: 14px;
            font-family: 'Inter', sans-serif;
            text-transform: uppercase;
            letter-spacing: 2px;
        }
        .hero .eyebrow::before {
            background-color: var(--hueso) !important;
        }

        .hero h1, .hero #hero-title { 
            color: var(--hueso); 
            font-size: clamp(42px, 6vw, 80px); 
            font-family: 'EB Garamond', serif;
            margin-bottom: 30px; 
            max-width: 900px; 
            line-height: 1.1; 
            letter-spacing: -1.5px; 
        }
        .hero p { 
            color: var(--hueso); 
            font-size: 18px; 
            font-family: 'Inter', sans-serif;
            margin-top: 25px;
            max-width: 600px; 
            margin-bottom: 40px; 
            line-height: 1.8; 
            font-weight: 300;
        }

        .hero-search {
            background: var(--hueso);
            display: grid; grid-template-columns: 1.5fr 1fr 1fr 160px;
            max-width: 900px; border: 1px solid var(--verde);
        }

        .search-field {
            padding: 18px; border: none; border-right: 1px solid rgba(33, 69, 48, 0.1);
            background: transparent; font-family: 'EB Garamond', serif; font-size: 15px; outline: none;
        }

        .philosophy { display: grid; grid-template-columns: 1fr 1fr; background-color: var(--crema); padding: 0; }
        .philosophy-text { padding: 20px 80px 15px 60px; display: flex; flex-direction: column; justify-content: center; }
        .philosophy .eyebrow { font-size: 14px; letter-spacing: 4px; margin-bottom: 12px; color: var(--verde); }
        .philosophy h2 { font-size: 56px; margin-bottom: 20px; color: var(--marron); line-height: 1.2; font-family: 'EB Garamond', serif; }
        .philosophy p { font-size: 18px; margin-bottom: 12px; color: var(--marron); line-height: 1.8; font-family: 'EB Garamond', serif; }

        /* ── Philosophy Pillars (desktop — subtle, inherits grid) ───────── */
        .phi-pillars {
            margin: 10px 0;
        }
        .phi-pillar {
            display: flex;
            align-items: center;
            gap: 20px;
            padding: 14px 0;
        }
        .phi-pillar-icon {
            color: var(--verde);
            flex-shrink: 0;
            opacity: 0.85;
            display: flex;
            align-items: center;
        }
        .phi-pillar-icon svg {
            width: 22px;
            height: 22px;
            stroke-width: 1;
        }
        .phi-pillar-body {
            display: flex;
            flex-direction: column;
            gap: 3px;
        }
        .phi-pillar-label {
            font-family: 'Inter', sans-serif;
            font-size: 13px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--verde);
        }
        .phi-pillar-sub {
            font-family: 'EB Garamond', serif;
            font-size: 17px;
            color: rgba(53, 32, 22, 0.65);
            font-style: italic;
        }
        .phi-pillar-divider {
            width: 100%;
            height: 1px;
            background: rgba(26, 46, 34, 0.1);
        }

        /* ── Confidential callout (desktop) ─────────────────────────────── */
        .phi-confidential {
            margin: 25px 0 0;
            padding: 25px 0;
            text-align: left;
            position: relative;
            background-color: transparent;
            /* Patrón Art Deco Sutil */
            background-image: repeating-linear-gradient(45deg, rgba(159,131,92,0.03) 0px, rgba(159,131,92,0.03) 2px, transparent 2px, transparent 8px), repeating-linear-gradient(-45deg, rgba(159,131,92,0.03) 0px, rgba(159,131,92,0.03) 2px, transparent 2px, transparent 8px);
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
        }
        .phi-confidential-rule {
            width: 80px;
            height: 1px;
            background: rgba(159, 131, 92, 0.4);
            margin: 0;
        }
        .phi-confidential-rule.top-rule {
            margin-bottom: 24px;
        }
        .phi-confidential-rule.bottom-rule {
            margin-top: 24px;
        }
        .phi-confidential p {
            font-size: 26px;
            margin-bottom: 0;
            color: var(--verde);
            line-height: 1.45;
            font-family: 'EB Garamond', serif;
            font-style: italic;
            font-weight: 500;
        }

        /* ── CTA wrapper (desktop) ──────────────────────────────────────── */
        .phi-cta-wrap {
            margin-top: 10px;
            margin-bottom: 35px; /* Elegant breathing room below the button */
            display: flex;
            justify-content: center;
        }
        .phi-cta-btn {
            display: inline-block;
            background-color: var(--verde) !important;
            color: #fff !important;
            font-family: 'Inter', sans-serif !important;
            font-weight: 600 !important;
            text-transform: uppercase !important;
            font-size: 13px !important;
            padding: 16px 32px !important;
            letter-spacing: 2px !important;
            border: none !important;
            border-radius: 0 !important;
            text-decoration: none !important;
        }

        .philosophy-image { position: relative; background-color: var(--marron); overflow: hidden; display: flex; align-items: center; justify-content: center; min-height: 400px; }
        .philosophy-image img { width: 100%; min-height: 100%; object-fit: cover; aspect-ratio: 10/9; opacity: 1; transform: translateY(0); transition: transform 0.8s ease, opacity 0.8s ease; }

        /* ══════════════════════════════════════════════════════════════════
           PHILOSOPHY — EDITORIAL MOBILE (≤ 768px)
        ══════════════════════════════════════════════════════════════════ */
        @media (max-width: 768px) {

            /* Section layout — single column, image hidden */
            .philosophy {
                grid-template-columns: 1fr;
            }
            .philosophy-image {
                display: none; /* Editorial layout: text is the hero on mobile */
            }
            .philosophy-text {
                padding: 44px 30px 36px;
                text-align: left;
            }

            /* Eyebrow */
            .philosophy .eyebrow {
                font-size: 10px;
                letter-spacing: 3.5px;
                margin-bottom: 22px;
                color: var(--verde);
            }

            /* Title — profound, scaled */
            .philosophy h2 {
                font-size: clamp(30px, 8.5vw, 44px);
                line-height: 1.12;
                margin-bottom: 20px;
                color: var(--marron);
                letter-spacing: -0.02em;
            }

            /* ── 3 Pillars — editorial vertical stack ── */
            .phi-pillars {
                margin: 0 0 0px;
                border-top: 1px solid rgba(26, 46, 34, 0.1);
            }
            .phi-pillar {
                gap: 20px;
                padding: 12px 0;
                align-items: flex-start;
            }
            .phi-pillar-icon {
                margin-top: 2px;
                opacity: 0.8;
            }
            .phi-pillar-icon svg {
                width: 20px;
                height: 20px;
            }
            .phi-pillar-label {
                font-size: 10px;
                letter-spacing: 2.5px;
                margin-bottom: 2px;
            }
            .phi-pillar-sub {
                font-size: 16px;
                line-height: 1.5;
            }
            .phi-pillar-divider {
                height: 1px;
                background: rgba(26, 46, 34, 0.08);
                margin: 0;
            }

            /* ── Confidential premium callout ── */
            .phi-confidential {
                margin: 24px 0 0;
                padding: 16px 0;
                background-color: transparent;
                /* Patrón Art Deco Sutil */
                background-image: repeating-linear-gradient(45deg, rgba(159,131,92,0.03) 0px, rgba(159,131,92,0.03) 2px, transparent 2px, transparent 8px), repeating-linear-gradient(-45deg, rgba(159,131,92,0.03) 0px, rgba(159,131,92,0.03) 2px, transparent 2px, transparent 8px);
                position: relative;
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                text-align: left;
            }
            .phi-confidential-rule {
                width: 60px;
                height: 1px;
                background: rgba(159, 131, 92, 0.4);
                margin: 0;
            }
            .phi-confidential-rule.top-rule {
                margin-bottom: 12px;
            }
            .phi-confidential-rule.bottom-rule {
                margin-top: 12px;
            }
            .phi-confidential p {
                font-size: 20px;
                line-height: 1.5;
                color: var(--verde);
                margin-bottom: 0;
                font-family: 'EB Garamond', serif;
                font-style: italic;
                font-weight: 500;
            }

            /* ── Master CTA ── */
            .phi-cta-wrap {
                margin-top: 0px;
                margin-bottom: 28px; /* Elegant breathing room below the button on mobile */
                display: flex;
                justify-content: center;
            }
            .phi-cta-btn {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 100%;
                min-height: 52px;
                background: var(--verde);
                color: var(--hueso);
                font-family: 'Inter', sans-serif;
                font-size: 11px;
                font-weight: 700;
                letter-spacing: 2.5px;
                text-transform: uppercase;
                text-decoration: none;
                border: none;
                transition: background 0.3s ease, letter-spacing 0.25s ease;
                border-radius: 0 !important;
            }
            .phi-cta-btn:hover {
                background: #152318;
                letter-spacing: 3px;
            }
        }

        @media (max-width: 480px) {
            .philosophy-text {
                padding: 40px 25px 36px;
            }
            .philosophy h2 {
                font-size: clamp(27px, 9vw, 38px);
                margin-bottom: 16px;
            }
            .phi-pillar {
                padding: 10px 0;
                gap: 16px;
            }
            .phi-pillar-sub {
                font-size: 15px;
            }
            .phi-confidential p {
                font-size: 16px;
            }
        }

        .metrics-bar { background-color: var(--verde); display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(245, 242, 233, 0.1); border-bottom: 1px solid rgba(245, 242, 233, 0.1); }
        .metric-item { padding: 35px 20px; text-align: center; border-right: 1px solid rgba(245, 242, 233, 0.1); display: flex; flex-direction: column; justify-content: center; align-items: center; }
        .metric-item:last-child { border-right: none; }
        .metric-val { font-family: 'EB Garamond', serif; font-size: clamp(28px, 2.5vw, 36px); color: var(--hueso); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; line-height: 1.1; }
        .metric-label { font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: rgba(245, 242, 233, 0.6); margin-top: 8px; display: block; font-weight: 500; }

        /* ── metric-icon: hidden on desktop (desktop has no icons) ─── */
        .metric-icon {
            display: none;
        }

        /* ══════════════════════════════════════════════════════════════════
           METRICS — 2×2 DASHBOARD MOBILE (≤ 768px)
           Deep Forest Green · Cream text · Line-art icons · Cream hairlines
        ══════════════════════════════════════════════════════════════════ */
        @media (max-width: 768px) {

            /* ── Container: dark green, 2 columns ── */
            .metrics-bar {
                grid-template-columns: repeat(2, 1fr) !important;
                background-color: #1A2E22 !important;
                border-top: none !important;
                border-bottom: none !important;
                padding: 0;
            }

            /* ── Each quadrant ── */
            .metric-item {
                padding: 30px 14px 26px;
                border-right: none !important;
                border-bottom: none !important;
                position: relative;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                text-align: center;
                gap: 0;
            }

            /* ── Hairline cross — cream at 20% ── */
            /* Vertical line: right side of odd items (cols 1) */
            .metric-item:nth-child(odd)::after {
                content: '';
                position: absolute;
                top: 14%;
                right: 0;
                width: 0.5px;
                height: 72%;
                background: rgba(245, 242, 233, 0.2);
            }

            /* Horizontal line: bottom of row 1 (items 1 & 2) */
            .metric-item:nth-child(1)::before,
            .metric-item:nth-child(2)::before {
                content: '';
                position: absolute;
                bottom: 0;
                left: 14%;
                width: 72%;
                height: 0.5px;
                background: rgba(245, 242, 233, 0.2);
            }

            /* ── Icon — cream, visible on mobile ── */
            .metric-icon {
                display: flex;
                align-items: center;
                justify-content: center;
                color: rgba(245, 242, 233, 0.55);
                margin-bottom: 10px;
            }
            .metric-icon svg {
                width: 22px;
                height: 22px;
            }

            /* ── Number — cream, Playfair, high contrast ── */
            .metric-val {
                font-size: clamp(22px, 5.5vw, 28px);
                line-height: 1;
                color: #F5F2E9;
                -webkit-font-smoothing: antialiased;
            }

            /* ── Label — cream 50%, tight caps ── */
            .metric-label {
                font-size: 8px;
                letter-spacing: 2px;
                color: rgba(245, 242, 233, 0.5);
                margin-top: 8px;
                line-height: 1.45;
                max-width: 110px;
            }
        }

        @media (max-width: 380px) {
            .metric-val  { font-size: clamp(18px, 4.5vw, 22px); }
            .metric-label { font-size: 7.5px; letter-spacing: 1.5px; }
            .metric-item  { padding: 24px 10px 20px; }
            .metric-icon svg { width: 19px; height: 19px; }
        }


        .properties { padding: 60px 80px 80px 80px; background-color: var(--crema); }
        .section-header { max-width: 100%; margin: 0 auto 60px auto; border-bottom: none; padding-bottom: 0; display: block; }
        .section-header-main { display: flex; justify-content: space-between; align-items: center; }
        
        /* ── "Cartera Seleccionada" eyebrow — pequeño, elegante ── */
        section.properties #prop-eyebrow {
            display: block;
            font-family: 'Inter', sans-serif;
            font-size: 10px;
            font-weight: 600;
            color: rgba(26, 46, 34, 0.45);
            letter-spacing: 4px;
            text-transform: uppercase;
            margin-bottom: 10px;
        }
        section.properties #prop-eyebrow::before { display: none; }
        
        /* ── Título principal — prominente y con autoridad ── */
        section.properties #prop-title {
            font-family: 'EB Garamond', serif;
            font-weight: 700;
            font-size: clamp(30px, 3.2vw, 42px);
            color: var(--verde);
            margin: 0;
            position: relative;
            padding-bottom: 18px;
        }
        section.properties #prop-title::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 30px;
            height: 2px;
            background-color: var(--verde);
        }

        .btn-boutique-outline {
            display: inline-block;
            font-family: 'Inter', sans-serif;
            font-size: 12px;
            font-weight: 600;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--verde);
            background: transparent;
            border: 1px solid var(--verde);
            padding: 18px 52px;
            text-decoration: none;
            transition: background 0.3s ease, color 0.3s ease;
            position: relative;
        }
        .btn-boutique-outline:hover {
            background: var(--verde);
            color: var(--crema);
        }
        section.properties .properties-grid { display: grid; grid-template-columns: repeat(3, 1fr) !important; gap: 48px !important; max-width: 100%; margin: 0 auto; }
        .property-card { border: 1px solid rgba(33, 69, 48, 0.08); transition: 0.4s; background: var(--crema); display: flex; flex-direction: column; }
        .property-card:hover { transform: translateY(-5px); border-color: var(--verde); box-shadow: 0 15px 40px rgba(0,0,0,0.06) !important; }
        section.properties .property-img {
            width: 100%;
            aspect-ratio: 5 / 3;
            position: relative;
            overflow: hidden;
            background: #121c17; /* Fondo ultra oscuro para absorber costuras de renderizado */
            transform: translate3d(0, 0, 0);
            -webkit-transform: translate3d(0, 0, 0);
        }

        /* ── Gallery images — stacked, cross-fade ── */
        .gallery-img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 0;
            visibility: hidden; /* Ocultar completamente capas inactivas del árbol de pintura */
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
            transition: opacity 0.48s ease, transform 0.9s ease, visibility 0.48s;
            pointer-events: none;
            z-index: 1;
        }
        .gallery-img.active {
            opacity: 1;
            visibility: visible;
            z-index: 2;
            pointer-events: auto;
            transform: scale(1.02) translate3d(0, 0, 0); /* Ligeramente sobredimensionado por defecto para cubrir holguras */
            will-change: transform;
        }
        /* Subtle zoom only on the visible (active) image */
        .property-card:hover .gallery-img.active { transform: scale(1.06) translate3d(0, 0, 0); }

        /* Price tag — floats above gallery images */
        .price-tag {
            position: absolute;
            bottom: 20px;
            left: 20px;
            background: var(--verde);
            color: var(--hueso);
            padding: 10px 20px;
            font-family: 'EB Garamond', serif;
            font-size: 18px;
            z-index: 10;
        }

        /* ── Gallery Navigation Arrows ── */
        .gallery-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            z-index: 20;
            width: 38px;
            height: 38px;
            background: rgba(245, 242, 232, 0.18);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border: 1px solid rgba(245, 242, 232, 0.28) !important;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            color: #F5F2E8;
            /* Hidden by default — revealed on card hover */
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.2s ease, background 0.2s ease, transform 0.2s ease;
        }
        .gallery-arrow--prev { left: 14px; }
        .gallery-arrow--next { right: 14px; }
        /* Override global border-radius:0 reset for circular arrows */
        .property-card .gallery-arrow,
        .property-card .gallery-arrow:hover,
        .property-card .gallery-arrow:active { border-radius: 50% !important; }

        .property-card:hover .gallery-arrow {
            opacity: 1;
            pointer-events: auto;
        }
        .gallery-arrow:hover {
            background: rgba(245, 242, 232, 0.32);
            transform: translateY(-50%) scale(1.08);
        }
        .gallery-arrow:active { transform: translateY(-50%) scale(0.95); }

        /* ── Gallery Counter  ("1 / 4") ── */
        .gallery-counter {
            position: absolute;
            bottom: 20px;
            right: 20px;
            z-index: 20;
            background: rgba(26, 46, 34, 0.55);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            color: rgba(245, 242, 232, 0.92);
            font-family: 'Inter', sans-serif;
            font-size: 10px;
            font-weight: 500;
            letter-spacing: 1.2px;
            padding: 5px 12px;
            opacity: 0;
            transition: opacity 0.2s ease;
        }
        .property-card:hover .gallery-counter { opacity: 1; }

        /* Mobile — hide arrows, enable swipe (handled in JS) */
        @media (hover: none) and (pointer: coarse) {
            .gallery-arrow { display: none !important; }
            .gallery-counter { opacity: 1; }
        }

        /* ── Operación label (EN VENTA / EN ALQUILER) — top-left photo overlay ── */
        /* Lives in .property-card (position:relative), outside overflow:hidden */
        .prop-op-label {
            position: absolute;
            top: 16px;
            left: 16px;
            z-index: 30;
            font-family: 'Inter', sans-serif;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            padding: 5px 11px;
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            pointer-events: none;
        }
        .prop-op-venta   { background: rgba(26,46,34,0.78); color: rgba(245,242,232,0.97); }
        .prop-op-alquiler { background: rgba(20,55,110,0.75); color: rgba(235,244,255,0.97); }

        /* ═══ BOUTIQUE CARD FOOTER ════════════════════════════════════════════ */

        .property-info {
            padding: 20px 24px 26px;
            position: relative;
            background: var(--crema);
            border-top: 1px solid rgba(33, 69, 48, 0.07);
        }

        /* Top row: price + tag pill */
        .card-info-top {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            margin-bottom: 12px;
        }

        /* LINE 1 — Price (The Hook) */
        .card-price {
            font-family: 'EB Garamond', serif;
            font-size: 24px;
            font-weight: 700;
            color: #1A2E22;
            letter-spacing: -0.01em;
            line-height: 1.2;
            cursor: pointer;
            text-decoration: none;
            transition: color 0.22s ease;
            position: relative;
        }
        .card-price::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 0;
            height: 1.5px;
            background: var(--bronce);
            transition: width 0.25s ease;
        }
        .property-card:hover .card-price { color: var(--bronce); }
        .property-card:hover .card-price::after { width: 100%; }

        /* Boutique Tag Pill */
        .card-tag {
            font-family: 'Inter', sans-serif;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            padding: 5px 14px;
            border: 1px solid rgba(201, 168, 76, 0.35) !important;
            background: var(--verde) !important;
            color: var(--hueso) !important;
            white-space: nowrap;
            flex-shrink: 0;
            box-shadow: 0 2px 6px rgba(26, 46, 34, 0.15);
            transition: all 0.3s ease;
        }
        /* Override global border-radius:0 for pill tags */
        .card-tag,
        .card-tag:hover { border-radius: 30px !important; }

        .card-tag--offmarket  { background: var(--verde) !important; color: var(--hueso) !important; }
        .card-tag--inversion  { background: var(--marron) !important; color: var(--hueso) !important; border-color: rgba(201, 168, 76, 0.5) !important; }
        .card-tag--confidencial { background: #352016 !important; color: var(--hueso) !important; border-color: rgba(201, 168, 76, 0.35) !important; }

        .property-card:hover .card-tag { background: rgba(245, 242, 233, 0.6); }

        /* Property Name */
        .card-name {
            font-family: 'EB Garamond', serif;
            font-size: 19px;
            font-weight: 500;
            color: var(--marron);
            line-height: 1.3;
            margin-bottom: 10px;
            letter-spacing: 0.01em;
        }

        /* LINE 2 — Stats row (hab | baños | m²) */
        .card-stats {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 6px 8px;
            font-family: 'Inter', sans-serif;
            font-size: 15px;
            font-weight: 500;
            color: rgba(26,46,34,0.65);
            margin-bottom: 8px;
            line-height: 1;
        }
        .stat-sep {
            color: rgba(74, 74, 74, 0.3);
            font-weight: 300;
            font-size: 14px;
            user-select: none;
        }

        /* LINE 3 — Address */
        .card-address {
            font-family: 'Inter', sans-serif;
            font-size: 15px;
            font-weight: 400;
            color: rgba(53, 32, 22, 0.5);
            letter-spacing: 0.15px;
            line-height: 1.4;
        }

        /* ── Bottom CTA wrapper — visible on desktop to match reference ── */
        .prop-cta-wrap {
            display: flex;
            justify-content: center;
            margin-top: 40px;
        }

        /* ══════════════════════════════════════════════════════════════════

           PROPERTIES GALLERY — EDITORIAL MOBILE (≤ 768px)
           Full-width stacked cards · Boutique/Miami aesthetic
        ══════════════════════════════════════════════════════════════════ */
        @media (max-width: 768px) {

            /* ── Section wrapper ── */
            .properties {
                padding: 0 0 40px;
                background-color: var(--crema);
            }

            /* ── Editorial Header — centrado, columna ── */
            .section-header {
                margin: 0;
                padding: 60px 24px 28px;
                border-bottom: 0.5px solid rgba(26, 46, 34, 0.12);
                text-align: center;
                display: flex;
                flex-direction: column;
                align-items: center;
            }

            section.properties #prop-eyebrow {
                display: none;
            }

            /* Title + button stacked in a column, centrados */
            .section-header-main {
                flex-direction: column;
                align-items: center;
                gap: 28px;
                width: 100%;
            }

            #prop-title {
                font-size: clamp(36px, 10vw, 48px);
                line-height: 1.05;
                letter-spacing: -0.02em;
                padding-bottom: 0;
                flex: none;
                text-align: center;
                width: 100%;
            }
            #prop-title::after { display: none; }

            /* CTA rectangular — mobile ── */
            .btn-boutique-outline {
                font-size: 10px !important;
                letter-spacing: 2.5px !important;
                padding: 14px 36px !important;
                border-radius: 0 !important;
                border: 1px solid #1A2E22 !important;
                background: transparent !important;
                color: #1A2E22 !important;
                display: inline-block;
                white-space: nowrap;
                margin: 0 auto;
                font-weight: 600 !important;
            }
            .btn-boutique-outline:hover {
                background: #1A2E22 !important;
                color: #F5F2E8 !important;
            }

            /* ── Grid → single column, no gap ── */
            section.properties .properties-grid {
                grid-template-columns: 1fr !important;
                gap: 0 !important;
                padding: 0 !important;
            }

            /* ── Card ── */
            .property-card {
                border: none;
                border-bottom: 1px solid rgba(26, 46, 34, 0.07);
                border-radius: 0;
                margin: 0;
                transform: none !important;
            }
            .property-card:hover {
                border-color: rgba(26, 46, 34, 0.07);
                transform: none !important;
            }

            /* ── Image area — responsive, full-bleed ── */
            section.properties .property-img {
                height: auto;
                aspect-ratio: 4 / 3;
                border-radius: 0;
            }

            /* ── Gallery arrows — crisp, no blur, always visible ── */
            .gallery-arrow {
                opacity: 1 !important;
                pointer-events: auto !important;
                width: 32px;
                height: 32px;
                background: rgba(26, 46, 34, 0.52) !important;
                border: 1px solid rgba(245, 242, 232, 0.3) !important;
                /* No backdrop-filter — eliminates render blur on mobile */
                backdrop-filter: none !important;
                -webkit-backdrop-filter: none !important;
            }
            .gallery-arrow--prev { left: 12px; }
            .gallery-arrow--next { right: 12px; }
            .gallery-arrow svg { width: 11px; height: 11px; color: #F5F2E8; }

            /* ── Counter — always visible ── */
            .gallery-counter {
                opacity: 1 !important;
                bottom: 14px;
                right: 14px;
                font-size: 9px;
                padding: 4px 10px;
                background: rgba(26, 46, 34, 0.5);
            }

            /* Override the hover:none rule that hides arrows on touch */
            @media (hover: none) and (pointer: coarse) {
                .gallery-arrow {
                    display: flex !important;
                    opacity: 1 !important;
                    pointer-events: auto !important;
                }
            }

            /* ── Info block — refined editorial layout ── */
            .property-info {
                padding: 18px 22px 24px;
                background: var(--crema);
                border-top: none;
            }

            .card-info-top {
                margin-bottom: 8px;
                align-items: center;
            }

            /* Price — larger, dominant */
            .card-price {
                font-size: 22px;
                letter-spacing: -0.03em;
                color: #1A2E22;
            }
            .card-price::after { display: none; }

            /* Tag pill */
            .card-tag {
                font-size: 8px;
                letter-spacing: 1.2px;
                padding: 3px 10px;
            }

            /* Property name */
            .card-name {
                font-family: 'EB Garamond', serif;
                font-size: 17px;
                font-weight: 600;
                color: #1A2E22;
                margin-bottom: 12px;
                line-height: 1.25;
                letter-spacing: -0.01em;
            }

            /* Stats row */
            .card-stats {
                font-size: 11px;
                flex-wrap: wrap;
                gap: 4px 8px;
                color: rgba(26, 46, 34, 0.6);
                margin-bottom: 8px;
                line-height: 1.6;
            }
            .stat-sep {
                color: rgba(26, 46, 34, 0.2);
            }

            /* Address */
            .card-address {
                font-size: 11px;
                color: rgba(26, 46, 34, 0.38);
                letter-spacing: 0.1px;
            }

            /* ── Bottom CTA — visible, centrado ── */
            .prop-cta-wrap {
                display: flex;
                justify-content: center;
                padding: 28px 24px 36px;
                background-color: var(--crema);
            }
        }

        @media (max-width: 480px) {
            .properties { padding: 0 0 48px; }
            .section-header { padding: 48px 18px 24px; }
            #prop-title { font-size: clamp(30px, 9vw, 38px); }
            .property-img { height: auto; aspect-ratio: 4 / 3; }
            .property-info { padding: 16px 18px 22px; }
            .card-price { font-size: 20px; }
            .card-name { font-size: 16px; }
        }


        .boutique-consultation { padding: 80px 60px; background-color: var(--blanco); scroll-margin-top: 80px; }

        .consultation-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.2fr; background: var(--blanco); }
        
        .consultation-visual { 
            background: url('../img/pazo_luxury.png') center/cover no-repeat;
            min-height: 500px;
        }

        .consultation-content { padding: 60px 80px; display: flex; flex-direction: column; justify-content: center; }
        .consultation-content h2 { font-family: 'EB Garamond', serif; font-size: 44px; color: var(--marron); margin-bottom: 24px; line-height: 1.2; font-weight: 600; }
        .consultation-content p { font-family: 'Inter', sans-serif; font-size: 16px; color: rgba(53, 32, 22, 0.7); margin-bottom: 48px; line-height: 1.8; max-width: 480px; }
        
        .consultation-actions { display: flex; flex-direction: column; gap: 16px; align-items: stretch; width: fit-content; }
        
        .consultation-actions .btn-primary {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background-color: var(--verde);
            color: var(--crema);
            font-family: 'Inter', sans-serif;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 2px;
            text-transform: uppercase;
            padding: 16px 36px;
            text-decoration: none;
            transition: background-color 0.3s ease, color 0.3s ease;
            border: 1px solid var(--verde);
            border-radius: 50px;
            gap: 10px;
        }
        .consultation-actions .btn-primary:hover {
            background-color: transparent;
            color: var(--verde);
        }
        
        .consultation-actions .btn-secondary {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            background-color: transparent;
            color: var(--verde);
            font-family: 'Inter', sans-serif;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 2px;
            text-transform: uppercase;
            padding: 16px 36px;
            text-decoration: none;
            transition: background-color 0.3s ease, color 0.3s ease;
            border: 1px solid var(--verde);
            border-radius: 50px;
        }
        .consultation-actions .btn-secondary:hover {
            background-color: rgba(33, 69, 48, 0.05);
        }
        .consultation-actions .btn-secondary svg { color: #1A2E22; }

        .consultation-action-group {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: 12px;
        }

        .consultation-micro-copy {
            font-family: 'Inter', sans-serif;
            font-size: 10px;
            color: rgba(53, 32, 22, 0.6);
            text-align: center;
            display: block;
        }

        footer {
            background-color: var(--verde);
            padding: 35px 60px 14px;
            color: var(--hueso);
            position: relative;
            background-image:
                repeating-linear-gradient(45deg, rgba(245,242,232,0.035) 0px, rgba(245,242,232,0.035) 1px, transparent 1px, transparent 10px),
                repeating-linear-gradient(-45deg, rgba(245,242,232,0.035) 0px, rgba(245,242,232,0.035) 1px, transparent 1px, transparent 10px);
        }
        .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 60px; margin-bottom: 22px; }
        .footer-brand { padding-bottom: 0; }
        .footer-links h5, .footer-links h4 { margin-bottom: 14px; }
        .footer-links li { margin-bottom: 8px; }
        .footer-logo {
            font-family: 'EB Garamond', serif;
            font-size: 28px;
            letter-spacing: 4px;
            margin-bottom: 16px;
            color: #F5F2E8;
            -webkit-text-fill-color: #F5F2E8;
            filter: drop-shadow(0 1px 2px rgba(0,0,0,0.4));
            display: inline-block;
        }
        /* Separadores verticales entre columnas */
        .footer-links {
            border-left: 0.5px solid rgba(245, 242, 232, 0.12);
            padding-left: 40px;
        }
        .footer-links h5, .footer-links h4 {
            font-size: 11px;
            letter-spacing: 3px;
            text-transform: uppercase;
            font-variant: small-caps;
            margin-bottom: 30px;
            color: #C9A84C;
            text-shadow: 0 0 8px rgba(201,168,76,0.25);
        }
        .footer-links ul { list-style: none; }
        .footer-links li { margin-bottom: 15px; }
        .footer-links a { color: rgba(223, 216, 196, 0.6); text-decoration: none; font-size: 15px; transition: 0.3s; }
        .footer-links a:hover { color: var(--hueso); }

        /* ── NEWSLETTER BOUTIQUE ────────────────────────────────────────── */
        .newsletter-section {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 60px;
            padding-bottom: 35px;
            margin-bottom: 0;
        }
        .newsletter-text {
            flex: 0 0 38%;
        }
        .newsletter-text h4, .newsletter-text h3 {
            font-family: 'EB Garamond', serif;
            font-size: 36px;
            margin: 0 0 14px;
            font-weight: 500;
            line-height: 1.15;
            color: #F5F2E8 !important;
            filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3));
        }
        .newsletter-text p {
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            color: rgba(245, 242, 232, 0.65);
            line-height: 1.65;
            margin: 0;
            font-weight: 300;
        }
        .newsletter-form-container {
            flex: 0 0 54%;
        }
        .newsletter-form {
            display: flex;
            flex-direction: column;
            gap: 14px;
        }
        /* Barra input+botón con borde exterior único */
        .newsletter-input-group {
            display: flex;
            align-items: stretch;
            gap: 10px;
            border: 1px solid rgba(245, 242, 232, 0.55);
            transition: border-color 0.3s ease;
        }
        .newsletter-input-group:focus-within {
            border-color: #F5F2E8;
        }
        #newsletter-input {
            flex: 1;
            background: transparent !important;
            background-color: transparent !important;
            -webkit-appearance: none;
            border: none;
            color: #F5F2E8 !important;
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            padding: 13px 20px;
            outline: none;
            min-width: 0;
            box-shadow: none !important;
        }
        #newsletter-input:-webkit-autofill,
        #newsletter-input:-webkit-autofill:hover,
        #newsletter-input:-webkit-autofill:focus {
            -webkit-box-shadow: 0 0 0 1000px #1A2E22 inset !important;
            -webkit-text-fill-color: #F5F2E8 !important;
            transition: background-color 5000s ease-in-out 0s;
        }
        #newsletter-input::placeholder {
            color: rgba(245, 242, 232, 0.45);
            font-weight: 300;
        }
        .newsletter-btn {
            background: #F5F2E8;
            color: #1a2e22;
            border: none;
            padding: 0 32px;
            font-family: 'Inter', sans-serif;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 2.5px;
            text-transform: uppercase;
            cursor: pointer;
            transition: background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease;
            white-space: nowrap;
            flex-shrink: 0;
            box-shadow: 0 2px 10px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.15);
        }
        .newsletter-btn:disabled {
            opacity: 0.45;
            cursor: not-allowed;
        }
        .newsletter-btn:not(:disabled):hover {
            background-color: #ffffff;
            color: #111f17;
        }
        .newsletter-privacy {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            cursor: pointer;
        }
        .newsletter-privacy input[type="checkbox"] {
            margin-top: 2px;
            accent-color: #F5F2E8;
            cursor: pointer;
            width: 15px;
            height: 15px;
            flex-shrink: 0;
        }
        .newsletter-privacy span {
            font-family: 'Inter', sans-serif;
            font-size: 10px;
            color: rgba(245, 242, 232, 0.65);
            line-height: 1.5;
            font-weight: 300;
        }
        .newsletter-divider {
            width: 100%;
            height: 0.5px;
            background: rgba(245, 242, 232, 0.18);
            margin-bottom: 45px;
        }

        @media (max-width: 900px) {
            footer {
                padding: 24px 24px 20px;
                background-color: var(--verde);
                background-image:
                    repeating-linear-gradient(45deg, rgba(245,242,232,0.035) 0px, rgba(245,242,232,0.035) 1px, transparent 1px, transparent 10px),
                    repeating-linear-gradient(-45deg, rgba(245,242,232,0.035) 0px, rgba(245,242,232,0.035) 1px, transparent 1px, transparent 10px);
            }

            /* ── Newsletter ── */
            .newsletter-section {
                flex-direction: column;
                gap: 0;
                padding-bottom: 0;
                margin-bottom: 0;
            }
            .newsletter-text {
                flex: none;
                width: 100%;
                margin-bottom: 14px;
            }
            .newsletter-text h4::before, .newsletter-text h3::before {
                content: '\2726';
                display: block;
                font-size: 16px;
                color: #F5F2E8;
                margin-bottom: 10px;
                -webkit-text-fill-color: #F5F2E8;
                text-shadow: 0 0 8px rgba(245, 242, 232, 0.4);
            }
            .newsletter-text h4, .newsletter-text h3 {
                font-size: 26px;
                font-weight: 600;
                line-height: 1.2;
                background: linear-gradient(135deg, #E8C97A 0%, #C9A84C 40%, #F0D98A 70%, #B8922E 100%);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
                background-clip: text;
                margin: 0 0 14px;
                filter: drop-shadow(0 1px 2px rgba(0,0,0,0.4));
                background-color: transparent !important;
            }
            .newsletter-text p {
                font-size: 13px;
                line-height: 1.8;
                color: rgba(245,242,232,0.65);
            }
            .newsletter-form-container {
                flex: none;
                width: 100%;
                background: rgba(201,168,76,0.04);
                border: 0.5px solid rgba(201,168,76,0.2);
                padding: 14px;
                margin-bottom: 18px;
                box-sizing: border-box;
            }
            .newsletter-form { gap: 18px; }
            .newsletter-input-group {
                flex-direction: column;
                gap: 16px;
                border: none;
                background: transparent;
            }
            #newsletter-input {
                border: none !important;
                border-bottom: 1px solid rgba(201,168,76,0.45) !important;
                padding: 10px 0 !important;
                font-size: 14px;
            }
            #newsletter-input:-webkit-autofill,
            #newsletter-input:-webkit-autofill:focus {
                -webkit-box-shadow: 0 0 0 1000px #111f17 inset !important;
            }
            .newsletter-btn {
                width: 100%;
                padding: 14px;
                background: #F5F2E8;
                color: #1a2e22;
                font-size: 11px;
                font-weight: 800;
                letter-spacing: 3px;
                border: none;
                box-shadow: 0 2px 12px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.2);
            }
            .newsletter-btn:not(:disabled):hover {
                background-color: #ffffff;
                color: #111f17;
            }
            .newsletter-privacy { gap: 10px; align-items: center; }
            .newsletter-privacy input[type="checkbox"] { display: none; }
            .newsletter-privacy::before {
                content: '';
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 16px;
                height: 16px;
                min-width: 16px;
                background: #F5F2E8;
                color: #1a2e22;
                font-size: 10px;
                font-weight: 900;
                border-radius: 2px;
                box-shadow: 0 1px 4px rgba(0,0,0,0.15);
                transition: background-color 0.2s ease, border-color 0.2s ease;
            }
            .newsletter-privacy:has(input[type="checkbox"]:checked)::before {
                content: '\2713';
            }
            .newsletter-privacy span { font-size: 10px; color: rgba(245,242,232,0.55); }
            .newsletter-divider {
                background: linear-gradient(90deg, transparent, rgba(201,168,76,0.3), transparent);
                height: 1px;
                margin-bottom: 18px;
            }

            /* ── Identidad de Marca (footer-brand full-width) ── */
            .footer-grid {
                grid-template-columns: 1fr 1fr;
                grid-template-rows: auto auto auto;
                gap: 0;
                margin-bottom: 14px;
            }
            /* footer-brand ocupa las 2 columnas */
            .footer-grid > .footer-brand {
                grid-column: 1 / -1;
                grid-row: 1;
            }
            /* EXPLORAR — columna izquierda, abarca filas 2 y 3 */
            .footer-grid > .footer-links:nth-child(2) {
                grid-column: 1;
                grid-row: 2 / 4;
                border-right: 0.5px solid rgba(201,168,76,0.12);
                padding-right: 14px;
                margin-bottom: 0;
            }
            /* COMPAÑÍA — columna derecha, fila 2 */
            .footer-grid > .footer-links:nth-child(3) {
                grid-column: 2;
                grid-row: 2;
                padding-left: 14px;
                border-top: 0.5px solid rgba(201,168,76,0.15);
                margin-bottom: 0;
            }
            /* CONTACTO — columna derecha, fila 3 */
            .footer-grid > .footer-links:nth-child(4) {
                grid-column: 2;
                grid-row: 3;
                padding-left: 14px;
                border-top: 0.5px solid rgba(201,168,76,0.15);
                margin-bottom: 0;
            }
            .footer-logo {
                font-size: 30px;
                letter-spacing: 7px;
                color: #F5F2E8;
                -webkit-text-fill-color: #F5F2E8;
                filter: drop-shadow(0 1px 3px rgba(0,0,0,0.5));
                margin-bottom: 10px;
                background-color: transparent !important;
            }
            #footer-p {
                font-size: 13px !important;
                line-height: 1.7 !important;
                color: rgba(223,216,196,0.5) !important;
                padding-bottom: 14px;
            }
            #footer-p::after {
                content: ' \2726';
                color: rgba(245, 242, 232, 0.6);
                font-size: 10px;
            }

            /* ── Capítulos de Autor (estilos comunes) ── */
            .footer-links {
                border-left: none;
                border-top: 0.5px solid rgba(201,168,76,0.15);
                padding-left: 0;
                padding-top: 10px;
                margin-bottom: 0;
            }
            .footer-links:nth-child(2) h5::before, .footer-links:nth-child(2) h4::before { content: '\25CE\0020'; }
            .footer-links:nth-child(3) h5::before, .footer-links:nth-child(3) h4::before { content: '\2767\0020'; }
            .footer-links:nth-child(4) h5::before, .footer-links:nth-child(4) h4::before { content: '\25C8\0020'; }
            .footer-links h5, .footer-links h4 {
                color: #C9A84C;
                font-size: 10px;
                letter-spacing: 4px;
                margin-bottom: 14px;
                text-shadow: 0 0 8px rgba(201,168,76,0.25);
            }
            .footer-links li {
                margin-bottom: 6px;
                padding-left: 0;
                position: relative;
            }
            .footer-links li::before {
                content: '';
            }
            .footer-links a {
                font-family: 'EB Garamond', serif;
                font-size: 16px;
                color: rgba(223,216,196,0.7);
                letter-spacing: 0.02em;
            }
            .footer-links a:hover { color: #C9A84C; }
            
            /* Center bottom legal bar */
            .footer-bottom-bar {
                flex-direction: column !important;
                justify-content: center !important;
                text-align: center !important;
                gap: 16px !important;
                padding-bottom: 20px;
            }
            .footer-bottom-bar > #footer-copy {
                order: 1 !important;
            }
            .footer-bottom-bar > .footer-legal-links {
                order: 2 !important;
                justify-content: center !important;
                flex-wrap: wrap !important;
            }
            .footer-bottom-bar > .footer-credit {
                order: 3 !important;
            }
        }

        @media (max-width: 1024px) {
            .hero, nav, .properties, .boutique-consultation, footer { padding: 0 30px; }
            .philosophy, .consultation-container, .metrics-bar { grid-template-columns: 1fr; }
            section.properties .properties-grid { grid-template-columns: 1fr !important; }
            .metric-item { border-right: none; border-bottom: 1px solid rgba(245, 242, 233, 0.1); }
            .metric-item:last-child { border-bottom: none; }
            .hero h1, .hero #hero-title { font-size: 42px; }
            .hero-search { grid-template-columns: 1fr; }
            .philosophy-text { padding: 60px 30px; }
            .consultation-visual { min-height: 300px; }
            .consultation-content { padding: 60px 30px; }
        }


        /* ═══════════════════════════════════════════════════════════════════
           SMART PREDICTIVE SEARCH — LYVANTO PREMIUM 2026
        ═══════════════════════════════════════════════════════════════════ */

        /* Hero cinematic overlay when search is active */
        .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: rgba(20, 36, 26, 0.52);
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px);
            opacity: 0;
            transition: opacity 0.45s ease;
            z-index: 1;
            pointer-events: none;
        }
        .hero.search-expanded::before { opacity: 1; }

        .hero-content { position: relative; z-index: 2; }

        /* ── Intention Selector ──────────────────────────────────────────── */
        .intention-selector {
            display: flex;
            justify-content: flex-end;
            max-width: 720px;
            gap: 12px;
            margin-bottom: 20px;
        }

        .intention-btn {
            font-family: 'Inter', sans-serif;
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 2px;
            padding: 10px 28px;
            border-radius: 0;
            cursor: pointer;
            transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
            background: transparent;
            border: 1px solid #ffffff;
            color: #ffffff;
        }

        .intention-btn:hover {
            background: rgba(255, 255, 255, 0.1);
        }

        .intention-btn.is-active {
            background-color: var(--verde);
            border-color: var(--verde);
            color: var(--hueso);
        }

        /* ── Wrapper ─────────────────────────────────────────────────────── */
        .smart-search-wrapper {
            position: relative;
            max-width: 720px;
            width: 100%;
            z-index: 500;
        }

        /* ── Search Bar ──────────────────────────────────────────────────── */
        .smart-search-bar {
            display: flex;
            align-items: stretch;
            background: rgba(249, 246, 238, 0.98);
            border: none !important;
            border-radius: 2px !important;
            padding: 6px;
            padding-left: 0;
            height: 64px;
            transition: border-radius 0.25s ease, box-shadow 0.3s ease;
            box-shadow: 0 10px 40px rgba(0,0,0,0.22), 0 2px 8px rgba(0,0,0,0.1) !important;
        }

        /* Connected state: flatten bottom corners when panel is open */
        .smart-search-wrapper.is-focused .smart-search-bar {
            border-radius: 5px 5px 0 0 !important;
            box-shadow: 0 10px 40px rgba(0,0,0,0.22), 0 2px 8px rgba(0,0,0,0.1) !important;
        }

        .search-icon {
            padding: 0 14px 0 22px;
            color: #214530;
            opacity: 0.45;
            display: flex;
            align-items: center;
            flex-shrink: 0;
            transition: opacity 0.3s;
        }
        .smart-search-wrapper.is-focused .search-icon { opacity: 1; }

        .smart-search-input {
            flex: 1;
            padding: 20px 12px 20px 0;
            border: none !important;
            background: transparent;
            font-family: 'EB Garamond', serif;
            font-size: 16px;
            font-weight: 400;
            color: #352016;
            outline: none !important;
            letter-spacing: 0.03em;
            box-shadow: none !important;
        }
        .smart-search-input::placeholder {
            color: rgba(53, 32, 22, 0.45);
            font-family: 'Inter', sans-serif;
            font-size: 15px;
            font-weight: 300;
            font-style: italic;
        }

        .search-cta-btn {
            background: #214530;
            color: #F5F2E8;
            border: none !important;
            padding: 0 40px;
            margin: 0;
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            font-weight: 600;
            letter-spacing: 3px;
            text-transform: uppercase;
            cursor: pointer;
            flex-shrink: 0;
            border-radius: 0 !important;
            transition: background 0.25s ease, letter-spacing 0.2s ease, border-radius 0.25s ease;
            box-shadow: none !important;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .smart-search-wrapper.is-focused .search-cta-btn {
            border-radius: 0 !important;
        }
        .search-cta-btn:hover { background: #1A2E22; letter-spacing: 3.5px; }

        /* ── Dropdown Panel ──────────────────────────────────────────────── */
        .search-dropdown {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background: #F9F6EE;
            border: 1.5px solid rgba(33, 69, 48, 0.13) !important;
            border-top: none !important;
            border-radius: 0 !important;
            box-shadow: 0 10px 15px -3px rgba(0,0,0,0.10), 0 4px 6px -2px rgba(0,0,0,0.05) !important;
            overflow: hidden;
            max-height: 0;
            opacity: 0;
            pointer-events: none;
            transition: max-height 0.42s cubic-bezier(0.16, 1, 0.3, 1),
                        opacity 0.22s ease;
            z-index: 600;
        }
        .search-dropdown.is-open {
            max-height: 560px;
            opacity: 1;
            pointer-events: auto;
        }

        /* Top divider — separates bar from results, clean line */
        .dropdown-top-divider {
            height: 1px;
            background: rgba(33, 69, 48, 0.1);
            margin: 0;
        }

        /* ── Categories ──────────────────────────────────────────────────── */
        .dropdown-category { display: none; }

        .dropdown-category-header {
            display: flex;
            align-items: center;
            gap: 9px;
            padding: 20px 24px 7px;
            font-family: 'Inter', sans-serif;
            font-size: 10.5px;
            font-weight: 700;
            letter-spacing: 3.5px;
            text-transform: uppercase;
            color: #1A2E22;
            opacity: 0.75;
        }

        /* ── Result rows ─────────────────────────────────────────────────── */
        .dropdown-list { list-style: none; padding: 0 0 6px; margin: 0; }

        .dropdown-item {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 10px 24px;
            cursor: pointer;
            transition: background 0.14s ease;
        }
        .dropdown-item:hover { background: rgba(33, 69, 48, 0.055); }

        /* Monochromatic icons 20px */
        .result-icon {
            font-size: 20px;
            flex-shrink: 0;
            width: 20px;
            text-align: center;
            line-height: 1;
            filter: grayscale(20%) brightness(0.85);
        }

        .result-body {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 1px;
            min-width: 0;
        }
        .result-label {
            font-family: 'EB Garamond', serif;
            font-size: 16px;
            font-weight: 500;
            color: #1A2E22;
            line-height: 1.3;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .result-sub {
            font-family: 'Inter', sans-serif;
            font-size: 12.5px;
            font-weight: 400;
            color: rgba(53, 32, 22, 0.65);
        }

        /* Fuzzy match highlight */
        .search-highlight {
            background: transparent !important;
            color: #214530 !important;
            font-weight: 700 !important;
        }

        /* Meta — right-aligned, light weight */
        .result-meta {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 3px;
            flex-shrink: 0;
        }
        .result-badge {
            font-family: 'Inter', sans-serif;
            font-size: 11px;
            font-weight: 400;
            color: rgba(33, 69, 48, 0.8);
            white-space: nowrap;
        }
        .result-roi {
            font-family: 'Inter', sans-serif;
            font-size: 9px;
            font-weight: 600;
            color: #7A5C2E;
            white-space: nowrap;
        }

        /* ── Footer ──────────────────────────────────────────────────────── */
        .dropdown-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 10px 24px;
            border-top: 1px solid rgba(33, 69, 48, 0.1) !important;
            background: rgba(33, 69, 48, 0.03);
            font-family: 'Inter', sans-serif;
            font-size: 11px;
            color: rgba(53, 32, 22, 0.55);
            letter-spacing: 0.2px;
        }
        .dropdown-footer kbd {
            display: inline-block;
            padding: 1px 6px;
            border: 1px solid rgba(33, 69, 48, 0.15) !important;
            background: rgba(245, 242, 233, 0.8);
            font-family: 'Inter', sans-serif;
            font-size: 10px;
            color: rgba(53, 32, 22, 0.7);
            margin: 0 2px;
            border-radius: 2px !important;
        }

        /* --- Mobile --- */
        @media (max-width: 1024px) {
            .smart-search-wrapper { max-width: 100%; }
            .smart-search-bar { flex-wrap: wrap; }
            .search-cta-btn { width: 100%; text-align: center; padding: 16px; }
            .smart-search-input { padding: 18px 12px 18px 0; font-size: 15px; }
        }



        /* ═══════════════════════════════════════════════════════════════════
           SMART FILTER PANEL — LYVANTO BOUTIQUE 2026
           Full-width horizontal editorial filter beneath Activos Destacados
        ═══════════════════════════════════════════════════════════════════ */

        /* ── Section Shell ──────────────────────────────────────────────── */
        .filter-panel {
            width: 100%;
            background-color: #F5F2E8;
            border-top: 1px solid rgba(26, 46, 34, 0.12);
            position: relative;
        }

        /* Subtle gradient lift from the grid above */
        .filter-panel::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 2px;
            background: linear-gradient(90deg, transparent 0%, rgba(26,46,34,0.08) 20%, rgba(26,46,34,0.14) 50%, rgba(26,46,34,0.08) 80%, transparent 100%);
        }

        /* ── Mobile Toggle Button (hidden on desktop) ──────────────────── */
        .filter-toggle-btn {
            display: none;
            width: 100%;
            padding: 20px 24px;
            background: transparent;
            border: none;
            cursor: pointer;
            font-family: 'Inter', sans-serif;
            font-size: 15px;
            font-weight: 600;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: #1A2E22;
            align-items: center;
            gap: 12px;
        }
        .filter-toggle-btn .filter-toggle-chevron {
            margin-left: auto;
            transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
            color: rgba(26,46,34,0.45);
        }
        .filter-toggle-btn[aria-expanded="true"] .filter-toggle-chevron {
            transform: rotate(180deg);
        }

        /* ── Panel Body ─────────────────────────────────────────────────── */
        .filter-panel-body {
            padding: 28px 80px 24px;
        }

        /* ── Filter Rows ─────────────────────────────────────────────────── */
        .filter-row {
            display: flex;
            align-items: center;
            gap: 40px;
            width: 100%;
        }

        .filter-row--1 { align-items: center; }
        .filter-row--2 { align-items: center; }
        .filter-row--3 { align-items: center; }

        /* ── Row Divider ─────────────────────────────────────────────────── */
        .filter-divider {
            width: 100%;
            height: 1px;
            background: rgba(26, 46, 34, 0.08);
            margin: 18px 0;
        }

        /* ── Filter Group (generic container) ───────────────────────────── */
        .filter-group {
            display: flex;
            flex-direction: column;
            gap: 8px;
            flex-shrink: 0;
        }
        .filter-group--search { min-width: 200px; }
        .filter-group--type   { flex: 1; }
        .filter-group--slider { flex: 1; min-width: 220px; }
        .filter-group--rooms  { flex-shrink: 0; }
        .filter-group--features { flex: 1; }
        .filter-group--reset  {
            flex-shrink: 0;
            margin-left: auto;
            align-self: center;
            padding-bottom: 0;
        }

        /* ── Filter Label ─────────────────────────────────────────────────── */
        .filter-label {
            font-family: 'Inter', sans-serif;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 2.8px;
            text-transform: uppercase;
            color: rgba(26, 46, 34, 0.45);
            cursor: default;
            user-select: none;
            display: block;
        }

        /* ── Search Input ─────────────────────────────────────────────────── */
        .filter-search-wrap {
            display: flex;
            align-items: center;
            gap: 10px;
            border-bottom: 1.5px solid rgba(26, 46, 34, 0.22);
            padding-bottom: 10px;
            transition: border-color 0.22s ease;
        }
        .filter-search-wrap:focus-within {
            border-color: #1A2E22;
        }
        .filter-search-icon {
            color: #1A2E22;
            opacity: 0.35;
            flex-shrink: 0;
            transition: opacity 0.22s ease;
        }
        .filter-search-wrap:focus-within .filter-search-icon {
            opacity: 0.75;
        }
        .filter-search-input {
            flex: 1;
            border: none;
            background: transparent;
            font-family: 'Inter', sans-serif;
            font-size: 16px;
            font-weight: 300;
            color: #352016;
            outline: none;
            width: 180px;
        }
        .filter-search-input::placeholder {
            color: rgba(53, 32, 22, 0.30);
            font-style: italic;
        }

        /* ── Pill Buttons ─────────────────────────────────────────────────── */
        .filter-pills {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .filter-pill {
            font-family: 'Inter', sans-serif;
            font-size: 13px;
            font-weight: 600;
            letter-spacing: 1.4px;
            text-transform: uppercase;
            padding: 6px 14px;
            border: 1.5px solid rgba(26, 46, 34, 0.22) !important;
            background: transparent;
            color: rgba(26, 46, 34, 0.55);
            cursor: pointer;
            transition: background-color 0.22s ease, color 0.22s ease, border-color 0.22s ease;
            white-space: nowrap;
            border-radius: 100px !important;
        }
        .filter-pill:hover {
            border-color: #1A2E22 !important;
            color: #1A2E22;
            background: rgba(26, 46, 34, 0.04);
        }
        .filter-pill--active,
        .filter-pill--active:hover {
            background: #1A2E22 !important;
            color: #F5F2E8 !important;
            border-color: #1A2E22 !important;
        }

        /* ── Range Sliders ─────────────────────────────────────────────── */
        .filter-slider-header {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            gap: 16px;
        }
        .filter-slider-value {
            font-family: 'EB Garamond', serif;
            font-size: 18px;
            font-weight: 400;
            color: #1A2E22;
            white-space: nowrap;
        }

        .filter-slider-track-wrap {
            position: relative;
            width: 100%;
            height: 20px;
            display: flex;
            align-items: center;
        }

        /* Custom slider track */
        .filter-slider {
            -webkit-appearance: none;
            appearance: none;
            width: 100%;
            height: 2px;
            background: rgba(26, 46, 34, 0.14);
            outline: none;
            cursor: pointer;
            border: none !important;
            border-radius: 2px !important;
            position: relative;
            z-index: 2;
        }

        /* Webkit thumb */
        .filter-slider::-webkit-slider-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 20px;
            height: 20px;
            border-radius: 50% !important;
            background: #1A2E22;
            cursor: pointer;
            border: 3px solid #F5F2E8 !important;
            outline: 1.5px solid rgba(26,46,34,0.35);
            transition: transform 0.18s ease, outline 0.18s ease;
            margin-top: -9px; /* Align vertically on 2px track */
        }
        .filter-slider::-webkit-slider-thumb:hover,
        .filter-slider:active::-webkit-slider-thumb {
            transform: scale(1.18);
            outline: 2px solid #1A2E22;
        }

        /* Mozilla thumb */
        .filter-slider::-moz-range-thumb {
            width: 20px;
            height: 20px;
            border-radius: 50% !important;
            background: #1A2E22;
            cursor: pointer;
            border: 3px solid #F5F2E8 !important;
            outline: 1.5px solid rgba(26,46,34,0.35);
            transition: transform 0.18s ease;
            margin-top: -9px;
        }

        /* The colored fill line behind the thumb */
        .filter-slider-fill {
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            height: 2px;
            background: #1A2E22;
            border-radius: 2px !important;
            pointer-events: none;
            z-index: 1;
            transition: width 0.05s linear;
        }

        .filter-slider-labels {
            display: flex;
            justify-content: space-between;
            margin-top: 6px;
        }
        .filter-slider-labels span {
            font-family: 'Inter', sans-serif;
            font-size: 12.5px;
            color: rgba(26, 46, 34, 0.32);
            font-weight: 400;
            letter-spacing: 0.3px;
        }

        /* ── Checkboxes ─────────────────────────────────────────────────── */
        .filter-checkboxes {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px 32px;
        }

        .filter-check-item {
            display: flex;
            align-items: center;
            gap: 10px;
            cursor: pointer;
            user-select: none;
        }

        /* Hide native checkbox */
        .filter-checkbox {
            position: absolute;
            opacity: 0;
            width: 0;
            height: 0;
            pointer-events: none;
        }

        /* Custom checkmark box */
        .filter-checkmark {
            width: 16px;
            height: 16px;
            border: 1.5px solid rgba(26, 46, 34, 0.28) !important;
            flex-shrink: 0;
            position: relative;
            transition: background 0.18s ease, border-color 0.18s ease;
            border-radius: 3px !important;
        }
        .filter-checkmark::after {
            content: '';
            position: absolute;
            display: none;
            left: 4px;
            top: 1px;
            width: 5px;
            height: 9px;
            border: 2px solid #F5F2E8 !important;
            border-top: none !important;
            border-left: none !important;
            transform: rotate(45deg);
        }
        .filter-checkbox:checked + .filter-checkmark {
            background: #1A2E22;
            border-color: #1A2E22 !important;
        }
        .filter-checkbox:checked + .filter-checkmark::after {
            display: block;
        }
        .filter-check-item:hover .filter-checkmark {
            border-color: #1A2E22 !important;
        }

        .filter-check-label {
            font-family: 'Inter', sans-serif;
            font-size: 14.5px;
            font-weight: 400;
            color: rgba(53, 32, 22, 0.65);
            transition: color 0.18s ease;
            white-space: nowrap;
        }
        .filter-check-item:hover .filter-check-label {
            color: #352016;
        }
        .filter-checkbox:checked ~ .filter-check-label {
            color: #1A2E22;
            font-weight: 500;
        }

        /* ── Reset Button ───────────────────────────────────────────────── */
        .filter-reset-btn {
            display: flex;
            align-items: center;
            gap: 7px;
            background: transparent;
            border: none;
            cursor: pointer;
            font-family: 'Inter', sans-serif;
            font-size: 13px;
            font-weight: 500;
            letter-spacing: 1.8px;
            text-transform: uppercase;
            color: rgba(74, 74, 74, 0.55);
            padding: 0;
            transition: color 0.2s ease;
            white-space: nowrap;
        }
        .filter-reset-btn:hover {
            color: #1A2E22;
        }
        .filter-reset-btn svg {
            transition: transform 0.35s ease;
        }
        .filter-reset-btn:hover svg {
            transform: rotate(-180deg);
        }

        /* ── Results Bar ─────────────────────────────────────────────────── */
        .filter-results-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-top: 16px;
            padding-top: 12px;
            border-top: 1px solid rgba(26, 46, 34, 0.08);
        }
        .filter-results-count {
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            font-weight: 400;
            color: rgba(26, 46, 34, 0.4);
            letter-spacing: 0.2px;
        }
        .filter-active-indicator {
            display: flex;
            align-items: center;
            gap: 7px;
            font-family: 'Inter', sans-serif;
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            color: #1A2E22;
            animation: fadeInUp 0.3s ease forwards;
        }
        .filter-active-dot {
            width: 6px;
            height: 6px;
            background: #1A2E22;
            border-radius: 50% !important;
            animation: pulse-dot 2s ease-in-out infinite;
        }

        @keyframes pulse-dot {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.5; transform: scale(0.7); }
        }
        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(4px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        /* Mobile reset btn — hidden on desktop */
        .filter-reset-mobile { display: none; }

        /* Desktop reset btn group — visible desktop, hidden mobile */
        .filter-group--reset-desktop { display: flex; }



        /* ── Responsive: Tablet (1024px and below) ──────────────────────── */
        @media (max-width: 1200px) {
            .filter-panel-body {
                padding: 50px 40px;
            }
            .filter-row {
                gap: 36px;
            }
            .filter-row--3 {
                flex-wrap: wrap;
            }
            .filter-group--features {
                min-width: 260px;
            }
        }

        @media (max-width: 900px) {
            .filter-panel-body {
                padding: 36px 28px;
            }
            .filter-row--1,
            .filter-row--2,
            .filter-row--3 {
                flex-direction: column;
                gap: 28px;
            }
            .filter-group--search,
            .filter-group--type,
            .filter-group--slider,
            .filter-group--rooms,
            .filter-group--features {
                min-width: 0;
                width: 100%;
                flex: none;
            }
            .filter-group--reset {
                margin-left: 0;
                align-self: flex-start;
            }
            .filter-checkboxes {
                grid-template-columns: 1fr 1fr;
            }
        }

        /* ══════════════════════════════════════════════════════════════════
           FILTER PANEL — COMPACT DASHBOARD MOBILE (≤ 768px)
           Always visible · No accordion · Yacht/Jet private aesthetic
        ══════════════════════════════════════════════════════════════════ */
        @media (max-width: 768px) {

            /* ── Hide the accordion toggle — panel always open ── */
            .filter-toggle-btn { display: none !important; }

            /* ── Body always visible, compact padding ── */
            .filter-panel-body {
                max-height: none !important;
                overflow: visible !important;
                padding: 0 20px 0 !important;
                transition: none !important;
            }
            .filter-panel-body.is-open,
            .filter-panel-body:not(.is-open) {
                max-height: none !important;
                padding: 0 20px 0 !important;
            }

            /* ── Panel container ── */
            .filter-panel {
                padding: 0;
                margin-top: 48px !important;
                border-top: 1px solid rgba(26, 46, 34, 0.12) !important;
                padding-top: 24px !important;
            }
            .filter-panel::before { display: none; }

            /* ── Centered Titles ── */
            .filter-label {
                text-align: center !important;
                text-transform: none !important;
                font-family: 'Inter', sans-serif !important;
                font-size: 12px !important;
                font-weight: 700 !important;
                letter-spacing: 2px !important;
                color: rgba(26, 46, 34, 0.70) !important;
                margin-bottom: 12px !important;
                display: block !important;
                width: 100% !important;
            }

            /* ── All rows stack vertically, EL PODER DEL AIRE ── */
            .filter-panel-body {
                display: flex !important;
                flex-direction: column !important;
                gap: 24px !important;
                padding-top: 35px !important;
                padding-bottom: 30px !important;
            }
            .filter-row--1,
            .filter-row--2,
            .filter-row--3 {
                display: flex !important;
                flex-direction: column !important;
                gap: 24px !important; 
            }

            /* ── Remove noisy dividers ── */
            .filter-divider { display: none !important; }

            /* ── All groups full-width ── */
            .filter-group--search,
            .filter-group--type,
            .filter-group--slider,
            .filter-group--rooms,
            .filter-group--features,
            .filter-group--reset {
                min-width: 0;
                width: 100%;
                flex: none;
            }

            /* ─────────────────────────────────────────────────
               BUSCADOR — Simetría, fondo crema oscuro, lupa interna
            ───────────────────────────────────────────────── */
            .filter-group--search {
                padding-bottom: 0 !important;
                border-bottom: none !important;
            }
            .filter-search-wrap { 
                position: relative;
                height: 48px !important; 
                width: 100% !important;
                max-width: 100%;
                border: none !important;
                border-bottom: 0.5px solid rgba(26, 46, 34, 0.2) !important;
                background: rgba(26, 46, 34, 0.04) !important; 
                display: block !important; 
                margin: 0 auto !important;
                padding: 0 !important;
                border-radius: 4px !important;
                overflow: hidden !important;
            }
            .filter-search-input {
                height: 100% !important;
                width: 100% !important;
                padding: 0 15px 0 46px !important; /* 15px padding + 16px icon + 15px pad */
                font-size: 13.5px !important;
                border: none !important;
                background: transparent !important;
                color: #1A2E22 !important;
                text-align: left !important;
            }
            .filter-search-input::placeholder {
                font-style: normal !important;
                color: rgba(26, 46, 34, 0.55) !important;
                font-weight: 500 !important;
            }
            .filter-search-icon { 
                position: absolute !important;
                left: 15px !important; /* Padding of at least 15px from edge */
                top: 50% !important; 
                transform: translateY(-50%) !important; 
                width: 16px !important;
                height: 16px !important;
                color: #1A2E22 !important;
                opacity: 0.6 !important;
            }

            .filter-group--type {
                padding-top: 0 !important;
            }

            /* ─────────────────────────────────────────────────
               PILLS — Simetría y Centrado
            ───────────────────────────────────────────────── */
            #filterTypePills {
                display: grid !important;
                grid-template-columns: repeat(2, 1fr) !important;
                gap: 12px !important;
                padding: 0 24px !important; /* Generous side margins */
                overflow: visible !important;
            }
            #filterRoomPills {
                display: flex !important;
                flex-wrap: wrap !important;
                justify-content: center !important;
                gap: 12px !important;
                padding: 0 16px !important;
            }

            .filter-pill {
                flex-shrink: 0 !important;
                width: 100% !important;
                text-align: center !important;
                justify-content: center !important;
                padding: 10px 0 !important;
                font-size: 10.5px !important;
                letter-spacing: 1px !important;
                white-space: nowrap !important;
            }
            #filterRoomPills .filter-pill {
                width: auto !important;
                min-width: 60px !important;
            }

            /* ─────────────────────────────────────────────────
               SLIDERS — Precisión Quirúrgica y Centrado
            ───────────────────────────────────────────────── */

            /* Header: Label centered over value, value centered over bar */
            .filter-slider-header {
                display: flex !important;
                flex-direction: column !important;
                align-items: center !important;
                justify-content: center !important;
                gap: 8px !important;
                margin-bottom: 8px !important;
            }
            .filter-slider-header .filter-label { 
                margin-bottom: 0 !important; 
            }
            .filter-slider-value {
                font-family: 'EB Garamond', serif !important;
                font-size: 16px !important;
                margin-top: 0 !important;
                font-weight: 500 !important;
                color: #1A2E22 !important;
                text-align: center !important;
                width: 100% !important;
            }

            /* Track */
            .filter-slider-track-wrap { height: 20px; }

            .filter-slider {
                height: 2px !important;
                margin: 0 !important;
            }

            /* Thumb — Precision 32px circular handles, centered on 2px track */
            .filter-slider::-webkit-slider-thumb {
                width: 32px !important;
                height: 32px !important;
                border: 3px solid #F5F2E8 !important;
                background: #1A2E22 !important;
                box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
                margin-top: -15px !important; /* Perfect vertical center alignment: (2 - 32)/2 = -15px */
                border-radius: 50% !important;
            }
            .filter-slider::-moz-range-thumb {
                width: 32px !important;
                height: 32px !important;
                border: 3px solid #F5F2E8 !important;
                background: #1A2E22 !important;
                box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
                margin-top: -15px !important;
                border-radius: 50% !important;
            }

            /* Min/max labels */
            .filter-slider-labels {
                font-size: 10px !important;
                margin-top: 10px !important;
                opacity: 0.5;
            }

            /* ─────────────────────────────────────────────────
               CARACTERÍSTICAS — 2 columnas true grid
            ───────────────────────────────────────────────── */
            .filter-checkboxes {
                grid-template-columns: repeat(2, 1fr) !important;
                gap: 8px 12px !important;
            }
            .filter-check-label {
                font-size: 12.5px !important;
            }

            /* ─────────────────────────────────────────────────
               FOOTER — Una sola fila horizontal
            ───────────────────────────────────────────────── */
            .filter-group--reset {
                margin-left: 0 !important;
                align-self: unset !important;
            }

            /* Override: make results bar and reset sit in one flex row */
            .filter-row--3 {
                display: flex;
                flex-direction: column;
                gap: 24px;
            }

            /* Fuse reset + results into one row after characteristics */
            .filter-group--features { order: 1; }
            .filter-group--reset    { order: 2; }

            /* Show mobile reset, hide desktop reset group */
            .filter-reset-mobile { display: inline-flex !important; }
            .filter-group--reset-desktop { display: none !important; }

            /* Results bar: Limpiar izq · Mostrando der */
            #filterResultsBar {
                display: flex !important;
                flex-direction: row !important;
                justify-content: space-between !important;
                align-items: center !important;
                padding: 12px 0 16px !important;
                border-top: 1px solid rgba(26, 46, 34, 0.10) !important;
                margin-top: 4px !important;
            }

            /* Show reset inline in the results bar row */
            .filter-results-bar::before {
                content: '';
                display: none;
            }

            .filter-reset-mobile {
                font-size: 10.5px !important;
                letter-spacing: 1.5px !important;
                padding: 0 !important;
                background: none !important;
                border: none !important;
                color: rgba(26, 46, 34, 0.5) !important;
                gap: 6px !important;
                align-items: center !important;
                cursor: pointer;
                text-transform: uppercase;
                font-family: 'Inter', sans-serif;
                font-weight: 600;
            }
            .filter-reset-mobile:hover {
                color: #1A2E22 !important;
            }

            /* Final compact footer row: reset + count side by side */
            .filter-row--3 .filter-group--reset,
            .filter-results-bar {
                display: flex;
            }
        }


        @media (max-width: 480px) {
            .filter-pills { gap: 5px !important; }
            .filter-pill { padding: 6px 12px !important; font-size: 9px !important; }
            .filter-slider-value { font-size: 12px !important; }
            .filter-check-label { font-size: 11px !important; }
            .filter-panel-body { padding: 0 16px 0 !important; }
        }





        /* ═══ EXPLORAR TODO CTA ═══ */
        .prop-cta-wrap {
            display: flex;
            justify-content: center;
            margin-top: 60px;
        }

        /* ── btn-boutique-outline: duplicate block — inherits from primary definition ── */

        /* ═══════════════════════════════════════════════════════════════════
           TESTIMONIALS SECTION 
        ═══════════════════════════════════════════════════════════════════ */
        .testimonials {
            padding: 100px 60px;
            background-color: var(--crema);
            width: 100%;
            overflow: hidden;
        }

        .testimonials-header {
            max-width: 1200px;
            margin: 0 auto 50px;
            text-align: center;
        }

        .google-logo {
            display: block;
            margin: 0 auto 16px auto;
            width: 48px;
            height: 48px;
        }

        .google-stars {
            display: flex;
            justify-content: center;
            gap: 4px;
            margin-bottom: 20px;
        }

        .testimonials-header h2 {
            font-family: 'EB Garamond', serif;
            font-size: clamp(32px, 4vw, 48px);
            color: var(--verde);
            margin-bottom: 15px;
            font-weight: 600;
            line-height: 1.1;
            letter-spacing: -0.01em;
        }

        .testimonials-header p {
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            color: rgba(53, 32, 22, 0.7);
            font-weight: 400;
            letter-spacing: 0.2px;
        }

        .testimonials-carousel-wrapper {
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
        }

        .testimonials-carousel {
            display: flex;
            gap: 24px;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            padding-bottom: 30px;
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
        .testimonials-carousel::-webkit-scrollbar {
            display: none;
        }

        .testimonial-card {
            flex: 0 0 calc(33.333% - 16px);
            min-width: 320px;
            scroll-snap-align: start;
            background: #FFFFFF;
            border-radius: 20px !important;
            padding: 32px;
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05) !important;
            border: 1px solid rgba(26, 46, 34, 0.03);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .testimonial-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08) !important;
        }

        .testimonial-top {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 20px;
        }

        .testimonial-author-wrap {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .testimonial-avatar {
            width: 50px;
            height: 50px;
            border-radius: 50% !important;
            object-fit: cover;
            border: 1px solid rgba(33, 69, 48, 0.1);
        }

        .testimonial-author-info {
            display: flex;
            flex-direction: column;
        }

        .testimonial-author-name {
            font-family: 'EB Garamond', serif;
            font-size: 20px;
            font-weight: 700;
            color: #1A2E22;
            line-height: 1.2;
        }

        .testimonial-rating {
            display: flex;
            gap: 2px;
            margin-bottom: 15px;
        }
        .testimonial-rating svg {
            width: 20px;
            height: 20px;
            fill: #FBBC05;
        }

        .testimonial-source {
            display: flex;
            align-items: center;
            gap: 6px;
            background: rgba(0,0,0,0.03);
            padding: 6px 10px;
            border-radius: 20px !important;
        }

        .testimonial-source svg {
            width: 18px;
            height: 18px;
        }

        .testimonial-source-text {
            font-family: 'Inter', sans-serif;
            font-size: 11px;
            font-weight: 600;
            color: rgba(53, 32, 22, 0.55);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            white-space: nowrap;
        }

        .testimonial-body {
            font-family: 'Inter', sans-serif;
            font-size: 18px;
            line-height: 1.6;
            color: rgba(53, 32, 22, 0.85);
            font-style: italic;
            display: -webkit-box;
            -webkit-line-clamp: 4;
            -webkit-box-orient: vertical;
            overflow: hidden;
            margin-bottom: 10px;
        }
        .testimonial-body.expanded {
            display: block !important;
            -webkit-line-clamp: none !important;
            overflow: visible !important;
        }
        .testimonial-video-wrapper:hover .testimonial-video-thumb {
            transform: scale(1.04);
        }
        .testimonial-video-wrapper:hover .testimonial-play-btn {
            transform: scale(1.1);
            background-color: var(--bg-cream) !important;
        }

        .testimonial-read-more {
            display: inline-block;
            margin-top: 15px;
            font-family: 'Inter', sans-serif;
            font-size: 15px;
            font-weight: 600;
            color: #1A2E22;
            text-decoration: none;
            border-bottom: 1px solid rgba(26, 46, 34, 0.2);
            padding-bottom: 2px;
            transition: border-color 0.2s ease, opacity 0.2s ease;
        }
        .testimonial-read-more:hover {
            border-color: #1A2E22;
            opacity: 0.8;
        }
        
        .testimonials-dots {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-top: 25px;
        }
        .testimonial-dot {
            width: 8px;
            height: 8px;
            border-radius: 50% !important;
            background-color: rgba(26, 46, 34, 0.15);
            cursor: pointer;
            transition: width 0.3s ease, background-color 0.3s ease, border-radius 0.3s ease;
        }
        .testimonial-dot.active {
            width: 24px;
            border-radius: 10px !important;
            background-color: #1A2E22;
        }

        @media (max-width: 1024px) {
            .testimonials { padding: 80px 30px; }
            .testimonial-card { flex: 0 0 calc(50% - 12px); min-width: 280px; }
        }

        @media (max-width: 768px) {
            .testimonials { padding: 50px 24px 30px !important; }
            .testimonials-header { margin: 0 auto 20px !important; }
            .google-logo { margin: 0 auto 8px auto !important; width: 36px !important; height: 36px !important; }
            .google-stars { margin-bottom: 12px !important; }
            .testimonials-header h2 { font-size: 28px; margin-bottom: 8px !important; }
            .testimonials-carousel { padding-bottom: 10px !important; }
            .testimonials-dots { margin-top: 5px !important; }
            
            .testimonial-card { 
                flex: 0 0 85%; 
                position: relative;
                min-height: 350px; 
                box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
                padding: 24px;
            }
            
            .testimonial-top { margin-bottom: 16px; }
            
            .testimonial-source {
                position: absolute;
                top: 24px;
                right: 24px;
                background: transparent !important;
                padding: 0 !important;
            }
            .testimonial-source svg { display: none !important; }
            .testimonial-source-text {
                font-size: 9px !important;
                color: rgba(26, 46, 34, 0.4) !important;
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }
        }

        /* ═══════════════════════════════════════════════════════════════════
           LYVANTO — PREMIUM MOBILE HERO (≤ 768px)
           Mobile-First luxury redesign. Desktop stays 100% untouched.
        ═══════════════════════════════════════════════════════════════════ */
        @media (max-width: 768px) {

            /* ── Transparent Nav over hero image ── */
            nav {
                background: transparent !important;
                backdrop-filter: none !important;
                -webkit-backdrop-filter: none !important;
                border-bottom: 1px solid transparent !important;
                box-shadow: none !important;
                padding: 16px 20px !important;
                display: flex !important;
                justify-content: space-between !important;
                align-items: center !important;
                width: 100% !important;
            }
            .logo-group {
                gap: 12px !important;
            }
            .logo-wordmark {
                display: none !important;
            }
            .logo-img {
                display: none !important;
            }
            .logo-principal-mobile-link {
                display: block !important;
            }
            .logo-principal-mobile {
                display: block !important;
                height: 27px !important;
                width: auto !important;
                object-fit: contain !important;
            }
            nav.scrolled .logo-principal-mobile {
                height: 22px !important;
            }
            #hero-eyebrow {
                position: static !important;
                transform: none !important;
                font-size: 11px !important;
                letter-spacing: 3px;
                color: #F5F2E8 !important;
                margin: 0 0 12px 0 !important;
                white-space: normal;
                text-transform: uppercase;
            }

            /* ── Scrolled state — nav "solidifies" smoothly ── */
            nav.scrolled {
                background: rgba(245, 242, 233, 0.96) !important;
                backdrop-filter: blur(14px) !important;
                -webkit-backdrop-filter: blur(14px) !important;
                border-bottom: 1px solid rgba(26, 46, 34, 0.08) !important;
                box-shadow: 0 2px 20px rgba(26, 46, 34, 0.08) !important;
            }

            /* ── Menu open state ── */
            nav.menu-open {
                background: rgba(245, 242, 233, 0.98) !important;
                backdrop-filter: blur(14px) !important;
                -webkit-backdrop-filter: blur(14px) !important;
                border-bottom: 1px solid rgba(26, 46, 34, 0.1) !important;
                box-shadow: 0 4px 20px rgba(26, 46, 34, 0.07) !important;
            }

            /* ── White logo & hamburger on transparent hero ── */
            nav:not(.scrolled):not(.menu-open) .mobile-menu-btn {
                color: rgba(245, 242, 233, 0.92);
            }
            nav:not(.scrolled):not(.menu-open) .logo-img img {
                filter: brightness(0) invert(1);
            }
            /* ── White logo principal on transparent hero ── */
            nav:not(.scrolled):not(.menu-open) .logo-principal-mobile {
                filter: brightness(0) invert(1);
            }

            /* ── Green logo & hamburger on scrolled nav ── */
            nav.scrolled .mobile-menu-btn,
            nav.menu-open .mobile-menu-btn {
                color: #1A2E22;
            }
            nav.scrolled .logo-img img,
            nav.menu-open .logo-img img {
                filter: none;
            }
            nav.scrolled .logo-principal-mobile,
            nav.menu-open .logo-principal-mobile {
                filter: none;
            }

            /* ── Hero container ── */
            .hero {
                padding: 0;
                min-height: 100svh;
                justify-content: center;
                padding-top: 0;
                padding-bottom: 48px;
                align-items: center;
                text-align: center;
            }
            .hero.search-expanded { padding-bottom: 48px; }

            /* ── Atmospheric gradient overlay ──
               Forest green at bottom (legibility), fades to transparent top  */
            .hero-bg {
                background-position: center 25%;
            }
            .hero-bg::after {
                content: '';
                position: absolute;
                inset: 0;
                background: linear-gradient(
                    to bottom,
                    rgba(0,0,0,0.4) 0%,
                    rgba(26, 46, 34, 0.2) 50%,
                    rgba(26, 46, 34, 0.7) 100%
                );
                z-index: 1;
            }

            /* Push content above overlay */
            .hero-content {
                position: relative;
                z-index: 3;
                width: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                text-align: center;
                padding: 0 24px;
                transform: translateY(10vh);
            }

            /* ── Typography ── */
            .hero h1, .hero #hero-title {
                font-size: clamp(32px, 9vw, 48px);
                line-height: 1.25;
                margin-bottom: 16px !important;
                max-width: 100%;
                color: #F5F2E9;
                text-align: center;
                text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5) !important;
            }
            .hero p {
                font-size: 15px;
                font-family: 'Inter', sans-serif;
                font-weight: 300;
                line-height: 1.65;
                max-width: 360px;
                margin: 0 auto 32px auto !important;
                color: rgba(245, 242, 233, 0.85);
                text-align: center;
            }

            /* ── Intent tabs — lightweight text links ── */
            .intention-selector {
                margin-top: 32px !important;
                justify-content: center;
                gap: 0;
                margin-bottom: 20px;
                max-width: 100%;
                background: transparent;
            }
            .intention-btn {
                background: transparent !important;
                border: none !important;
                color: rgba(245, 242, 233, 0.55);
                font-size: 10px;
                font-weight: 600;
                letter-spacing: 1.8px;
                padding: 6px 16px;
                position: relative;
                transition: color 0.25s ease;
                border-radius: 0 !important;
            }
            .intention-btn + .intention-btn {
                border-left: 1px solid rgba(245, 242, 233, 0.18) !important;
            }
            .intention-btn::after {
                content: '';
                position: absolute;
                bottom: 0;
                left: 16px;
                right: 16px;
                height: 1px;
                background: var(--crema);
                opacity: 0;
                transition: opacity 0.25s ease;
            }
            .intention-btn.is-active {
                color: var(--crema) !important;
                background: transparent !important;
            }
            .intention-btn.is-active::after { opacity: 1; }
            .intention-btn:hover { color: rgba(245, 242, 233, 0.85); }

            /* ── Smart search — glassmorphism pill ── */
            .smart-search-wrapper {
                max-width: 100%;
                width: 100%;
            }

            .smart-search-bar {
                flex-direction: row;
                align-items: center;
                background: rgba(26, 46, 34, 0.40) !important;
                backdrop-filter: blur(8px) !important;
                -webkit-backdrop-filter: blur(8px) !important;
                border: 0.5px solid rgba(245, 242, 233, 0.6) !important;
                border-radius: 2px !important;
                box-shadow: 0 4px 24px rgba(0,0,0,0.15) !important;
            }
            /* When focused — subtle brightening */
            .smart-search-wrapper.is-focused .smart-search-bar {
                background: rgba(26, 46, 34, 0.50) !important;
                border-color: rgba(245, 242, 233, 0.9) !important;
                border-radius: 2px !important;
                box-shadow: 0 4px 24px rgba(0,0,0,0.25) !important;
            }

            .search-icon {
                padding: 0 10px 0 18px;
                color: rgba(245, 242, 233, 0.7);
                opacity: 1;
                flex-shrink: 0;
                display: flex;
                align-items: center;
            }
            .smart-search-wrapper.is-focused .search-icon { color: var(--crema); opacity: 1; }

            .smart-search-input {
                flex: 1;
                padding: 17px 10px 17px 0;
                font-size: 15px;
                color: var(--crema);
                background: transparent !important;
                caret-color: var(--crema);
            }
            .smart-search-input::placeholder {
                color: rgba(245, 242, 233, 0.45);
                font-size: 13px;
                font-style: italic;
            }

            /* Dropdown adapts */
            .search-dropdown {
                background: rgba(245, 242, 233, 0.97) !important;
                backdrop-filter: blur(20px) !important;
                -webkit-backdrop-filter: blur(20px) !important;
                border: 1px solid rgba(245, 242, 233, 0.4) !important;
                border-top: none !important;
                border-radius: 0 0 6px 6px !important;
            }
            .search-dropdown.is-open {
                max-height: 340px;
            }
            .dropdown-footer { display: none; }
            .result-label { font-size: 13px; }
            .result-sub { font-size: 10px; }
        }

        @media (max-width: 768px) {
            /* ── BOUTIQUE CONSULTATION (CONTACT CARD) ── */
            .boutique-consultation {
                padding: 60px 20px !important;
                background-color: var(--crema) !important;
            }
            .consultation-container {
                display: flex !important;
                flex-direction: column !important;
                background: #FFFFFF !important;
                border-radius: 20px !important;
                box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05) !important;
                overflow: hidden !important;
            }
            .consultation-visual {
                min-height: 35vh !important;
                border-radius: 20px 20px 0 0 !important;
                background-position: center !important;
            }
            .consultation-content {
                padding: 30px 20px !important;
            }
            .consultation-content h2 {
                font-size: 32px !important;
                line-height: 1.1 !important;
                margin-bottom: 15px !important;
                text-align: center !important;
            }
            .consultation-content p {
                font-size: 14px !important;
                line-height: 1.5 !important;
                margin-bottom: 25px !important;
                color: rgba(53, 32, 22, 0.7) !important;
                text-align: center !important;
            }
            .consultation-actions {
                flex-direction: column !important;
                gap: 12px !important;
                align-items: center !important;
                width: 100% !important;
            }
            .consultation-actions .btn-primary,
            .consultation-actions .btn-secondary {
                width: auto !important;
                padding: 10px 24px !important;
                font-size: 10.5px !important;
                letter-spacing: 2px !important;
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
            }
            .consultation-actions .btn-secondary {
                border-width: 1px !important;
                border-color: rgba(33, 69, 48, 0.25) !important;
            }
            .consultation-action-group {
                gap: 6px !important;
                align-items: center !important;
                display: flex !important;
                flex-direction: column !important;
                width: 100% !important;
            }
            .consultation-micro-copy {
                font-size: 10px !important;
                font-style: italic !important;
                margin-top: 4px !important;
                line-height: 1.2 !important;
                text-align: center !important;
                color: rgba(53, 32, 22, 0.5) !important;
            }
        }

        /* ═══════════════════════════════════════════════════════════════════
           HERO — SMALL MOBILE (≤ 480px)
        ═══════════════════════════════════════════════════════════════════ */
        @media (max-width: 480px) {
            .hero {
                padding: 0 20px;
                padding-bottom: 40px;
            }
            .hero h1, .hero #hero-title {
                font-size: clamp(28px, 10vw, 40px);
            }
            .hero p {
                font-size: 15px;
                max-width: 300px;
                margin-bottom: 22px;
            }
            .intention-btn {
                font-size: 9px;
                padding: 5px 12px;
                letter-spacing: 1.5px;
            }
            .smart-search-input {
                padding: 15px 8px 15px 0;
                font-size: 14px;
            }
        }

/* ═══ TRABAJA CON NOSOTROS CTA ═══════════════════════════════════════ */
.careers-cta {
    padding: 40px 20px;
    background: radial-gradient(circle at center, #264230 0%, #1A2E22 100%);
    border-top: 1px solid rgba(33, 69, 48, 0.2);
    border-bottom: 1px solid rgba(33, 69, 48, 0.2);
    text-align: center;
    scroll-margin-top: 25vh;
}

.careers-cta-container {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.careers-cta-container h2 {
    font-family: 'EB Garamond', serif;
    font-size: 36px;
    color: #F5F2E8;
    margin: 0;
    letter-spacing: 0.02em;
    line-height: 1.25;
    font-weight: 600;
}

.careers-cta-container p {
    font-family: 'Inter', sans-serif;
    color: rgba(245, 242, 232, 0.65);
    font-size: 15px;
    margin: 0;
    line-height: 1.75;
    font-weight: 400;
    max-width: 520px;
}

.careers-cta-btn {
    display: inline-block;
    padding: 14px 44px;
    background: #F5F2E8;
    color: #1A2E22;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    border-radius: 3px;
    text-decoration: none;
    border: 1px solid #F5F2E8;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.careers-cta-btn:hover {
    background: transparent;
    color: #F5F2E8;
    border-color: rgba(245, 242, 232, 0.6);
    box-shadow: 0 4px 20px rgba(245, 242, 232, 0.15);
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .careers-cta {
        padding: 50px 40px;
        background-color: #1A2E22;
        background-image: repeating-linear-gradient(45deg, rgba(159,131,92,0.05) 0px, rgba(159,131,92,0.05) 2px, transparent 2px, transparent 8px), repeating-linear-gradient(-45deg, rgba(159,131,92,0.05) 0px, rgba(159,131,92,0.05) 2px, transparent 2px, transparent 8px);
        border-top: 0.5px solid #F5F2E8;
        border-bottom: 0.5px solid #F5F2E8;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
        position: relative;
        z-index: 5;
    }
    .careers-cta-container {
        gap: 28px;
    }
    .careers-cta-container h2 {
        font-size: 28px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center !important;
    }
    .careers-cta-container h2::after {
        content: '';
        display: block;
        width: 30px;
        height: 0.5px;
        background-color: #DFD8C4;
        margin-top: 24px;
        opacity: 0.8;
    }
    .careers-cta-container p {
        font-size: 16px;
        line-height: 1.7;
        color: rgba(245, 242, 232, 0.85);
        text-align: center !important;
    }
    .careers-cta-btn {
        padding: 16px 48px;
        font-size: 11px;
        border-radius: 2px !important;
        background: #F5F2E8 !important;
        color: #1A2E22 !important;
        border: 1px solid #1A2E22 !important;
        margin-top: 8px;
        letter-spacing: 2.5px;
    }
    .careers-cta-btn:hover {
        background: #1A2E22 !important;
        color: #F5F2E8 !important;
        border-color: #F5F2E8 !important;
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
        transform: translateY(-2px);
    }
}

/* =================================================================
   FOOTER — MOBILE BOUTIQUE DE LUJO (max-width: 768px)
================================================================= */
@media (max-width: 768px) {

    footer {
        padding: 24px 24px 20px;
        background-color: var(--verde);
        background-image:
            repeating-linear-gradient(45deg, rgba(245,242,232,0.035) 0px, rgba(245,242,232,0.035) 1px, transparent 1px, transparent 10px),
            repeating-linear-gradient(-45deg, rgba(245,242,232,0.035) 0px, rgba(245,242,232,0.035) 1px, transparent 1px, transparent 10px);
    }


    /* ── Newsletter ── */
    .newsletter-section {
        flex-direction: column;
        gap: 0;
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .newsletter-text {
        flex: none;
        width: 100%;
        margin-bottom: 14px;
    }
    .newsletter-text h4::before {
        content: '\2726';
        display: block;
        font-size: 16px;
        color: #C9A84C;
        margin-bottom: 10px;
        -webkit-text-fill-color: #C9A84C;
        text-shadow: 0 0 10px rgba(201,168,76,0.5);
    }
    .newsletter-text h4 {
        font-size: 26px;
        font-weight: 600;
        line-height: 1.2;
        color: #F5F2E8 !important;
        margin: 0 0 14px;
        filter: drop-shadow(0 1px 2px rgba(0,0,0,0.4));
    }
    .newsletter-text p {
        font-size: 13px;
        line-height: 1.8;
        color: rgba(245,242,232,0.65);
    }
    .newsletter-form-container {
        flex: none;
        width: 100%;
        background: rgba(201,168,76,0.04);
        border: 0.5px solid rgba(201,168,76,0.2);
        padding: 14px;
        margin-bottom: 18px;
        box-sizing: border-box;
    }
    .newsletter-form { gap: 18px; }
    .newsletter-input-group {
        flex-direction: column;
        gap: 16px;
        border: none;
        background: transparent;
    }
    #newsletter-input {
        border: none !important;
        border-bottom: 1px solid rgba(201,168,76,0.45) !important;
        padding: 10px 0 !important;
        font-size: 14px;
    }
    #newsletter-input:-webkit-autofill,
    #newsletter-input:-webkit-autofill:focus {
        -webkit-box-shadow: 0 0 0 1000px #111f17 inset !important;
    }
    .newsletter-btn {
        width: 100%;
        padding: 14px;
        background: #F5F2E8;
        color: #1a2e22;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 3px;
        border: none;
        box-shadow: 0 2px 12px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.2);
    }
    .newsletter-btn:not(:disabled):hover {
        background-color: #ffffff;
        color: #111f17;
    }
    .newsletter-privacy { gap: 10px; align-items: center; }
    .newsletter-privacy input[type="checkbox"] { display: none; }
    .newsletter-privacy::before {
        content: '';
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 16px;
        height: 16px;
        min-width: 16px;
        background: #F5F2E8;
        color: #1a2e22;
        font-size: 10px;
        font-weight: 900;
        border-radius: 2px;
        box-shadow: 0 1px 4px rgba(0,0,0,0.15);
        transition: background-color 0.2s ease, border-color 0.2s ease;
    }
    .newsletter-privacy:has(input[type="checkbox"]:checked)::before {
        content: '\2713';
    }
    .newsletter-privacy span { font-size: 10px; color: rgba(245,242,232,0.55); }
    .newsletter-divider {
        background: linear-gradient(90deg, transparent, rgba(201,168,76,0.3), transparent);
        height: 1px;
        margin-bottom: 18px;
    }

    /* ── Identidad de Marca (footer-brand full-width) ── */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto auto;
        gap: 0;
        margin-bottom: 14px;
    }
    /* footer-brand ocupa las 2 columnas */
    .footer-grid > .footer-brand {
        grid-column: 1 / -1;
        grid-row: 1;
    }
    /* EXPLORAR — columna izquierda, abarca filas 2 y 3 */
    .footer-grid > .footer-links:nth-child(2) {
        grid-column: 1;
        grid-row: 2 / 4;
        border-right: 0.5px solid rgba(201,168,76,0.12);
        padding-right: 14px;
        margin-bottom: 0;
    }
    /* COMPAÑÍA — columna derecha, fila 2 */
    .footer-grid > .footer-links:nth-child(3) {
        grid-column: 2;
        grid-row: 2;
        padding-left: 14px;
        border-top: 0.5px solid rgba(201,168,76,0.15);
        margin-bottom: 0;
    }
    /* CONTACTO — columna derecha, fila 3 */
    .footer-grid > .footer-links:nth-child(4) {
        grid-column: 2;
        grid-row: 3;
        padding-left: 14px;
        border-top: 0.5px solid rgba(201,168,76,0.15);
        margin-bottom: 0;
    }
    .footer-logo {
        font-size: 30px;
        letter-spacing: 7px;
        color: #F5F2E8;
        -webkit-text-fill-color: #F5F2E8;
        filter: drop-shadow(0 1px 3px rgba(0,0,0,0.5));
        margin-bottom: 10px;
    }
    #footer-p {
        font-size: 13px !important;
        line-height: 1.7 !important;
        color: rgba(223,216,196,0.5) !important;
        padding-bottom: 14px;
    }
    #footer-p::after {
        content: ' \2726';
        color: rgba(245, 242, 232, 0.6);
        font-size: 10px;
    }

    /* ── Capítulos de Autor (estilos comunes) ── */
    .footer-links {
        border-left: none;
        border-top: 0.5px solid rgba(201,168,76,0.15);
        padding-left: 0;
        padding-top: 10px;
        margin-bottom: 0;
    }
    .footer-links:nth-child(2) h5::before { content: '\25CE\0020'; }
    .footer-links:nth-child(3) h5::before { content: '\2767\0020'; }
    .footer-links:nth-child(4) h5::before { content: '\25C8\0020'; }
    .footer-links h5 {
        color: #C9A84C;
        font-size: 10px;
        letter-spacing: 4px;
        margin-bottom: 14px;
        text-shadow: 0 0 8px rgba(201,168,76,0.25);
    }
    .footer-links li {
        margin-bottom: 6px;
        padding-left: 0;
        position: relative;
    }
    .footer-links li::before {
        content: '';
    }
    .footer-links a {
        font-family: 'EB Garamond', serif;
        font-size: 16px;
        color: rgba(223,216,196,0.7);
        letter-spacing: 0.02em;
    }
    .footer-links a:hover { color: #C9A84C; }
    
    /* Center bottom legal bar */
    .footer-bottom-bar {
        flex-direction: column !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 16px !important;
        padding-bottom: 20px;
    }
    .footer-bottom-bar > #footer-copy {
        order: 1 !important;
    }
    .footer-bottom-bar > .footer-legal-links {
        order: 2 !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
    }
    .footer-bottom-bar > .footer-credit {
        order: 3 !important;
    }
}

/* ── SKELETON SHIMMER LOADERS FOR PORTFOLIO GRID ── */
.landing-skeleton {
    background: rgba(33, 69, 48, 0.05);
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 420px;
    border: 1px solid rgba(33, 69, 48, 0.08);
}
.landing-skeleton::after {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    transform: translateX(-100%);
    background-image: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.25) 20%,
        rgba(255, 255, 255, 0.4) 60%,
        rgba(255, 255, 255, 0) 100%
    );
    animation: shimmer-load 1.5s infinite;
}
@keyframes shimmer-load {
    100% {
        transform: translateX(100%);
    }
}

/* ── Unified Premium Mobile Nav Overlay (Lyvanto Boutique Style) ── */
.mobile-only-link {
    display: none !important;
}

@media (max-width: 992px) {
    /* 1. Backdrop Navigation container with fade-in and 10px slide-down */
    nav.menu-open {
        height: 100vh !important;
        background: #1A2E22 !important; /* Deep Forest Green luxury backdrop */
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        border-bottom: 1px solid rgba(166, 137, 102, 0.15) !important;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
        padding-top: 0 !important;
        opacity: 0;
        transform: translateY(-10px) !important;
        animation: menuOverlayFadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
    }

    @keyframes menuOverlayFadeIn {
        to {
            opacity: 1;
            transform: translateY(0) !important;
        }
    }

    /* 2. Top Header alignment: Logo on the left, "X" on the right */
    nav.menu-open .logo-group {
        position: absolute !important;
        top: 32px !important;
        left: 24px !important;
        transform: none !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 1002 !important;
    }
    
    nav.menu-open .logo-img {
        margin: 0 !important;
        padding: 0 !important;
        display: none !important;
    }

    nav.menu-open .logo-img img {
        height: 38px !important;
        filter: brightness(0) invert(1) !important;
        transform: scale(1.4) !important;
        transform-origin: left center !important;
    }

    nav.menu-open .logo-principal-mobile {
        display: block !important;
        height: 26px !important;
        width: auto !important;
        filter: brightness(0) invert(1) !important;
    }

    nav.menu-open .mobile-menu-btn {
        position: absolute !important;
        top: 32px !important;
        right: 24px !important;
        color: #F5F2E8 !important; /* Premium cream color for close icon */
        background: transparent !important;
        border: none !important;
        z-index: 1002 !important;
        display: block !important;
        padding: 6px !important;
    }

    /* Animation of rotation on appear for close icon */
    nav.menu-open .mobile-menu-btn svg {
        width: 24px !important;
        height: 24px !important;
        stroke: currentColor !important;
        stroke-width: 1.2 !important;
        transform: rotate(-90deg);
        opacity: 0;
        animation: rotateX 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards !important;
    }

    @keyframes rotateX {
        to {
            transform: rotate(0);
            opacity: 1;
        }
    }

    /* 3. Center Section: Links (Generous padding, EB Garamond, fine line under active/hover) */
    nav.menu-open .nav-center {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        position: absolute !important;
        top: 44% !important;
        left: 0 !important;
        width: 100% !important;
        gap: 11px !important;
        padding: 0 20px !important;
        transform: translateY(-50%) !important;
        background: transparent !important;
        opacity: 0;
        animation: menuCenterSlideDown 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards !important;
    }

    @keyframes menuCenterSlideDown {
        from {
            opacity: 0;
            transform: translateY(calc(-50% - 10px)) !important;
        }
        to {
            opacity: 1;
            transform: translateY(-50%) !important;
        }
    }

    nav.menu-open .nav-link {
        font-family: 'EB Garamond', serif !important; /* High-end brand typography */
        font-size: 19px !important; /* Slightly smaller size as requested to fit perfectly */
        font-weight: 400 !important;
        letter-spacing: 2.5px !important; /* Elegant slightly reduced letter spacing */
        color: #F5F2E8 !important; /* Cream text */
        text-transform: uppercase !important;
        text-decoration: none !important;
        padding: 6px 0 !important; /* Generous breathing room */
        position: relative !important;
        transition: color 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
        opacity: 0.8 !important;
        line-height: 1.3 !important;
        text-align: center !important;
        display: block !important;
        width: 100% !important;
    }

    /* Long and fine horizontal line that appears under hover / active */
    nav.menu-open .nav-link::after {
        content: "" !important;
        position: absolute !important;
        bottom: 2px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 0% !important;
        height: 1px !important;
        background-color: #A68966 !important; /* Bronze/gold color */
        transition: width 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
        display: block !important;
    }

    nav.menu-open .nav-link::before {
        display: none !important;
    }

    nav.menu-open .nav-link:hover::after,
    nav.menu-open .nav-link.active-link::after {
        width: 120px !important; /* Long and fine horizontal line */
    }

    nav.menu-open .nav-link:hover,
    nav.menu-open .nav-link.active-link {
        color: #A68966 !important; /* Luxury bronze color on hover / active */
        opacity: 1 !important;
        letter-spacing: 4px !important;
    }

    nav.menu-open .mobile-only-link {
        display: block !important;
    }

    /* 4. Bottom Section: Social Icons (no contact button on mobile) */
    nav.menu-open .nav-right {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-end !important;
        position: absolute !important;
        bottom: 75px !important;
        left: 0 !important;
        width: 100% !important;
        padding: 0 40px !important;
        gap: 24px !important;
        background: transparent !important;
        border: none !important;
        opacity: 0;
        animation: menuRightSlideDown 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.25s forwards !important;
    }

    @keyframes menuRightSlideDown {
        from {
            opacity: 0;
            transform: translateY(10px) !important;
        }
        to {
            opacity: 1;
            transform: translateY(0) !important;
        }
    }

    /* Hide contact button on mobile menu */
    nav.menu-open .btn-nav-solid {
        display: none !important;
    }

    nav.menu-open .btn-nav-outline {
        display: none !important; /* Hide secondary outlines in menu if any */
    }

    /* Social icons — 4 icons row */
    nav.menu-open .mobile-nav-footer {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 16px !important;
        margin-top: 0 !important;
    }

    nav.menu-open .mnf-socials {
        display: flex !important;
        gap: 28px !important;
        align-items: center !important;
    }

    nav.menu-open .mnf-socials a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        border: 1px solid rgba(245, 242, 232, 0.15) !important;
        border-radius: 50% !important;
        color: rgba(245, 242, 232, 0.6) !important;
        text-decoration: none !important;
        transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    }

    nav.menu-open .mnf-socials a:hover {
        color: #A68966 !important;
        border-color: rgba(166, 137, 102, 0.4) !important;
        background: rgba(166, 137, 102, 0.08) !important;
        transform: translateY(-2px) !important;
    }

    nav.menu-open .mnf-copyright {
        font-family: 'Inter', sans-serif !important;
        font-size: 10px !important; /* Discreet copyright */
        letter-spacing: 1.5px !important;
        color: rgba(245, 242, 232, 0.25) !important;
        text-align: center !important;
        text-transform: uppercase !important;
    }
}

/* ── HERO & SMART SEARCH RESPONSIVE UPGRADE ── */
@media (max-width: 768px) {
    .hero {
        padding: 120px 24px 80px !important; /* Elegant breathing padding */
        min-height: 100vh !important; /* Force the cinematic background to occupy the full vertical mobile screen */
        min-height: 100svh !important; /* Modern mobile dynamic viewport support */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .hero-content {
        transform: none !important; /* Reset translateY transform as 100vh flexbox handles natural centering */
        width: 100% !important;
    }
    #hero-title {
        font-size: clamp(30px, 8vw, 40px) !important;
        line-height: 1.15 !important;
        margin-bottom: 16px !important;
    }
    #hero-p {
        font-size: 15px !important;
        line-height: 1.6 !important;
        margin-bottom: 24px !important;
    }
    .intention-selector {
        justify-content: center !important;
        margin-bottom: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .intention-btn {
        padding: 8px 20px !important;
        font-size: 10px !important;
        flex: 1 !important;
        text-align: center !important;
        max-width: 150px !important;
    }
    .smart-search-wrapper {
        max-width: 100% !important;
        width: 100% !important;
    }
    .smart-search-bar {
        display: flex !important;
        flex-direction: row !important; /* Restore the original premium horizontal layout */
        flex-wrap: nowrap !important; /* Force all items to remain side-by-side without wrapping */
        align-items: center !important;
        background: rgba(249, 246, 238, 0.98) !important; /* Beautiful cream background wrapper */
        border: none !important;
        border-radius: 4px !important;
        height: 56px !important; /* Perfect ergonomical mobile height */
        padding: 4px !important; /* Inset padding for the inline button */
        box-shadow: 0 8px 24px rgba(0,0,0,0.16) !important;
        position: relative !important;
        width: 100% !important;
    }
    /* Retain unified cream background when focused on mobile */
    .smart-search-wrapper.is-focused .smart-search-bar {
        background: rgba(249, 246, 238, 0.98) !important;
        border: none !important;
        box-shadow: 0 8px 32px rgba(0,0,0,0.22) !important;
    }
    .smart-search-input {
        flex: 1 !important;
        min-width: 0 !important; /* Prevent text box from taking up full width and pushing button below */
        background: transparent !important; /* Inherit bar background */
        background-image: none !important; /* Reset CSS background SVG */
        height: 100% !important;
        padding: 0 8px 0 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important; /* Remove individual shadow, wrapper has it */
        font-size: 14px !important;
        color: #352016 !important;
        position: static !important;
        z-index: auto !important;
    }
    .search-icon {
        display: flex !important; /* Show magnifying glass icon side-by-side */
        position: static !important;
        transform: none !important;
        padding: 0 8px 0 14px !important; /* Symmetric margins */
        color: #214530 !important;
        opacity: 0.65 !important;
        flex-shrink: 0 !important;
        align-items: center !important;
    }
    .search-cta-btn {
        display: flex !important; /* Show real inline search button */
        height: 100% !important; /* Stretch to fill container height (minus padding) */
        width: auto !important; /* Fit text width */
        flex-shrink: 0 !important; /* Guarantee button does not shrink or wrap */
        padding: 0 18px !important; /* Elegant side padding */
        border-radius: 2px !important;
        background: #214530 !important; /* Elegant brand forest green */
        color: #F5F2E8 !important; /* Crema text */
        font-size: 11px !important;
        letter-spacing: 1.5px !important;
        font-weight: 700 !important;
        box-shadow: none !important; /* Clear inline shadow */
    }
    .search-cta-btn:hover {
        background: #1A2E22 !important;
        letter-spacing: 2px !important;
    }
    .search-dropdown {
        top: 100% !important; /* Position dynamically below the entire search bar and button */
        margin-top: 8px !important;
        border-radius: 4px !important;
    }
}

/* ── FOOTER CONTACT NUMBERS BOOST ── */
.footer-links a[href^="tel:"] {
    font-size: 18px !important;
}
.footer-links a[href^="tel:"] span {
    font-size: 11px !important;
}
@media (max-width: 768px) {
    .footer-links a[href^="tel:"] {
        font-size: 20px !important;
    }
    .footer-links a[href^="tel:"] span {
        font-size: 12px !important;
    }
}

/* ── NEWSLETTER TITLE COLOR BY USER REQUEST ── */
.newsletter-text h4 {
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: #F5F2E8 !important; /* Beautiful premium bone white/crema */
    color: #F5F2E8 !important;
    background-clip: initial !important;
}

/* ── BRAND MANIFESTO (QUIÉNES SOMOS EXTENDED) ── */
.brand-manifesto {
    padding: 120px 100px;
    background-color: #F5F2E8; /* Soft bone/sand background */
    border-top: 1px solid rgba(26, 46, 34, 0.08);
    position: relative;
    overflow: hidden;
}

.manifesto-container {
    max-width: 1200px;
    margin: 0 auto;
}

.manifesto-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 80px;
    align-items: center;
}

.manifesto-narrative {
    display: flex;
    flex-direction: column;
}

.manifesto-title {
    font-size: clamp(38px, 4.5vw, 54px);
    color: var(--marron);
    line-height: 1.15;
    margin-bottom: 24px;
    font-family: 'EB Garamond', serif;
}

.manifesto-separator {
    width: 60px;
    height: 1px;
    background-color: var(--bronce);
    margin: 16px 0 32px 0;
}

.manifesto-lead {
    font-family: 'EB Garamond', serif;
    font-size: 21px;
    line-height: 1.7;
    color: var(--marron);
    margin-bottom: 40px;
    opacity: 0.9;
}

.manifesto-pillars {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.manifesto-pillar {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.pillar-num {
    font-family: 'EB Garamond', serif;
    font-size: 24px;
    color: var(--bronce);
    font-weight: 500;
    line-height: 1;
    border-bottom: 1px solid rgba(166, 137, 102, 0.3);
    padding-bottom: 4px;
}

.pillar-content {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pillar-title {
    font-family: 'EB Garamond', serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--verde);
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.pillar-desc {
    font-family: 'Inter', sans-serif;
    font-size: 13.5px;
    color: rgba(53, 32, 22, 0.7);
    line-height: 1.6;
    font-weight: 300;
}

/* Collage */
.collage-wrapper {
    position: relative;
    padding-bottom: 60px; /* Space for floating overlap */
}

.collage-main {
    width: 100%;
    height: 480px;
    overflow: hidden;
    position: relative;
    border: 1px solid rgba(26, 46, 34, 0.1);
}

.collage-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.collage-main:hover img {
    transform: scale(1.04);
}

.collage-accent {
    position: absolute;
    width: 240px;
    height: 300px;
    bottom: -20px;
    left: -40px;
    overflow: hidden;
    border: 8px solid #F5F2E8; /* Frame matches background */
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.18);
    z-index: 10;
    transition: transform 0.5s ease;
}

.collage-accent img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.collage-accent:hover {
    transform: translateY(-5px);
}

/* Responsiveness */
@media (max-width: 992px) {
    .brand-manifesto {
        padding: 80px 40px;
    }
    .manifesto-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }
    .collage-wrapper {
        max-width: 500px;
        margin: 0 auto;
    }
    .collage-accent {
        width: 180px;
        height: 240px;
        left: -20px;
    }
}

@media (max-width: 480px) {
    .brand-manifesto {
        padding: 60px 24px;
    }
    .manifesto-title {
        font-size: 32px;
    }
    .manifesto-lead {
        font-size: 18px;
    }
    .collage-accent {
        width: 150px;
        height: 200px;
        left: -10px;
    }
}

/* ── MANIFESTO THREE COLUMNS ── */
.manifesto-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
    margin-top: 80px;
    border-top: 1px solid rgba(26, 46, 34, 0.08);
    padding-top: 60px;
}

.manifesto-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.manifesto-col .pillar-num {
    align-self: flex-start;
}

.col-headline {
    font-family: 'EB Garamond', serif;
    font-size: 20px;
    font-weight: 500;
    color: var(--verde);
    line-height: 1.3;
}

.col-text {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: rgba(53, 32, 22, 0.75);
    line-height: 1.7;
    font-weight: 300;
    text-align: justify;
}

/* Responsive columns with high-end mobile experience */
@media (max-width: 992px) {
    .manifesto-columns {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-top: 50px;
        padding-top: 30px;
        border-top: none;
    }
    
    .manifesto-col {
        background: var(--blanco) !important;
        border: 1px solid rgba(166, 137, 102, 0.18) !important;
        padding: 40px 24px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 16px;
        box-shadow: 0 12px 35px rgba(53, 32, 22, 0.03) !important;
        position: relative;
    }

    .manifesto-col::before {
        content: '';
        position: absolute;
        top: 8px; left: 8px; right: 8px; bottom: 8px;
        border: 1px solid rgba(166, 137, 102, 0.06);
        pointer-events: none;
    }
    
    .manifesto-col .pillar-num {
        align-self: center;
        background-color: var(--verde) !important;
        color: var(--crema) !important;
        width: 54px;
        height: 54px;
        border-radius: 50% !important;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'EB Garamond', serif;
        font-size: 20px;
        font-weight: 500;
        border: 1px solid var(--bronce) !important;
        padding-bottom: 0 !important;
        margin-bottom: 8px;
        box-shadow: 0 4px 10px rgba(33, 69, 48, 0.15) !important;
    }
    
    .col-headline {
        font-size: 21px;
        letter-spacing: -0.01em;
        text-align: center;
    }
    
    .col-text {
        text-align: center;
        font-size: 13.5px;
        line-height: 1.65;
        color: rgba(53, 32, 22, 0.8);
    }
}

/* ── High-Quality Cropped Branding Wordmark Image styling ── */
.logo-wordmark-name-img {
    height: 28px;
    width: auto;
    display: block;
    object-fit: contain;
    transition: opacity 0.3s ease;
}
.logo-wordmark:hover .logo-wordmark-name-img {
    opacity: 0.8;
}

/* ── Forzar color crema para el título de la newsletter en pc y móvil ── */
#newsletter-h4 {
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: #F5F2E8 !important;
    color: #F5F2E8 !important;
}
