@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap";:root{--color-bg: hsl(35, 45%, 96%);--color-bg-2: hsl(35, 35%, 92%);--color-surface: hsla(35, 60%, 99%, .85);--color-surface-2: hsla(35, 40%, 94%, .95);--color-border: hsla(35, 20%, 30%, .08);--color-border-light: hsla(35, 20%, 30%, .16);--color-text: hsl(35, 25%, 15%);--color-text-muted: hsl(35, 14%, 42%);--color-text-dim: hsl(35, 8%, 58%);--color-accent: hsl(28, 55%, 46%);--color-accent-light: hsl(28, 55%, 56%);--color-accent-dim: hsl(28, 48%, 35%);--color-accent-glow: hsla(28, 55%, 46%, .08);--color-success: hsl(145, 60%, 35%);--color-warning: hsl(38, 90%, 42%);--color-error: hsl(0, 70%, 45%);--glass-bg: hsla(0, 0%, 100%, .65);--glass-border: hsla(35, 20%, 30%, .08);--glass-blur: blur(20px) saturate(1.4);--gradient-hero: linear-gradient(135deg, hsl(35, 45%, 96%) 0%, hsl(35, 30%, 92%) 100%);--gradient-accent: linear-gradient(135deg, hsl(35, 65%, 68%), hsl(22, 55%, 45%));--gradient-card: linear-gradient(160deg, hsla(0, 0%, 100%, .85), hsla(35, 30%, 97%, .9));--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Playfair Display", Georgia, serif;--text-xs: clamp(.7rem, 1.5vw, .75rem);--text-sm: clamp(.8rem, 1.8vw, .875rem);--text-base: clamp(.9rem, 2vw, 1rem);--text-lg: clamp(1rem, 2.2vw, 1.125rem);--text-xl: clamp(1.1rem, 2.5vw, 1.25rem);--text-2xl: clamp(1.3rem, 3vw, 1.5rem);--text-3xl: clamp(1.6rem, 4vw, 2rem);--text-4xl: clamp(2rem, 5vw, 2.75rem);--text-hero: clamp(2.5rem, 7vw, 4.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .375rem;--radius: .75rem;--radius-lg: 1.25rem;--radius-xl: 2rem;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(77, 60, 50, .08), 0 1px 2px rgba(77, 60, 50, .04);--shadow: 0 8px 24px rgba(77, 60, 50, .08), 0 2px 6px rgba(77, 60, 50, .04);--shadow-lg: 0 20px 48px rgba(77, 60, 50, .15), 0 4px 14px rgba(77, 60, 50, .08);--shadow-accent: 0 0 25px var(--color-accent-glow), 0 4px 15px rgba(178, 94, 43, .12);--transition-fast: .15s ease;--transition: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--container-max: 1280px;--container-pad: clamp(1rem, 5vw, 2.5rem);--header-height: 4.5rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);background-image:var(--gradient-hero);line-height:1.6;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(hsla(35,20%,30%,.04) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;z-index:-1}body:after{content:"";position:fixed;inset:0;background-image:url(/hero-beach-luxury.png);background-size:cover;background-position:center;opacity:.04;pointer-events:none;z-index:-2}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit}ul,ol{list-style:none}input,textarea,select{font:inherit}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3{font-family:var(--font-display);line-height:1.2;letter-spacing:-.02em;color:var(--color-text)}h4,h5,h6{font-family:var(--font-body);font-weight:600;line-height:1.3}h1{font-size:var(--text-hero);font-weight:700}h2{font-size:var(--text-4xl);font-weight:700}h3{font-size:var(--text-2xl);font-weight:600}h4{font-size:var(--text-xl)}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-text-muted)}.site-header{position:sticky;top:0;z-index:100;height:var(--header-height);display:flex;align-items:center;background:#f7f3edd9;backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border-bottom:1px solid var(--glass-border);transition:background var(--transition),border-color var(--transition),box-shadow var(--transition)}.site-header.scrolled{box-shadow:0 4px 20px #4d3c320d}.site-header.home-header{position:absolute;left:0;right:0;background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.site-header.home-header.scrolled{position:fixed;background:#f7f3edd9;backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border-bottom-color:var(--glass-border);box-shadow:0 4px 20px #4d3c320d}.site-header.home-header:not(.scrolled) .nav-link{color:#fefdfbcc}.site-header.home-header:not(.scrolled) .nav-link:hover,.site-header.home-header:not(.scrolled) .nav-link.active{color:#fff;background:#ffffff1a}.site-header.home-header:not(.scrolled) .logo-text{color:#fff}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.logo{display:flex;align-items:center;gap:var(--space-3);font-weight:700;font-size:var(--text-xl);letter-spacing:-.02em;transition:opacity var(--transition-fast)}.logo:hover{opacity:.85}.logo-icon{width:36px;height:36px;background:var(--gradient-accent);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:var(--shadow-accent)}.logo-img{width:36px;height:36px;border-radius:var(--radius-sm);object-fit:cover;box-shadow:var(--shadow-accent)}.logo-text{color:var(--color-text)}.logo-text span{color:var(--color-accent)}.site-nav{display:flex;align-items:center;gap:var(--space-1)}.nav-link{padding:var(--space-2) var(--space-4);border-radius:var(--radius);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);transition:color var(--transition-fast),background var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--color-text);background:#5c4f3d0d}.nav-cta{padding:var(--space-2) var(--space-5);background:var(--gradient-accent);color:#fff;font-weight:700;font-size:var(--text-sm);border-radius:var(--radius-full);transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast);box-shadow:0 2px 12px var(--color-accent-glow)}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 4px 20px var(--color-accent-glow);filter:brightness(1.1)}@media(max-width:640px){.site-nav{display:none}}.hero{position:relative;overflow:hidden;padding:clamp(8rem,15vw,12rem) 0 clamp(6rem,10vw,8rem);text-align:center;background-image:linear-gradient(to bottom,rgba(35,25,15,.45) 0%,rgba(35,25,15,.3) 60%,var(--color-bg) 100%),url(/hero-beach-luxury.png);background-size:cover;background-position:center;color:#fff}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.05),transparent 70%);pointer-events:none}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#ffffff1a;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:#fff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeInDown .6s ease both}.hero-title{font-size:var(--text-hero);font-weight:700;margin-bottom:var(--space-6);color:#fff;animation:fadeInUp .7s ease .1s both}.hero-title .highlight{background:linear-gradient(135deg,#f5c889,#e2b678);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-subtitle{font-size:var(--text-xl);color:#ffffffe6;max-width:600px;margin-inline:auto;margin-bottom:var(--space-10);line-height:1.7;animation:fadeInUp .7s ease .2s both}.hero .field label{color:#ffffffe6}.search-box{max-width:860px;margin-inline:auto;padding:var(--space-5) var(--space-6);border-radius:var(--radius-xl);animation:fadeInUp .7s ease .3s both}.search-box form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:var(--space-3);align-items:end}@media(max-width:700px){.search-box form{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field label{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.field select,.field input{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--text-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);appearance:none;-webkit-appearance:none}.field select:focus,.field input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.field select option{background:var(--color-surface-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-size:var(--text-sm);font-weight:600;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:0 2px 12px var(--color-accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--color-accent-glow);filter:brightness(1.08)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface);border-color:var(--color-border-light);transform:translateY(-1px)}.btn-ghost{color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-ghost:hover{color:var(--color-text);background:#5c4f3d0d;border-color:var(--color-border-light)}.btn-whatsapp{background:linear-gradient(135deg,#1da54f,#13863d);color:#fff;box-shadow:0 2px 12px #1da54f4d}.btn-whatsapp:hover{transform:translateY(-2px);box-shadow:0 6px 24px #1da54f66}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base);border-radius:var(--radius-lg)}.stats-bar{padding:var(--space-8) 0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);margin:var(--space-12) 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-6);text-align:center}.stat-number{font-size:var(--text-3xl);font-weight:800;background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:var(--font-display)}.stat-label{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.section{padding:var(--space-16) 0}.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-10);gap:var(--space-4);flex-wrap:wrap}.section-title{font-size:var(--text-3xl)}.section-subtitle{font-size:var(--text-base);color:var(--color-text-muted);margin-top:var(--space-2);font-family:var(--font-body)}.propiedades-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:var(--space-6)}.propiedad-card{display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;background:var(--gradient-card);border:1px solid var(--color-border);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);position:relative}.propiedad-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px #4d3c321f,0 0 0 1px #b6713526;border-color:var(--color-accent-light)}.card-image-wrap{position:relative;overflow:hidden;aspect-ratio:16 / 10}.card-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.propiedad-card:hover .card-image-wrap img{transform:scale(1.05)}.card-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-surface),var(--color-surface-2));display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--color-text-dim)}.card-badges{position:absolute;top:var(--space-3);left:var(--space-3);display:flex;gap:var(--space-2);flex-wrap:wrap}.badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid transparent}.badge-venta{background:#196639cc;color:#fff;border-color:#2eb8674d}.badge-alquiler{background:#174d82cc;color:#fff;border-color:#2680d94d}.badge-reservado{background:#734d0dcc;color:#fff;border-color:#cf8b174d}.badge-vendido{background:#7a1f1fcc;color:#fff;border-color:#cc33334d}.badge-tipo{background:#30281db3;color:#fff;border-color:#705d4340}.card-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);flex:1}.card-precio{font-size:var(--text-2xl);font-weight:800;font-family:var(--font-display);background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;color:transparent}.card-precio-label{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-body);font-weight:500}.card-titulo{font-size:var(--text-lg);font-weight:600;font-family:var(--font-body);color:var(--color-text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-ubicacion{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.card-ubicacion svg{flex-shrink:0;opacity:.75;color:var(--color-accent)}.card-specs{display:flex;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap}.spec-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.spec-item svg{opacity:.75;color:var(--color-accent)}.spec-value{font-weight:600;color:var(--color-text)}.card-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);display:flex;gap:var(--space-3)}.card-footer .btn{flex:1}.lead-section{padding:var(--space-20) 0;position:relative}.lead-wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start}@media(max-width:768px){.lead-wrap{grid-template-columns:1fr}}.lead-info h2{margin-bottom:var(--space-4)}.lead-info p{color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--space-6)}.lead-features{display:flex;flex-direction:column;gap:var(--space-4)}.lead-feature{display:flex;align-items:flex-start;gap:var(--space-4)}.feature-icon{width:42px;height:42px;background:var(--color-accent-glow);border:1px solid hsla(42,90%,58%,.2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.feature-text strong{display:block;font-weight:600;margin-bottom:var(--space-1);font-size:var(--text-sm)}.feature-text span{font-size:var(--text-sm);color:var(--color-text-muted)}.contact-form{padding:var(--space-8);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);letter-spacing:.02em}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--text-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-dim)}.form-group textarea{resize:vertical;min-height:110px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.form-success{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:#28bd661f;border:1px solid hsla(145,65%,45%,.25);border-radius:var(--radius);color:#6ce09c;font-size:var(--text-sm);font-weight:500}.team-section-title{font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-8);font-family:var(--font-display);color:var(--color-text);text-align:center}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);margin-bottom:var(--space-12)}.team-card{border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);border:1px solid var(--color-border);height:100%}.team-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #4d3c321a,0 0 0 1px #b6713526;border-color:var(--color-accent-light)}.team-img-wrap{aspect-ratio:1 / 1;overflow:hidden;position:relative;background:var(--color-surface-2)}.team-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.team-card:hover .team-img-wrap img{transform:scale(1.04)}.team-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.team-role{font-size:var(--text-xs);font-weight:700;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.team-name{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin-bottom:var(--space-1)}.team-bio{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5;flex:1;margin-bottom:var(--space-3)}.team-contact{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-text);transition:color var(--transition-fast)}.team-contact:hover{color:var(--color-accent)}.team-contact svg{color:var(--color-accent)}.detail-hero{display:grid;grid-template-columns:1fr 380px;gap:var(--space-8);align-items:start;padding:var(--space-10) 0}@media(max-width:900px){.detail-hero{grid-template-columns:1fr}}.gallery{position:relative;border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:4 / 3;background:var(--color-surface)}.gallery-main{width:100%;height:100%;object-fit:cover}.gallery-count{position:absolute;bottom:var(--space-4);right:var(--space-4);padding:var(--space-2) var(--space-4);background:#0009;backdrop-filter:blur(8px);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:#fff}.detail-sidebar{display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:calc(var(--header-height) + var(--space-4))}.detail-price-card{padding:var(--space-6);border-radius:var(--radius-xl);text-align:center}.detail-precio{font-size:var(--text-4xl);font-weight:800;font-family:var(--font-display);background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:var(--space-2)}.detail-transaccion{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-6)}.agente-card{padding:var(--space-5);border-radius:var(--radius-xl);display:flex;align-items:center;gap:var(--space-4)}.agente-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;background:var(--color-surface-2);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--color-text-dim);flex-shrink:0;overflow:hidden}.agente-nombre{font-weight:700;font-size:var(--text-sm)}.agente-label{font-size:var(--text-xs);color:var(--color-text-muted)}.detail-specs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-xl)}.detail-spec{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border)}.detail-spec-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.detail-spec-value{font-size:var(--text-lg);font-weight:700;color:var(--color-text)}.map-section{padding:var(--space-8) 0;border-top:1px solid var(--color-border)}.map-title{font-size:var(--text-xl);margin-bottom:var(--space-5)}.map-iframe-wrap{border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--color-border);height:360px;background:var(--color-surface)}.map-iframe-wrap iframe{width:100%;height:100%;border:none}.site-footer{border-top:1px solid var(--glass-border);padding:var(--space-10) 0 var(--space-6);margin-top:var(--space-20)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap}.footer-copy{font-size:var(--text-sm);color:var(--color-text-muted)}.footer-links{display:flex;gap:var(--space-6)}.footer-links a{font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-accent)}.empty-state{text-align:center;padding:var(--space-20);color:var(--color-text-muted)}.empty-icon{font-size:3rem;margin-bottom:var(--space-4)}.empty-state h3{font-size:var(--text-xl);margin-bottom:var(--space-3)}.loading-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:var(--space-6)}.skeleton{border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border)}.skeleton-img{aspect-ratio:16/10;background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-2) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-line{height:1rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-2) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-line.short{width:55%}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease}.reveal.visible{opacity:1;transform:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-dim)}@media(max-width:480px){.hide-mobile{display:none!important}}@media(min-width:481px){.show-mobile-only{display:none!important}}.aurora-glow-1,.aurora-glow-2{position:fixed;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:-1;opacity:.55;mix-blend-mode:multiply;animation:float-aurora 25s infinite alternate ease-in-out}.aurora-glow-1{width:45vw;height:45vw;top:-10vw;right:-5vw;background:radial-gradient(circle,hsla(35,65%,68%,.45) 0%,transparent 80%)}.aurora-glow-2{width:55vw;height:55vw;bottom:-15vw;left:-10vw;background:radial-gradient(circle,hsla(28,55%,46%,.25) 0%,transparent 80%);animation-duration:35s;animation-delay:-5s}@keyframes float-aurora{0%{transform:translate(0) scale(1)}50%{transform:translate(4vw,6vw) scale(1.1)}to{transform:translate(-3vw,-4vw) scale(.9)}}.page-header-banner{padding:clamp(3rem,6vw,5rem) 0 clamp(2rem,4vw,3rem);position:relative;overflow:hidden;background-image:linear-gradient(to bottom,rgba(35,25,15,.5) 0%,rgba(35,25,15,.2) 60%,var(--color-bg) 100%),url(/hero-beach-luxury.png);background-size:cover;background-position:center 30%;color:#fff}.page-banner-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:#fff;line-height:1.25}.lightbox{display:none;position:fixed;inset:0;background:#23190fb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:9999;align-items:center;justify-content:center}.lightbox[aria-hidden=false]{display:flex}.lightbox-content{max-width:90vw;max-height:80vh;display:flex;align-items:center;justify-content:center;animation:scaleUp .25s cubic-bezier(.4,0,.2,1)}.lightbox-content img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--radius);box-shadow:0 30px 70px #0009;border:1px solid rgba(255,255,255,.1)}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;color:#fff;font-size:2.5rem;cursor:pointer;opacity:.65;transition:opacity var(--transition-fast),transform var(--transition-fast);z-index:10000}.lightbox-close:hover{opacity:1;transform:scale(1.08)}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:2.5rem;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);user-select:none;z-index:10000}.lightbox-arrow:hover{background:#ffffff26;transform:translateY(-50%) scale(1.05)}.lightbox-arrow.prev{left:2rem}.lightbox-arrow.next{right:2rem}.lightbox-counter{position:absolute;bottom:2rem;color:#fff9;font-size:var(--text-sm);font-weight:500;letter-spacing:.05em}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.map-view-container{display:none;width:100%;height:600px;border-radius:var(--radius-xl);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow);margin-bottom:var(--space-8);position:relative;background:var(--color-surface-2)}.map-view-container.active{display:block}.leaflet-popup-content-wrapper{background:var(--color-surface)!important;color:var(--color-text)!important;border-radius:var(--radius-lg)!important;padding:0!important;border:1px solid var(--color-border)!important;box-shadow:var(--shadow-lg)!important;overflow:hidden;font-family:var(--font-body)!important}.leaflet-popup-content{margin:0!important;width:260px!important}.leaflet-popup-tip{background:var(--color-surface)!important;border:1px solid var(--color-border)!important}.map-popup-card{display:flex;flex-direction:column;overflow:hidden}.map-popup-img-wrap{width:100%;height:130px;overflow:hidden;background:var(--color-surface-2);position:relative}.map-popup-img-wrap img{width:100%;height:100%;object-fit:cover}.map-popup-badge{position:absolute;top:8px;left:8px;padding:3px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:700;text-transform:uppercase;color:#fff}.map-popup-badge.venta{background:#196639d9}.map-popup-badge.alquiler{background:#174d82d9}.map-popup-body{padding:12px;display:flex;flex-direction:column;gap:6px}.map-popup-price{font-size:16px;font-weight:700;color:var(--color-accent);font-family:var(--font-display)}.map-popup-title{font-size:13px;font-weight:600;color:var(--color-text);line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.map-popup-desc{font-size:11px;color:var(--color-text-muted)}.map-popup-link{display:inline-flex;align-items:center;justify-content:center;padding:8px;background:var(--gradient-accent);color:#fff!important;font-size:12px;font-weight:600;border-radius:var(--radius-sm);text-align:center;margin-top:4px;transition:opacity var(--transition-fast)}.map-popup-link:hover{opacity:.9}.view-toggle-bar{display:flex;justify-content:flex-end;margin-bottom:var(--space-6);gap:var(--space-2)}.toggle-view-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-2);transition:all var(--transition-fast)}.toggle-view-btn.active{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent);box-shadow:var(--shadow-sm)}.toggle-view-btn:hover:not(.active){background:#5c4f3d0d;color:var(--color-text)}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.social-header-link:hover{color:var(--color-accent)!important}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
