@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap";.layout{flex-direction:column;min-height:100vh;display:flex}.header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background:#faf9f7eb;position:sticky;top:0}.header__inner{justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;display:flex}.header__brand{color:var(--color-text);align-items:center;gap:.75rem;display:flex}.header__brand div{flex-direction:column;line-height:1.2;display:flex}.header__brand strong{font-family:var(--font-display);letter-spacing:.02em;font-size:1.125rem}.header__brand span{color:var(--color-muted);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.header__logo{background:var(--color-primary);width:2.5rem;height:2.5rem;color:var(--color-bg);font-family:var(--font-display);border-radius:.5rem;place-items:center;font-size:1.25rem;display:grid}.header__nav{align-items:center;gap:.5rem;display:flex}.header__nav a,.header__chat-btn{color:var(--color-muted);border-radius:999px;padding:.5rem 1rem;font-size:.875rem;transition:color .2s,background .2s}.header__nav a:hover,.header__chat-btn:hover{color:var(--color-text);background:var(--color-surface)}.header__nav a.active{color:var(--color-primary);background:var(--color-surface);font-weight:500}.header__chat-btn{background:var(--color-primary);cursor:pointer;border:none;font-weight:500;color:var(--color-bg)!important}.header__chat-btn:hover{background:var(--color-primary-dark)}.main{flex:1}.footer{border-top:1px solid var(--color-border);margin-top:4rem;padding-block:2rem}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.footer p{color:var(--color-muted);margin-top:.25rem;font-size:.875rem}.footer__credit{align-self:center;margin-top:0;font-size:.8125rem}.footer__credit a{color:var(--color-muted);text-underline-offset:2px;text-decoration:underline}.footer__credit a:hover{color:var(--color-primary)}@media (width<=640px){.header__nav a:not(.active){display:none}}.chat-widget__fab{z-index:200;background:var(--color-primary);color:var(--color-bg);cursor:pointer;box-shadow:var(--shadow-lg);border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.875rem 1.25rem;font-size:.9375rem;font-weight:500;transition:transform .2s,background .2s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.chat-widget__fab:hover{background:var(--color-primary-dark);transform:translateY(-2px)}.chat-widget{z-index:200;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(400px,100vw - 2rem);height:min(560px,100vh - 3rem);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;overflow:hidden}.chat-widget__header{background:var(--color-primary);color:var(--color-bg);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.chat-widget__header strong{font-size:.9375rem;display:block}.chat-widget__header span{opacity:.8;font-size:.75rem}.chat-widget__actions{gap:.25rem;display:flex}.chat-widget__actions button{width:2rem;height:2rem;color:inherit;cursor:pointer;background:#ffffff26;border:none;border-radius:.375rem;font-size:.875rem}.chat-widget__actions button:hover{background:#ffffff40}.chat-widget__messages{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.chat-widget__msg{flex-direction:column;max-width:90%;display:flex}.chat-widget__msg--user{align-self:flex-end}.chat-widget__msg--bot{align-self:flex-start}.chat-widget__bubble{border-radius:1rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.5}.chat-widget__msg--user .chat-widget__bubble{background:var(--color-primary);color:var(--color-bg);border-bottom-right-radius:.25rem}.chat-widget__msg--bot .chat-widget__bubble{background:var(--color-surface);color:var(--color-text);border-bottom-left-radius:.25rem}.chat-widget__link{color:var(--color-accent);margin-top:.5rem;font-size:.8125rem;font-weight:500;display:inline-block}.chat-widget__cards{flex-wrap:wrap;gap:.375rem;margin-top:.375rem;display:flex}.chat-widget__card-link{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-primary);border-radius:999px;padding:.25rem .5rem;font-size:.75rem}.chat-widget__typing{gap:.25rem;display:flex;padding:1rem!important}.chat-widget__typing span{background:var(--color-muted);border-radius:50%;width:6px;height:6px;animation:1.2s infinite typing}.chat-widget__typing span:nth-child(2){animation-delay:.2s}.chat-widget__typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-widget__suggestions{scrollbar-width:none;gap:.375rem;padding:0 1rem .5rem;display:flex;overflow-x:auto}.chat-widget__suggestions button{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex-shrink:0;padding:.375rem .625rem;font-size:.6875rem}.chat-widget__suggestions button:hover{border-color:var(--color-primary);color:var(--color-primary)}.chat-widget__form{border-top:1px solid var(--color-border);gap:.5rem;padding:.75rem 1rem 1rem;display:flex}.chat-widget__form input{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;flex:1;padding:.625rem .875rem;font-size:.875rem}.chat-widget__form input:focus{outline:2px solid var(--color-accent);outline-offset:1px}.chat-widget__form button{background:var(--color-primary);color:var(--color-bg);cursor:pointer;border:none;border-radius:999px;padding:.625rem 1rem;font-size:.875rem;font-weight:500}.chat-widget__form button:disabled{opacity:.5;cursor:not-allowed}@media (width<=480px){.chat-widget,.chat-widget__fab{bottom:1rem;right:1rem}}.property-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:box-shadow .25s,transform .25s;position:relative;overflow:hidden}.property-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.property-card__link{color:inherit;display:block}.property-card__image-wrap{aspect-ratio:4/3;background:var(--color-surface);position:relative;overflow:hidden}.property-card__image{object-fit:cover;width:100%;height:100%;transition:transform .4s}.property-card__image[src$=\.svg]{object-fit:contain;background:var(--color-surface);padding:1.5rem}.property-card:hover .property-card__image{transform:scale(1.04)}.property-card__badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;position:absolute;top:.75rem;left:.75rem}.property-card__badge--venta{background:var(--color-primary);color:var(--color-bg)}.property-card__badge--alquiler{background:var(--color-accent);color:#fff}.property-card__destacada{text-transform:uppercase;letter-spacing:.08em;background:#ffffffeb;border-radius:999px;padding:.25rem .5rem;font-size:.625rem;font-weight:600;position:absolute;top:.75rem;right:.75rem}.property-card__body{padding:1.25rem}.property-card__meta{color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.375rem;font-size:.75rem}.property-card__title{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.0625rem;font-weight:500;line-height:1.35}.property-card__price{color:var(--color-primary);margin-bottom:.75rem;font-size:1rem;font-weight:600}.property-card__features{color:var(--color-muted);gap:.75rem;font-size:.8125rem;display:flex}.property-card__features li:not(:last-child):after{content:"·";opacity:.5;margin-left:.75rem}.property-card__fav{border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;z-index:2;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;font-size:1rem;transition:background .2s,border-color .2s;display:grid;position:absolute;bottom:1rem;right:1rem}.property-card__fav:hover,.property-card__fav--active{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.hero{background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-bg) 60%);padding-block:4rem 3rem}.hero__inner{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;display:grid}.hero__eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--color-accent);margin-bottom:1rem;font-size:.75rem;font-weight:600}.hero h1{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:1.25rem;font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1.15}.hero__lead{color:var(--color-muted);max-width:32rem;margin-bottom:2rem;font-size:1.0625rem;line-height:1.7}.hero__actions{flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem;display:flex}.hero__stats{gap:2.5rem;display:flex}.hero__stats dt{font-family:var(--font-display);color:var(--color-primary);font-size:1.75rem;font-weight:500}.hero__stats dd{color:var(--color-muted);margin-top:.125rem;font-size:.8125rem}.hero__visual img{object-fit:cover;border-radius:var(--radius-lg);width:100%;max-height:520px;box-shadow:var(--shadow-md)}.section{padding-block:4rem}.section__header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem;display:flex}.section__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);margin-bottom:.375rem;font-size:.75rem}.section__header h2{font-family:var(--font-display);font-size:1.75rem;font-weight:500}.section__link{color:var(--color-primary);white-space:nowrap;font-size:.875rem;font-weight:500}.grid-properties{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.features{background:var(--color-surface);padding-block:4rem}.features__grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.features__grid article{text-align:center;padding:2rem 1.5rem}.features__icon{margin-bottom:1rem;font-size:2rem;display:block}.features__grid h3{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.125rem}.features__grid p{color:var(--color-muted);font-size:.9375rem;line-height:1.6}.cta-banner{padding-block:4rem}.cta-banner__inner{background:var(--color-primary);color:var(--color-bg);border-radius:var(--radius-lg);text-align:center;padding:3rem}.cta-banner__inner h2{font-family:var(--font-display);margin-bottom:.75rem;font-size:1.75rem}.cta-banner__inner p{opacity:.85;max-width:36rem;margin:0 auto 1.5rem;line-height:1.6}.cta-banner__actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.cta-banner__actions .btn--ghost{color:var(--color-bg);border-color:#ffffff73}.cta-banner__actions .btn--ghost:hover{border-color:var(--color-bg);color:var(--color-bg);background:#ffffff14}@media (width<=900px){.hero__inner{grid-template-columns:1fr}.hero__visual{order:-1}.features__grid{grid-template-columns:1fr}}@media (width<=640px){.hero__stats{gap:1.5rem}.cta-banner__inner{padding:2rem 1.5rem}}.filters{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);height:fit-content;padding:1.5rem;position:sticky;top:5.5rem}.filters__header{justify-content:space-between;align-items:baseline;margin-bottom:1.5rem;display:flex}.filters__header h2{font-family:var(--font-display);font-size:1.125rem;font-weight:500}.filters__count{color:var(--color-muted);font-size:.8125rem}.filters__group{margin-bottom:1rem}.filters__group label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin-bottom:.375rem;font-size:.75rem;font-weight:500;display:block}.filters__group select,.filters__group input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text);padding:.625rem .75rem;font-size:.875rem}.filters__group select:focus,.filters__group input:focus{outline:2px solid var(--color-accent);outline-offset:1px}.filters__row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.filters__reset{border:1px dashed var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-muted);cursor:pointer;background:0 0;margin-top:.5rem;padding:.625rem;font-size:.8125rem;transition:border-color .2s,color .2s}.filters__reset:hover{border-color:var(--color-primary);color:var(--color-primary)}@media (width<=900px){.filters{position:static}}.catalog{padding-block:3rem 4rem}.catalog__header{margin-bottom:2.5rem}.catalog__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);margin-bottom:.375rem;font-size:.75rem}.catalog__header h1{font-family:var(--font-display);margin-bottom:.5rem;font-size:2rem;font-weight:500}.catalog__header p{color:var(--color-muted)}.catalog__layout{grid-template-columns:280px 1fr;align-items:start;gap:2rem;display:grid}.catalog__empty{text-align:center;background:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border);padding:4rem 2rem}.catalog__empty p{color:var(--color-muted);margin-bottom:1rem}.catalog__empty button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);cursor:pointer;padding:.625rem 1.25rem}@media (width<=900px){.catalog__layout{grid-template-columns:1fr}}.consulta-form{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem}.consulta-form h3{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.25rem;font-weight:500}.consulta-form__ref{color:var(--color-muted);margin-bottom:1.25rem;font-size:.875rem}.consulta-form__field{margin-bottom:1rem}.consulta-form__field label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin-bottom:.375rem;font-size:.75rem;font-weight:500;display:block}.consulta-form__field input,.consulta-form__field textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);resize:vertical;width:100%;padding:.75rem;font-family:inherit;font-size:.9375rem}.consulta-form__field input:focus,.consulta-form__field textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}.consulta-form__error{color:#b91c1c;margin-bottom:.75rem;font-size:.875rem}.consulta-form__submit{background:var(--color-primary);width:100%;color:var(--color-bg);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.875rem;font-size:.9375rem;font-weight:500;transition:background .2s}.consulta-form__submit:hover{background:var(--color-primary-dark)}.consulta-form--success{text-align:center;padding:2rem}.consulta-form--success p{color:var(--color-muted);margin:.75rem 0 1.25rem;font-size:.9375rem;line-height:1.6}.consulta-form--success button{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.625rem 1.25rem;font-size:.875rem}.consulta-form--success button:hover{border-color:var(--color-primary);color:var(--color-primary)}.detail{padding-block:2rem 4rem}.detail__breadcrumb{color:var(--color-muted);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.8125rem;display:flex}.detail__breadcrumb a:hover{color:var(--color-primary)}.detail__gallery{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin-bottom:2.5rem;display:grid}.detail__gallery img{aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-lg);background:var(--color-surface);width:100%}.detail__gallery img[src$=\.svg]{object-fit:contain;padding:2rem}.detail__layout{grid-template-columns:1fr 380px;align-items:start;gap:2.5rem;display:grid}.detail__badges{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.detail__badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:.25rem .625rem;font-size:.6875rem;font-weight:600}.detail__badge--venta{background:var(--color-primary);color:var(--color-bg)}.detail__badge--alquiler{background:var(--color-accent);color:#fff}.detail__badge--tipo{background:var(--color-surface);color:var(--color-muted);border:1px solid var(--color-border)}.detail__main h1{font-family:var(--font-display);margin-bottom:.5rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:500;line-height:1.25}.detail__location{color:var(--color-muted);margin-bottom:.75rem}.detail__price{color:var(--color-primary);margin-bottom:1.5rem;font-size:1.375rem;font-weight:600}.detail__specs{background:var(--color-surface);border-radius:var(--radius-lg);color:var(--color-muted);flex-wrap:wrap;gap:1rem 1.5rem;margin-bottom:2rem;padding:1.25rem;font-size:.875rem;display:flex}.detail__specs strong{color:var(--color-text);font-weight:600}.detail__section{margin-bottom:2rem}.detail__section h2{font-family:var(--font-display);margin-bottom:.75rem;font-size:1.125rem;font-weight:500}.detail__section p{color:var(--color-muted);line-height:1.7}.detail__amenities{flex-wrap:wrap;gap:.5rem;display:flex}.detail__amenities li{background:var(--color-surface);color:var(--color-muted);border-radius:999px;padding:.375rem .75rem;font-size:.8125rem}.detail__actions{flex-wrap:wrap;gap:.75rem;display:flex}.btn--fav-active{color:#dc2626!important;border-color:#fca5a5!important}@media (width<=900px){.detail__layout{grid-template-columns:1fr}.detail__aside{order:-1}}:root{--color-bg:#faf9f7;--color-surface:#f3f1ed;--color-text:#1c1c1c;--color-muted:#6b6560;--color-primary:#1a2332;--color-primary-dark:#0f1620;--color-accent:#b8956b;--color-border:#e5e1db;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--radius-sm:.375rem;--radius-lg:.875rem;--shadow-md:0 8px 30px #1a233214;--shadow-lg:0 16px 48px #1a23321f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.5}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit}.container{width:min(1200px,100% - 2rem);margin-inline:auto}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.btn--primary{background:var(--color-primary);color:var(--color-bg)}.btn--primary:hover{background:var(--color-primary-dark)}.btn--ghost{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.btn--ghost:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn--light{background:var(--color-bg);color:var(--color-primary)}.btn--light:hover{background:var(--color-surface)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
