:root{--kwi-primary: #1a1a2e;--kwi-primary-light: #252545;--kwi-accent: #c9a96e;--kwi-accent-hover: #b8915a;--kwi-surface: #fafaf8;--kwi-surface-alt: #f3f1ee;--kwi-text: #2d2d2d;--kwi-text-muted: #8a8a8a;--kwi-text-light: #b0b0b0;--kwi-border: #e8e5e0;--kwi-border-strong: #d0ccc7;--kwi-success: #4a7c59;--kwi-error: #c44536;--kwi-error-bg: #fdf0ee;--kwi-white: #ffffff;--kwi-font-display: "DM Serif Display", Georgia, "Times New Roman", serif;--kwi-font-body: "Satoshi", "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--kwi-font-mono: "JetBrains Mono", "Fira Code", monospace;--kwi-text-xs: .6875rem;--kwi-text-sm: .8125rem;--kwi-text-base: .9375rem;--kwi-text-md: 1.0625rem;--kwi-text-lg: 1.25rem;--kwi-text-xl: 1.5rem;--kwi-text-2xl: 2rem;--kwi-text-3xl: 2.75rem;--kwi-leading-tight: 1.2;--kwi-leading-normal: 1.6;--kwi-leading-loose: 1.8;--kwi-space-1: .25rem;--kwi-space-2: .5rem;--kwi-space-3: .75rem;--kwi-space-4: 1rem;--kwi-space-5: 1.25rem;--kwi-space-6: 1.5rem;--kwi-space-8: 2rem;--kwi-space-10: 2.5rem;--kwi-space-12: 3rem;--kwi-space-16: 4rem;--kwi-space-20: 5rem;--kwi-space-24: 6rem;--kwi-container: 1320px;--kwi-container-sm: 840px;--kwi-gap: 1.5rem;--kwi-gap-sm: 1rem;--kwi-gap-lg: 2rem;--kwi-radius-xs: 2px;--kwi-radius-sm: 4px;--kwi-radius-md: 8px;--kwi-radius-lg: 16px;--kwi-radius-xl: 24px;--kwi-radius-full: 9999px;--kwi-shadow-xs: 0 1px 2px rgba(0,0,0,.04);--kwi-shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.04);--kwi-shadow-md: 0 2px 8px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.05);--kwi-shadow-lg: 0 4px 12px rgba(0,0,0,.08), 0 16px 40px rgba(0,0,0,.06);--kwi-shadow-xl: 0 8px 24px rgba(0,0,0,.1), 0 32px 64px rgba(0,0,0,.08);--kwi-ease: cubic-bezier(.25, .1, .25, 1);--kwi-ease-out: cubic-bezier(0, 0, .2, 1);--kwi-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--kwi-duration-xs: .12s;--kwi-duration-sm: .2s;--kwi-duration-md: .3s;--kwi-duration-lg: .5s;--kwi-z-base: 1;--kwi-z-dropdown: 100;--kwi-z-sticky: 200;--kwi-z-modal: 1000;--kwi-z-toast: 2000}.kwi-dark,[data-kwi-theme=dark]{--kwi-primary: #e8e5df;--kwi-primary-light: #c8c4bc;--kwi-surface: #141414;--kwi-surface-alt: #1e1e1e;--kwi-text: #e8e5df;--kwi-text-muted: #888880;--kwi-text-light: #555550;--kwi-border: #2a2a2a;--kwi-border-strong: #3a3a3a;--kwi-white: #141414}.kwi-card{position:relative;display:flex;flex-direction:column;background:var(--kwi-white);border-radius:var(--kwi-radius-md);overflow:hidden;box-shadow:var(--kwi-shadow-sm);transition:transform var(--kwi-duration-md) var(--kwi-ease),box-shadow var(--kwi-duration-md) var(--kwi-ease);will-change:transform;text-decoration:none;color:inherit}.kwi-card:hover{transform:translateY(-4px);box-shadow:var(--kwi-shadow-lg)}.kwi-card:focus-visible{outline:2px solid var(--kwi-accent);outline-offset:2px}.kwi-card__image-wrap{position:relative;overflow:hidden;aspect-ratio:4 / 3;background:var(--kwi-surface-alt);flex-shrink:0}.kwi-card__image{width:100%;height:100%;object-fit:cover;transition:transform var(--kwi-duration-lg) var(--kwi-ease);display:block}.kwi-card:hover .kwi-card__image{transform:scale(1.04)}.kwi-card__image[data-loading]{opacity:0}.kwi-card__image.is-loaded{animation:kwi-fade-in var(--kwi-duration-md) var(--kwi-ease-out) both}.kwi-card__image-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.15) 0%,transparent 40%);pointer-events:none}.kwi-card__badge{position:absolute;top:var(--kwi-space-3);left:var(--kwi-space-3);z-index:2;display:inline-flex;align-items:center;gap:var(--kwi-space-1);padding:var(--kwi-space-1) var(--kwi-space-3);background:var(--kwi-accent);color:var(--kwi-white);font-family:var(--kwi-font-body);font-size:var(--kwi-text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--kwi-radius-sm);line-height:1.4}.kwi-card__badge--exclusive{background:var(--kwi-primary)}.kwi-card__badge--sold{background:var(--kwi-text-muted)}.kwi-card__badge--new{background:var(--kwi-success)}.kwi-card__fav{position:absolute;top:var(--kwi-space-3);right:var(--kwi-space-3);z-index:2;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffffeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.5);border-radius:var(--kwi-radius-full);cursor:pointer;transition:background var(--kwi-duration-sm) var(--kwi-ease),transform var(--kwi-duration-sm) var(--kwi-ease-spring);padding:0}.kwi-card__fav:hover{background:#fff;transform:scale(1.1)}.kwi-card__fav.is-active{background:#fee2e2;border-color:#fca5a5}.kwi-card__fav svg{width:18px;height:18px;stroke:var(--kwi-text-muted);fill:transparent;transition:all var(--kwi-duration-sm) var(--kwi-ease-spring)}.kwi-card__fav.is-active svg{stroke:#ef4444;fill:#ef4444}.kwi-card__fav.is-animating{animation:kwi-heart-pop .4s var(--kwi-ease-spring)}.kwi-card__body{display:flex;flex-direction:column;flex:1;padding:var(--kwi-space-5) var(--kwi-space-5) var(--kwi-space-4);gap:var(--kwi-space-3)}.kwi-card__location{display:flex;align-items:center;gap:var(--kwi-space-2);font-family:var(--kwi-font-body);font-size:var(--kwi-text-xs);color:var(--kwi-text-muted);letter-spacing:.04em;text-transform:uppercase;font-weight:500}.kwi-card__location svg{width:12px;height:12px;flex-shrink:0;opacity:.6}.kwi-card__title{font-family:var(--kwi-font-display);font-size:var(--kwi-text-md);font-weight:400;line-height:var(--kwi-leading-tight);color:var(--kwi-text);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kwi-card__stats{display:flex;align-items:center;gap:var(--kwi-space-4);flex-wrap:wrap;padding-top:var(--kwi-space-2);border-top:1px solid var(--kwi-border)}.kwi-card__stat{display:flex;align-items:center;gap:var(--kwi-space-2);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-muted);font-weight:500;white-space:nowrap}.kwi-card__stat svg{width:14px;height:14px;flex-shrink:0;opacity:.7}.kwi-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--kwi-space-3)}.kwi-card__price{font-family:var(--kwi-font-display);font-size:var(--kwi-text-xl);font-weight:400;color:var(--kwi-primary);line-height:1;letter-spacing:-.01em}.kwi-card__price-note{font-family:var(--kwi-font-body);font-size:var(--kwi-text-xs);color:var(--kwi-text-muted);margin-top:2px}.kwi-card__ref{font-family:var(--kwi-font-mono);font-size:var(--kwi-text-xs);color:var(--kwi-text-light);background:var(--kwi-surface-alt);padding:3px 8px;border-radius:var(--kwi-radius-sm)}.kwi-card--list{flex-direction:row;height:180px}.kwi-card--list .kwi-card__image-wrap{aspect-ratio:unset;width:280px;min-width:280px;height:100%}.kwi-card--list .kwi-card__body{padding:var(--kwi-space-5);flex-direction:row;align-items:center;gap:var(--kwi-space-6)}.kwi-card--list .kwi-card__title{font-size:var(--kwi-text-lg)}.kwi-card--skeleton{pointer-events:none}.kwi-card--skeleton .kwi-card__image-wrap,.kwi-card--skeleton .kwi-skeleton-line{background:linear-gradient(90deg,var(--kwi-surface-alt) 25%,var(--kwi-border) 50%,var(--kwi-surface-alt) 75%);background-size:200% 100%;animation:kwi-shimmer 1.5s infinite}.kwi-skeleton-line{height:14px;border-radius:var(--kwi-radius-xs)}.kwi-skeleton-line--short{width:60%}.kwi-skeleton-line--long{width:90%}@keyframes kwi-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes kwi-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes kwi-heart-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}70%{transform:scale(.9)}to{transform:scale(1)}}.kwi-gallery{display:grid;grid-template-columns:1fr 200px;grid-template-rows:auto;gap:var(--kwi-space-3)}.kwi-gallery__main{position:relative;aspect-ratio:16 / 10;border-radius:var(--kwi-radius-md);overflow:hidden;background:var(--kwi-surface-alt);cursor:zoom-in}.kwi-gallery__main-img{width:100%;height:100%;object-fit:cover;transition:transform var(--kwi-duration-lg) var(--kwi-ease);display:block}.kwi-gallery__main:hover .kwi-gallery__main-img{transform:scale(1.02)}.kwi-gallery__expand{position:absolute;bottom:var(--kwi-space-4);right:var(--kwi-space-4);width:40px;height:40px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--kwi-radius-sm);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity var(--kwi-duration-sm) var(--kwi-ease),transform var(--kwi-duration-sm) var(--kwi-ease-spring);pointer-events:none}.kwi-gallery__main:hover .kwi-gallery__expand{opacity:1;transform:scale(1)}.kwi-gallery__expand svg{width:18px;height:18px;stroke:var(--kwi-text)}.kwi-gallery__thumbs{display:grid;grid-template-rows:repeat(4,1fr);gap:var(--kwi-space-2)}.kwi-gallery__thumb{position:relative;border-radius:var(--kwi-radius-sm);overflow:hidden;background:var(--kwi-surface-alt);cursor:pointer;border:2px solid transparent;transition:border-color var(--kwi-duration-sm) var(--kwi-ease)}.kwi-gallery__thumb.is-active{border-color:var(--kwi-accent)}.kwi-gallery__thumb:hover{border-color:var(--kwi-border-strong)}.kwi-gallery__thumb.is-active:hover{border-color:var(--kwi-accent)}.kwi-gallery__thumb-img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity var(--kwi-duration-sm) var(--kwi-ease)}.kwi-gallery__thumb:not(.is-active) .kwi-gallery__thumb-img{opacity:.7}.kwi-gallery__thumb:hover .kwi-gallery__thumb-img{opacity:1}.kwi-gallery__more{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#fff;font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);font-weight:600}.kwi-gallery__more span{font-size:var(--kwi-text-xl);font-weight:400;font-family:var(--kwi-font-display);line-height:1}.kwi-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--kwi-z-modal);background:#000000f2;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity var(--kwi-duration-md) var(--kwi-ease)}.kwi-lightbox.is-open{opacity:1;pointer-events:auto}.kwi-lightbox__header{display:flex;align-items:center;justify-content:space-between;padding:var(--kwi-space-4) var(--kwi-space-6);flex-shrink:0}.kwi-lightbox__counter{font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:#fff9}.kwi-lightbox__close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:var(--kwi-radius-full);cursor:pointer;color:#fff;transition:background var(--kwi-duration-sm) var(--kwi-ease)}.kwi-lightbox__close:hover{background:#fff3}.kwi-lightbox__close svg{width:20px;height:20px}.kwi-lightbox__stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0}.kwi-lightbox__img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--kwi-radius-sm);transform:scale(.96);transition:transform var(--kwi-duration-md) var(--kwi-ease-out);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.kwi-lightbox.is-open .kwi-lightbox__img{transform:scale(1)}.kwi-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.15);border-radius:var(--kwi-radius-full);cursor:pointer;color:#fff;transition:background var(--kwi-duration-sm) var(--kwi-ease),transform var(--kwi-duration-sm) var(--kwi-ease)}.kwi-lightbox__nav:hover{background:#ffffff38}.kwi-lightbox__nav--prev{left:var(--kwi-space-5)}.kwi-lightbox__nav--next{right:var(--kwi-space-5)}.kwi-lightbox__nav--prev:hover{transform:translateY(-50%) translate(-2px)}.kwi-lightbox__nav--next:hover{transform:translateY(-50%) translate(2px)}.kwi-lightbox__nav svg{width:22px;height:22px}.kwi-lightbox__nav:disabled{opacity:.3;cursor:default}.kwi-lightbox__strip{display:flex;gap:var(--kwi-space-2);padding:var(--kwi-space-4) var(--kwi-space-6);overflow-x:auto;flex-shrink:0;scrollbar-width:none;justify-content:center}.kwi-lightbox__strip::-webkit-scrollbar{display:none}.kwi-lightbox__strip-thumb{width:72px;height:48px;flex-shrink:0;border-radius:var(--kwi-radius-xs);overflow:hidden;cursor:pointer;border:2px solid transparent;opacity:.5;transition:opacity var(--kwi-duration-sm) var(--kwi-ease),border-color var(--kwi-duration-sm) var(--kwi-ease)}.kwi-lightbox__strip-thumb.is-active{border-color:var(--kwi-accent);opacity:1}.kwi-lightbox__strip-thumb:hover{opacity:.85}.kwi-lightbox__strip-thumb img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none}.kwi-carousel{position:relative;overflow:hidden}.kwi-carousel__track{display:flex;gap:var(--kwi-gap);transition:transform var(--kwi-duration-md) var(--kwi-ease);will-change:transform}.kwi-carousel__slide{flex-shrink:0}.kwi-carousel__btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--kwi-white);border:1px solid var(--kwi-border);border-radius:var(--kwi-radius-full);box-shadow:var(--kwi-shadow-md);cursor:pointer;color:var(--kwi-text);transition:background var(--kwi-duration-sm) var(--kwi-ease),box-shadow var(--kwi-duration-sm) var(--kwi-ease),transform var(--kwi-duration-sm) var(--kwi-ease)}.kwi-carousel__btn:hover{background:var(--kwi-primary);color:var(--kwi-white);border-color:var(--kwi-primary);box-shadow:var(--kwi-shadow-lg)}.kwi-carousel__btn--prev{left:calc(-1 * var(--kwi-space-5))}.kwi-carousel__btn--next{right:calc(-1 * var(--kwi-space-5))}.kwi-carousel__btn--prev:hover{transform:translateY(-50%) translate(-2px)}.kwi-carousel__btn--next:hover{transform:translateY(-50%) translate(2px)}.kwi-carousel__btn svg{width:18px;height:18px}.kwi-carousel__dots{display:flex;justify-content:center;gap:var(--kwi-space-2);margin-top:var(--kwi-space-5)}.kwi-carousel__dot{width:8px;height:8px;border-radius:var(--kwi-radius-full);background:var(--kwi-border-strong);border:none;padding:0;cursor:pointer;transition:background var(--kwi-duration-sm) var(--kwi-ease),width var(--kwi-duration-sm) var(--kwi-ease)}.kwi-carousel__dot.is-active{background:var(--kwi-accent);width:24px}@media (max-width: 768px){.kwi-gallery{grid-template-columns:1fr}.kwi-gallery__thumbs{grid-template-rows:none;grid-template-columns:repeat(4,1fr)}.kwi-gallery__thumb{aspect-ratio:1}.kwi-lightbox__nav--prev{left:var(--kwi-space-3)}.kwi-lightbox__nav--next{right:var(--kwi-space-3)}.kwi-lightbox__strip{padding:var(--kwi-space-3);justify-content:flex-start}.kwi-carousel__btn--prev{left:0}.kwi-carousel__btn--next{right:0}}.kwi-search{background:var(--kwi-white);border:1px solid var(--kwi-border);border-radius:var(--kwi-radius-lg);box-shadow:var(--kwi-shadow-md);overflow:hidden}.kwi-search--horizontal .kwi-search__basic{display:flex;flex-wrap:wrap;gap:var(--kwi-space-3);padding:var(--kwi-space-5) var(--kwi-space-6);align-items:flex-end}.kwi-search--vertical .kwi-search__basic{display:grid;grid-template-columns:1fr;gap:var(--kwi-space-4);padding:var(--kwi-space-6)}.kwi-search--hero{background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:none;box-shadow:var(--kwi-shadow-xl)}.kwi-search--hero .kwi-search__heading{display:block;padding:var(--kwi-space-6) var(--kwi-space-6) 0}.kwi-search__field{display:flex;flex-direction:column;gap:var(--kwi-space-2);flex:1;min-width:160px}.kwi-search__field--wide{flex:2;min-width:220px}.kwi-search__label{font-family:var(--kwi-font-body);font-size:var(--kwi-text-xs);font-weight:600;color:var(--kwi-text-muted);letter-spacing:.08em;text-transform:uppercase}.kwi-search__select,.kwi-search__input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--kwi-surface);border:1.5px solid var(--kwi-border);border-radius:var(--kwi-radius-md);padding:.625rem var(--kwi-space-4);font-family:var(--kwi-font-body);font-size:var(--kwi-text-base);color:var(--kwi-text);cursor:pointer;transition:border-color var(--kwi-duration-sm) var(--kwi-ease),box-shadow var(--kwi-duration-sm) var(--kwi-ease),background var(--kwi-duration-sm) var(--kwi-ease);height:44px;line-height:1}.kwi-search__select{padding-right:var(--kwi-space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.kwi-search__select:hover,.kwi-search__input:hover{border-color:var(--kwi-border-strong);background:var(--kwi-white)}.kwi-search__select:focus,.kwi-search__input:focus{outline:none;border-color:var(--kwi-accent);box-shadow:0 0 0 3px #c9a96e26;background:var(--kwi-white)}.kwi-search__price-range{display:flex;align-items:center;gap:var(--kwi-space-2)}.kwi-search__price-sep{color:var(--kwi-text-muted);font-size:var(--kwi-text-sm);flex-shrink:0}.kwi-search__submit{display:inline-flex;align-items:center;justify-content:center;gap:var(--kwi-space-2);padding:0 var(--kwi-space-6);height:44px;background:var(--kwi-primary);color:var(--kwi-white);font-family:var(--kwi-font-body);font-size:var(--kwi-text-base);font-weight:600;border:none;border-radius:var(--kwi-radius-md);cursor:pointer;white-space:nowrap;transition:background var(--kwi-duration-sm) var(--kwi-ease),transform var(--kwi-duration-xs) var(--kwi-ease);text-decoration:none;flex-shrink:0}.kwi-search__submit:hover{background:var(--kwi-primary-light)}.kwi-search__submit:active{transform:scale(.98)}.kwi-search__submit svg{width:16px;height:16px}.kwi-search__advanced-toggle{display:flex;align-items:center;gap:var(--kwi-space-2);padding:var(--kwi-space-3) var(--kwi-space-6);background:none;border:none;border-top:1px solid var(--kwi-border);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-muted);cursor:pointer;width:100%;text-align:left;transition:color var(--kwi-duration-sm) var(--kwi-ease)}.kwi-search__advanced-toggle:hover{color:var(--kwi-primary)}.kwi-search__advanced-toggle svg{width:14px;height:14px;transition:transform var(--kwi-duration-sm) var(--kwi-ease)}.kwi-search__advanced-toggle.is-open svg{transform:rotate(180deg)}.kwi-search__advanced{padding:0 var(--kwi-space-6) var(--kwi-space-6);border-top:1px dashed var(--kwi-border);display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--kwi-space-4)}.kwi-search-map{position:relative}.kwi-search-map__filters{position:absolute;top:var(--kwi-space-4);left:50%;transform:translate(-50%);z-index:var(--kwi-z-dropdown);background:var(--kwi-white);border-radius:var(--kwi-radius-lg);box-shadow:var(--kwi-shadow-lg);padding:var(--kwi-space-4) var(--kwi-space-5);display:flex;gap:var(--kwi-space-3);align-items:flex-end;min-width:600px;max-width:90vw}.kwi-search__results-count{padding:var(--kwi-space-3) var(--kwi-space-6);background:var(--kwi-surface);border-top:1px solid var(--kwi-border);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-muted)}.kwi-search__results-count strong{color:var(--kwi-text);font-weight:600}@media (max-width: 768px){.kwi-search--horizontal .kwi-search__basic{flex-direction:column;padding:var(--kwi-space-4)}.kwi-search__field,.kwi-search__field--wide{width:100%;min-width:unset;flex:unset}.kwi-search__submit{width:100%}.kwi-search-map__filters{min-width:unset;width:calc(100% - 2rem);flex-wrap:wrap}}.kwi-sort-control{display:flex;align-items:center;gap:0}.kwi-sort-field{background:var(--kwi-white);border:1.5px solid var(--kwi-border);border-right:none;border-radius:var(--kwi-radius-md) 0 0 var(--kwi-radius-md);padding:.5rem var(--kwi-space-4);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text);cursor:pointer;transition:border-color var(--kwi-dur-sm, .2s);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:2rem}.kwi-sort-field:focus{outline:none;border-color:var(--kwi-accent)}.kwi-sort-dir{display:flex;align-items:center;justify-content:center;width:38px;height:100%;min-height:36px;background:var(--kwi-white);border:1.5px solid var(--kwi-border);border-radius:0 var(--kwi-radius-md) var(--kwi-radius-md) 0;color:var(--kwi-text-muted);cursor:pointer;transition:background var(--kwi-dur-sm, .2s),color var(--kwi-dur-sm, .2s),border-color var(--kwi-dur-sm, .2s);flex-shrink:0}.kwi-sort-dir:hover{background:var(--kwi-surface-alt);color:var(--kwi-accent);border-color:var(--kwi-accent)}.kwi-detail{--kwi-detail-sidebar: 380px;max-width:var(--kwi-container);margin:0 auto;padding:var(--kwi-space-6) var(--kwi-space-4)}.kwi-detail__breadcrumb{display:flex;align-items:center;gap:var(--kwi-space-2);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-muted);margin-bottom:var(--kwi-space-6)}.kwi-detail__breadcrumb a{color:var(--kwi-text-muted);text-decoration:none;transition:color var(--kwi-duration-sm) var(--kwi-ease)}.kwi-detail__breadcrumb a:hover{color:var(--kwi-accent)}.kwi-detail__breadcrumb-sep{opacity:.4}.kwi-gallery{display:grid;grid-template-columns:1fr 180px;grid-template-rows:auto auto;gap:var(--kwi-space-3);margin-bottom:var(--kwi-space-8)}.kwi-gallery__main{grid-column:1;grid-row:1 / 3;aspect-ratio:16 / 10;border-radius:var(--kwi-radius-lg);overflow:hidden;cursor:zoom-in;background:var(--kwi-surface-alt)}.kwi-gallery__main img{width:100%;height:100%;object-fit:cover;transition:transform var(--kwi-duration-lg) var(--kwi-ease)}.kwi-gallery__main:hover img{transform:scale(1.02)}.kwi-gallery__thumbnails{grid-column:2;display:flex;flex-direction:column;gap:var(--kwi-space-2)}.kwi-gallery__thumb{aspect-ratio:16 / 10;border-radius:var(--kwi-radius-md);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color var(--kwi-duration-sm) var(--kwi-ease),opacity var(--kwi-duration-sm) var(--kwi-ease);position:relative;background:var(--kwi-surface-alt)}.kwi-gallery__thumb img{width:100%;height:100%;object-fit:cover}.kwi-gallery__thumb.is-active,.kwi-gallery__thumb:hover{border-color:var(--kwi-accent)}.kwi-gallery__thumb-more{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);font-weight:600;color:#fff;border-radius:var(--kwi-radius-sm)}.kwi-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--kwi-space-4);margin-bottom:var(--kwi-space-6)}.kwi-detail__title{font-family:var(--kwi-font-display);font-size:clamp(var(--kwi-text-xl),3vw,var(--kwi-text-3xl));font-weight:400;color:var(--kwi-text);line-height:var(--kwi-leading-tight);margin:0 0 var(--kwi-space-2);letter-spacing:-.02em}.kwi-detail__subtitle{font-family:var(--kwi-font-body);font-size:var(--kwi-text-base);color:var(--kwi-text-muted);display:flex;align-items:center;gap:var(--kwi-space-2)}.kwi-detail__actions{display:flex;align-items:center;gap:var(--kwi-space-3);flex-shrink:0}.kwi-detail__pills{display:flex;flex-wrap:wrap;gap:var(--kwi-space-3);margin-bottom:var(--kwi-space-6)}.kwi-detail__pill{display:flex;align-items:center;gap:var(--kwi-space-2);padding:var(--kwi-space-2) var(--kwi-space-4);background:var(--kwi-surface);border:1px solid var(--kwi-border);border-radius:var(--kwi-radius-full);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text);font-weight:500}.kwi-detail__pill svg{width:16px;height:16px;color:var(--kwi-accent)}.kwi-detail__price-row{display:flex;align-items:baseline;gap:var(--kwi-space-4);padding:var(--kwi-space-5) 0;border-top:1px solid var(--kwi-border);border-bottom:1px solid var(--kwi-border);margin-bottom:var(--kwi-space-8)}.kwi-detail__price{font-family:var(--kwi-font-display);font-size:clamp(var(--kwi-text-xl),3.5vw,var(--kwi-text-3xl));font-weight:400;color:var(--kwi-primary);line-height:1;letter-spacing:-.02em}.kwi-detail__price-reduced{font-family:var(--kwi-font-body);font-size:var(--kwi-text-md);color:var(--kwi-text-muted);text-decoration:line-through}.kwi-detail__ref{margin-left:auto;font-family:var(--kwi-font-mono);font-size:var(--kwi-text-sm);color:var(--kwi-text-light);background:var(--kwi-surface-alt);padding:var(--kwi-space-2) var(--kwi-space-3);border-radius:var(--kwi-radius-sm)}.kwi-detail__layout{display:grid;grid-template-columns:1fr var(--kwi-detail-sidebar);gap:var(--kwi-space-10);align-items:start}.kwi-detail__sidebar{position:sticky;top:var(--kwi-space-6);display:flex;flex-direction:column;gap:var(--kwi-space-5)}.kwi-detail__section{margin-bottom:var(--kwi-space-10)}.kwi-detail__section-title{font-family:var(--kwi-font-display);font-size:var(--kwi-text-xl);font-weight:400;color:var(--kwi-text);margin:0 0 var(--kwi-space-5);padding-bottom:var(--kwi-space-3);border-bottom:2px solid var(--kwi-accent);display:inline-block}.kwi-info-table{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--kwi-space-3)}.kwi-info-table__item{display:flex;flex-direction:column;gap:var(--kwi-space-1);padding:var(--kwi-space-4);background:var(--kwi-surface);border:1px solid var(--kwi-border);border-radius:var(--kwi-radius-md)}.kwi-info-table__label{font-family:var(--kwi-font-body);font-size:var(--kwi-text-xs);font-weight:600;color:var(--kwi-text-muted);letter-spacing:.06em;text-transform:uppercase}.kwi-info-table__value{font-family:var(--kwi-font-body);font-size:var(--kwi-text-md);font-weight:500;color:var(--kwi-text)}.kwi-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--kwi-space-3)}.kwi-feature{display:flex;align-items:center;gap:var(--kwi-space-3);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text)}.kwi-feature__icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--kwi-surface);border:1px solid var(--kwi-border);border-radius:var(--kwi-radius-sm);flex-shrink:0}.kwi-feature__icon svg{width:16px;height:16px;color:var(--kwi-accent)}.kwi-contact-card{background:var(--kwi-white);border:1px solid var(--kwi-border);border-radius:var(--kwi-radius-lg);padding:var(--kwi-space-6);box-shadow:var(--kwi-shadow-sm)}.kwi-contact-card__title{font-family:var(--kwi-font-display);font-size:var(--kwi-text-lg);font-weight:400;color:var(--kwi-text);margin:0 0 var(--kwi-space-5)}.kwi-form-field{margin-bottom:var(--kwi-space-4)}.kwi-form-label{display:block;font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);font-weight:600;color:var(--kwi-text);margin-bottom:var(--kwi-space-2)}.kwi-form-input,.kwi-form-textarea{width:100%;box-sizing:border-box;background:var(--kwi-surface);border:1.5px solid var(--kwi-border);border-radius:var(--kwi-radius-md);padding:.625rem var(--kwi-space-4);font-family:var(--kwi-font-body);font-size:var(--kwi-text-base);color:var(--kwi-text);transition:border-color var(--kwi-duration-sm) var(--kwi-ease),box-shadow var(--kwi-duration-sm) var(--kwi-ease)}.kwi-form-input:focus,.kwi-form-textarea:focus{outline:none;border-color:var(--kwi-accent);box-shadow:0 0 0 3px #c9a96e26;background:var(--kwi-white)}.kwi-form-textarea{resize:vertical;min-height:100px}.kwi-form-submit{width:100%;padding:var(--kwi-space-4);background:var(--kwi-primary);color:#fff;border:none;border-radius:var(--kwi-radius-md);font-family:var(--kwi-font-body);font-size:var(--kwi-text-base);font-weight:600;cursor:pointer;transition:background var(--kwi-duration-sm) var(--kwi-ease),transform var(--kwi-duration-xs) var(--kwi-ease)}.kwi-form-submit:hover{background:var(--kwi-primary-light)}.kwi-form-submit:active{transform:scale(.99)}.kwi-agent-card{background:var(--kwi-surface);border:1px solid var(--kwi-border);border-radius:var(--kwi-radius-md);padding:var(--kwi-space-4);display:flex;align-items:center;gap:var(--kwi-space-4)}.kwi-agent-card__avatar{width:48px;height:48px;border-radius:var(--kwi-radius-full);object-fit:cover;flex-shrink:0;background:var(--kwi-border)}.kwi-agent-card__name{font-family:var(--kwi-font-body);font-size:var(--kwi-text-base);font-weight:600;color:var(--kwi-text);margin:0 0 var(--kwi-space-1)}.kwi-agent-card__contact{font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-muted)}.kwi-energy{display:flex;align-items:center;gap:var(--kwi-space-1)}.kwi-energy__bar{display:flex;align-items:center;justify-content:center;padding:var(--kwi-space-1) var(--kwi-space-3);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);font-weight:700;color:#fff;min-width:32px;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%);transition:opacity var(--kwi-duration-sm) var(--kwi-ease)}.kwi-energy__bar:not(.is-current){opacity:.35}.kwi-energy__bar--A{background:#00a651}.kwi-energy__bar--B{background:#52b748}.kwi-energy__bar--C{background:#bfd730}.kwi-energy__bar--D{background:#fff200;color:#555}.kwi-energy__bar--E{background:#fcb714}.kwi-energy__bar--F{background:#f37022}.kwi-energy__bar--G{background:#ee1c25}.kwi-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--kwi-z-modal);background:#000000eb;display:flex;align-items:center;justify-content:center;padding:var(--kwi-space-4)}.kwi-lightbox__img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:var(--kwi-radius-md);box-shadow:var(--kwi-shadow-xl)}.kwi-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--kwi-radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background var(--kwi-duration-sm) var(--kwi-ease)}.kwi-lightbox__nav:hover{background:#fff3}.kwi-lightbox__nav--prev{left:var(--kwi-space-6)}.kwi-lightbox__nav--next{right:var(--kwi-space-6)}.kwi-lightbox__close{position:absolute;top:var(--kwi-space-6);right:var(--kwi-space-6);width:40px;height:40px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--kwi-radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff}.kwi-lightbox__counter{position:absolute;bottom:var(--kwi-space-6);left:50%;transform:translate(-50%);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:#ffffffb3;background:#0006;padding:var(--kwi-space-2) var(--kwi-space-4);border-radius:var(--kwi-radius-full)}@media (max-width: 1024px){.kwi-gallery{grid-template-columns:1fr}.kwi-gallery__main{grid-row:1}.kwi-gallery__thumbnails{grid-column:1;grid-row:2;flex-direction:row;overflow-x:auto}.kwi-gallery__thumb{flex:0 0 120px;aspect-ratio:4/3}.kwi-detail__layout{grid-template-columns:1fr}.kwi-detail__sidebar{position:static;order:-1}}@media (max-width: 768px){.kwi-detail{padding:var(--kwi-space-4) var(--kwi-space-3)}.kwi-detail__header{flex-direction:column}.kwi-detail__pills{gap:var(--kwi-space-2)}}.kwi-pagination{display:flex;align-items:center;justify-content:center;gap:var(--kwi-space-2);padding:var(--kwi-space-8) 0;flex-wrap:wrap}.kwi-pagination__item{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--kwi-space-3);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);font-weight:500;color:var(--kwi-text-muted);background:transparent;border:1.5px solid transparent;border-radius:var(--kwi-radius-md);cursor:pointer;text-decoration:none;transition:color var(--kwi-duration-sm) var(--kwi-ease),background var(--kwi-duration-sm) var(--kwi-ease),border-color var(--kwi-duration-sm) var(--kwi-ease);-webkit-user-select:none;user-select:none;line-height:1}.kwi-pagination__item:hover{color:var(--kwi-text);background:var(--kwi-surface);border-color:var(--kwi-border)}.kwi-pagination__item.is-active{color:var(--kwi-white);background:var(--kwi-primary);border-color:var(--kwi-primary);cursor:default;font-weight:600}.kwi-pagination__item.is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.kwi-pagination__arrow{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--kwi-white);border:1.5px solid var(--kwi-border);border-radius:var(--kwi-radius-md);cursor:pointer;color:var(--kwi-text-muted);text-decoration:none;box-shadow:var(--kwi-shadow-xs);transition:color var(--kwi-duration-sm) var(--kwi-ease),background var(--kwi-duration-sm) var(--kwi-ease),border-color var(--kwi-duration-sm) var(--kwi-ease),transform var(--kwi-duration-sm) var(--kwi-ease)}.kwi-pagination__arrow:hover{color:var(--kwi-primary);border-color:var(--kwi-primary);background:var(--kwi-white)}.kwi-pagination__arrow--prev:hover{transform:translate(-2px)}.kwi-pagination__arrow--next:hover{transform:translate(2px)}.kwi-pagination__arrow.is-disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.kwi-pagination__arrow svg{width:16px;height:16px}.kwi-pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-light);pointer-events:none;-webkit-user-select:none;user-select:none}.kwi-pagination__info{width:100%;text-align:center;font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-muted);margin-top:var(--kwi-space-3);order:10}.kwi-pagination__info strong{color:var(--kwi-text);font-weight:600}.kwi-per-page{display:flex;align-items:center;gap:var(--kwi-space-3);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-muted)}.kwi-per-page__select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--kwi-white);border:1.5px solid var(--kwi-border);border-radius:var(--kwi-radius-sm);padding:var(--kwi-space-1) var(--kwi-space-5) var(--kwi-space-1) var(--kwi-space-3);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px}.kwi-per-page__select:focus{outline:none;border-color:var(--kwi-accent)}.kwi-listing-header{display:flex;align-items:center;justify-content:space-between;gap:var(--kwi-space-4);flex-wrap:wrap;padding-bottom:var(--kwi-space-5);border-bottom:1px solid var(--kwi-border);margin-bottom:var(--kwi-space-6)}.kwi-listing-header__count{font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-muted)}.kwi-listing-header__count strong{color:var(--kwi-text);font-weight:600}.kwi-listing-header__controls{display:flex;align-items:center;gap:var(--kwi-space-4)}.kwi-sort-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--kwi-white);border:1.5px solid var(--kwi-border);border-radius:var(--kwi-radius-md);padding:var(--kwi-space-2) var(--kwi-space-8) var(--kwi-space-2) var(--kwi-space-4);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px;transition:border-color var(--kwi-duration-sm) var(--kwi-ease)}.kwi-sort-select:focus{outline:none;border-color:var(--kwi-accent)}.kwi-view-toggle{display:flex;border:1.5px solid var(--kwi-border);border-radius:var(--kwi-radius-md);overflow:hidden}.kwi-view-toggle__btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--kwi-white);border:none;cursor:pointer;color:var(--kwi-text-muted);transition:background var(--kwi-duration-sm) var(--kwi-ease),color var(--kwi-duration-sm) var(--kwi-ease)}.kwi-view-toggle__btn+.kwi-view-toggle__btn{border-left:1.5px solid var(--kwi-border)}.kwi-view-toggle__btn:hover{background:var(--kwi-surface);color:var(--kwi-text)}.kwi-view-toggle__btn.is-active{background:var(--kwi-primary);color:var(--kwi-white)}.kwi-view-toggle__btn svg{width:16px;height:16px}.kwi-infinite-loader{display:flex;align-items:center;justify-content:center;padding:var(--kwi-space-8);gap:var(--kwi-space-3);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-muted)}.kwi-load-more{display:block;margin:var(--kwi-space-8) auto 0;padding:0 var(--kwi-space-8);height:48px;background:transparent;border:1.5px solid var(--kwi-border);border-radius:var(--kwi-radius-md);font-family:var(--kwi-font-body);font-size:var(--kwi-text-base);font-weight:500;color:var(--kwi-text);cursor:pointer;transition:background var(--kwi-duration-sm) var(--kwi-ease),border-color var(--kwi-duration-sm) var(--kwi-ease),color var(--kwi-duration-sm) var(--kwi-ease)}.kwi-load-more:hover{background:var(--kwi-primary);border-color:var(--kwi-primary);color:var(--kwi-white)}@media (max-width: 768px){.kwi-listing-header{gap:var(--kwi-space-3)}.kwi-listing-header__count{width:100%}.kwi-pagination{gap:var(--kwi-space-1)}.kwi-pagination__item{min-width:36px;height:36px}.kwi-pagination__arrow{width:36px;height:36px}}.kwi-map{position:relative;border-radius:var(--kwi-radius-md);overflow:hidden;background:var(--kwi-surface-alt)}.kwi-map__canvas{width:100%;height:100%;display:block}.kwi-map--sm{height:300px}.kwi-map--md{height:420px}.kwi-map--lg{height:560px}.kwi-map--full{height:100vh}.kwi-map__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--kwi-surface-alt);gap:var(--kwi-space-3);z-index:10;transition:opacity var(--kwi-duration-md) var(--kwi-ease)}.kwi-map__loading.is-hidden{opacity:0;pointer-events:none}.kwi-map__loading-text{font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-muted)}.kwi-marker{display:flex;align-items:center;justify-content:center}.kwi-marker__pin{position:relative;background:var(--kwi-primary);color:var(--kwi-white);font-family:var(--kwi-font-body);font-size:var(--kwi-text-xs);font-weight:600;padding:var(--kwi-space-1) var(--kwi-space-2);border-radius:var(--kwi-radius-sm);white-space:nowrap;box-shadow:var(--kwi-shadow-md);transition:background var(--kwi-duration-sm) var(--kwi-ease),transform var(--kwi-duration-sm) var(--kwi-ease-spring);cursor:pointer;line-height:1.4}.kwi-marker__pin:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--kwi-primary)}.kwi-marker__pin:hover,.kwi-marker__pin.is-active{background:var(--kwi-accent);transform:translateY(-3px) scale(1.05)}.kwi-marker__pin.is-active:after{border-top-color:var(--kwi-accent)}.kwi-marker__dot{width:14px;height:14px;background:var(--kwi-primary);border:3px solid white;border-radius:var(--kwi-radius-full);box-shadow:var(--kwi-shadow-sm);cursor:pointer;transition:transform var(--kwi-duration-sm) var(--kwi-ease-spring)}.kwi-marker__dot:hover{transform:scale(1.4)}.kwi-cluster{width:40px;height:40px;background:var(--kwi-primary);color:var(--kwi-white);border-radius:var(--kwi-radius-full);display:flex;align-items:center;justify-content:center;font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);font-weight:700;box-shadow:var(--kwi-shadow-md);border:3px solid white;cursor:pointer;transition:transform var(--kwi-duration-sm) var(--kwi-ease-spring)}.kwi-cluster:hover{transform:scale(1.15)}.kwi-cluster--large{width:52px;height:52px;background:var(--kwi-accent)}.kwi-map .leaflet-popup-content-wrapper{background:var(--kwi-white);border-radius:var(--kwi-radius-md);box-shadow:var(--kwi-shadow-lg);padding:0;overflow:hidden;border:none}.kwi-map .leaflet-popup-tip-container{display:none}.kwi-map .leaflet-popup-content{margin:0;width:240px!important}.kwi-map-popup{display:flex;flex-direction:column;text-decoration:none;color:inherit}.kwi-map-popup__image{width:100%;height:140px;object-fit:cover;display:block;background:var(--kwi-surface-alt)}.kwi-map-popup__body{padding:var(--kwi-space-4);display:flex;flex-direction:column;gap:var(--kwi-space-2)}.kwi-map-popup__type{font-family:var(--kwi-font-body);font-size:var(--kwi-text-xs);color:var(--kwi-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.kwi-map-popup__title{font-family:var(--kwi-font-display);font-size:var(--kwi-text-md);color:var(--kwi-text);margin:0;line-height:var(--kwi-leading-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kwi-map-popup__price{font-family:var(--kwi-font-display);font-size:var(--kwi-text-lg);color:var(--kwi-primary);font-weight:400}.kwi-map-popup__stats{display:flex;gap:var(--kwi-space-3);font-family:var(--kwi-font-body);font-size:var(--kwi-text-xs);color:var(--kwi-text-muted)}.kwi-map .leaflet-popup-close-button{top:var(--kwi-space-2);right:var(--kwi-space-2);width:24px;height:24px;background:#00000080;border-radius:var(--kwi-radius-full);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;line-height:1;text-align:center;z-index:5}.kwi-map-search{display:grid;grid-template-columns:380px 1fr;height:calc(100vh - 80px);min-height:500px}.kwi-map-search__sidebar{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--kwi-border);background:var(--kwi-white)}.kwi-map-search__sidebar-header{flex-shrink:0;padding:var(--kwi-space-5) var(--kwi-space-5) var(--kwi-space-4);border-bottom:1px solid var(--kwi-border)}.kwi-map-search__count{font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-muted);margin-top:var(--kwi-space-2)}.kwi-map-search__count strong{color:var(--kwi-text);font-weight:600}.kwi-map-search__results{flex:1;overflow-y:auto;padding:var(--kwi-space-4) var(--kwi-space-4);display:flex;flex-direction:column;gap:var(--kwi-space-3);scrollbar-width:thin;scrollbar-color:var(--kwi-border) transparent}.kwi-map-search__results::-webkit-scrollbar{width:4px}.kwi-map-search__results::-webkit-scrollbar-track{background:transparent}.kwi-map-search__results::-webkit-scrollbar-thumb{background:var(--kwi-border);border-radius:var(--kwi-radius-full)}.kwi-map-search__map{position:relative}.kwi-map-search__map .kwi-map{height:100%;border-radius:0}.kwi-map-card{display:flex;gap:var(--kwi-space-3);padding:var(--kwi-space-3);border-radius:var(--kwi-radius-md);border:1.5px solid transparent;cursor:pointer;text-decoration:none;color:inherit;transition:background var(--kwi-duration-sm) var(--kwi-ease),border-color var(--kwi-duration-sm) var(--kwi-ease);background:var(--kwi-white)}.kwi-map-card:hover,.kwi-map-card.is-highlighted{background:var(--kwi-surface);border-color:var(--kwi-border)}.kwi-map-card.is-highlighted{border-color:var(--kwi-accent)}.kwi-map-card__image{width:88px;height:66px;border-radius:var(--kwi-radius-sm);object-fit:cover;flex-shrink:0;background:var(--kwi-surface-alt);display:block}.kwi-map-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.kwi-map-card__title{font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);font-weight:600;color:var(--kwi-text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kwi-map-card__location{font-family:var(--kwi-font-body);font-size:var(--kwi-text-xs);color:var(--kwi-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kwi-map-card__price{font-family:var(--kwi-font-display);font-size:var(--kwi-text-md);color:var(--kwi-primary);margin-top:auto}.kwi-map .leaflet-control-zoom{border:1px solid var(--kwi-border);border-radius:var(--kwi-radius-md);box-shadow:var(--kwi-shadow-sm);overflow:hidden}.kwi-map .leaflet-control-zoom a{width:36px;height:36px;line-height:36px;font-size:18px;color:var(--kwi-text);background:var(--kwi-white)}.kwi-map .leaflet-control-zoom a:hover{background:var(--kwi-surface);color:var(--kwi-primary)}@media (max-width: 1024px){.kwi-map-search{grid-template-columns:320px 1fr}}@media (max-width: 768px){.kwi-map-search{grid-template-columns:1fr;grid-template-rows:1fr 260px;height:auto}.kwi-map-search__sidebar{order:2;border-right:none;border-top:1px solid var(--kwi-border);max-height:50vh}.kwi-map-search__map{order:1}.kwi-map--lg{height:320px}}.kwi-grid>*{animation:kwi-card-enter var(--kwi-duration-md) var(--kwi-ease-out) both}.kwi-grid>*:nth-child(1){animation-delay:0ms}.kwi-grid>*:nth-child(2){animation-delay:60ms}.kwi-grid>*:nth-child(3){animation-delay:.12s}.kwi-grid>*:nth-child(4){animation-delay:.18s}.kwi-grid>*:nth-child(5){animation-delay:.24s}.kwi-grid>*:nth-child(6){animation-delay:.3s}.kwi-grid>*:nth-child(7){animation-delay:.36s}.kwi-grid>*:nth-child(8){animation-delay:.42s}.kwi-grid>*:nth-child(n+9){animation-delay:.48s}@keyframes kwi-card-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.kwi-reveal{opacity:0;transform:translateY(24px);transition:opacity var(--kwi-duration-lg) var(--kwi-ease-out),transform var(--kwi-duration-lg) var(--kwi-ease-out)}.kwi-reveal.is-visible{opacity:1;transform:translateY(0)}.kwi-spinner{width:24px;height:24px;border:2px solid var(--kwi-border);border-top-color:var(--kwi-accent);border-radius:50%;animation:kwi-spin .7s linear infinite;flex-shrink:0}@keyframes kwi-spin{to{transform:rotate(360deg)}}.kwi-btn{position:relative;overflow:hidden}.kwi-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff3;opacity:0;transition:opacity var(--kwi-duration-sm) var(--kwi-ease)}.kwi-btn:active:after{opacity:1}.kwi-lightbox{opacity:0;transition:opacity var(--kwi-duration-md) var(--kwi-ease)}.kwi-lightbox.is-open{opacity:1}.kwi-lightbox__content{transform:scale(.96);transition:transform var(--kwi-duration-md) var(--kwi-ease-out)}.kwi-lightbox.is-open .kwi-lightbox__content{transform:scale(1)}.kwi-dropdown{transform-origin:top center}.kwi-listing[data-loading]{opacity:.5;pointer-events:none;transition:opacity var(--kwi-duration-sm) var(--kwi-ease)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.kwi-root *,.kwi-root *:before,.kwi-root *:after{box-sizing:border-box}.kwi-root img,.kwi-root svg{display:block;max-width:100%}.kwi-root button{font:inherit;cursor:pointer}.kwi-root a{color:inherit}.kwi-container{width:100%;max-width:var(--kwi-container);margin-inline:auto;padding-inline:var(--kwi-space-6)}.kwi-container--sm{max-width:var(--kwi-container-sm)}.kwi-section{padding-block:var(--kwi-space-16)}.kwi-section--sm{padding-block:var(--kwi-space-10)}.kwi-section--lg{padding-block:var(--kwi-space-24)}.kwi-section-header{margin-bottom:var(--kwi-space-10);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--kwi-space-6);flex-wrap:wrap}.kwi-section-header__text{flex:1}.kwi-eyebrow{display:block;font-family:var(--kwi-font-body);font-size:var(--kwi-text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--kwi-accent);margin-bottom:var(--kwi-space-3)}.kwi-section-title{font-family:var(--kwi-font-display);font-size:clamp(var(--kwi-text-2xl),4vw,var(--kwi-text-3xl));font-weight:400;color:var(--kwi-text);line-height:var(--kwi-leading-tight);margin:0}.kwi-section-subtitle{font-family:var(--kwi-font-body);font-size:var(--kwi-text-base);color:var(--kwi-text-muted);margin:var(--kwi-space-3) 0 0;line-height:var(--kwi-leading-normal);max-width:52ch}.kwi-grid{display:grid;gap:var(--kwi-gap)}.kwi-grid--2{grid-template-columns:repeat(2,1fr)}.kwi-grid--3{grid-template-columns:repeat(3,1fr)}.kwi-grid--4{grid-template-columns:repeat(4,1fr)}.kwi-grid--auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.kwi-no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--kwi-space-16) var(--kwi-space-6);text-align:center;gap:var(--kwi-space-4)}.kwi-no-results__icon{width:64px;height:64px;color:var(--kwi-text-light);opacity:.5}.kwi-no-results__title{font-family:var(--kwi-font-display);font-size:var(--kwi-text-xl);color:var(--kwi-text);font-weight:400;margin:0}.kwi-no-results__text{font-family:var(--kwi-font-body);font-size:var(--kwi-text-base);color:var(--kwi-text-muted);max-width:40ch;margin:0;line-height:var(--kwi-leading-normal)}.kwi-listing{min-height:200px}.kwi-breadcrumb{display:flex;align-items:center;gap:var(--kwi-space-2);flex-wrap:wrap;padding-block:var(--kwi-space-5);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);color:var(--kwi-text-muted)}.kwi-breadcrumb__item{display:flex;align-items:center;gap:var(--kwi-space-2)}.kwi-breadcrumb__link{color:var(--kwi-text-muted);text-decoration:none;transition:color var(--kwi-duration-sm) var(--kwi-ease)}.kwi-breadcrumb__link:hover{color:var(--kwi-primary)}.kwi-breadcrumb__sep{color:var(--kwi-border-strong);flex-shrink:0}.kwi-breadcrumb__current{color:var(--kwi-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:24ch}.kwi-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--kwi-space-2);padding:0 var(--kwi-space-6);height:44px;border-radius:var(--kwi-radius-md);font-family:var(--kwi-font-body);font-size:var(--kwi-text-base);font-weight:600;text-decoration:none;border:none;cursor:pointer;white-space:nowrap;transition:background var(--kwi-duration-sm) var(--kwi-ease),color var(--kwi-duration-sm) var(--kwi-ease),transform var(--kwi-duration-xs) var(--kwi-ease),box-shadow var(--kwi-duration-sm) var(--kwi-ease);position:relative;overflow:hidden}.kwi-btn:active{transform:scale(.98)}.kwi-btn--primary{background:var(--kwi-primary);color:var(--kwi-white)}.kwi-btn--primary:hover{background:var(--kwi-primary-light);box-shadow:var(--kwi-shadow-md)}.kwi-btn--accent{background:var(--kwi-accent);color:var(--kwi-white)}.kwi-btn--accent:hover{background:var(--kwi-accent-hover);box-shadow:var(--kwi-shadow-md)}.kwi-btn--outline{background:transparent;color:var(--kwi-text);border:1.5px solid var(--kwi-border)}.kwi-btn--outline:hover{border-color:var(--kwi-primary);color:var(--kwi-primary)}.kwi-btn--ghost{background:transparent;color:var(--kwi-text-muted)}.kwi-btn--ghost:hover{background:var(--kwi-surface);color:var(--kwi-text)}.kwi-btn--sm{height:36px;padding:0 var(--kwi-space-4);font-size:var(--kwi-text-sm)}.kwi-btn--lg{height:52px;padding:0 var(--kwi-space-8);font-size:var(--kwi-text-md)}.kwi-btn svg{width:16px;height:16px;flex-shrink:0}.kwi-btn--lg svg{width:18px;height:18px}.kwi-share{display:flex;align-items:center;gap:var(--kwi-space-2)}.kwi-share__btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--kwi-surface);border:1px solid var(--kwi-border);border-radius:var(--kwi-radius-full);color:var(--kwi-text-muted);text-decoration:none;transition:background var(--kwi-duration-sm) var(--kwi-ease),color var(--kwi-duration-sm) var(--kwi-ease),transform var(--kwi-duration-sm) var(--kwi-ease-spring)}.kwi-share__btn:hover{background:var(--kwi-primary);color:var(--kwi-white);border-color:var(--kwi-primary);transform:scale(1.1)}.kwi-share__btn svg{width:15px;height:15px}.kwi-notice{padding:var(--kwi-space-4) var(--kwi-space-5);border-radius:var(--kwi-radius-md);font-family:var(--kwi-font-body);font-size:var(--kwi-text-sm);line-height:var(--kwi-leading-normal);display:flex;align-items:flex-start;gap:var(--kwi-space-3)}.kwi-notice--success{background:#4a7c591a;color:var(--kwi-success);border:1px solid rgba(74,124,89,.2)}.kwi-notice--error{background:var(--kwi-error-bg);color:var(--kwi-error);border:1px solid rgba(196,69,54,.2)}.kwi-notice--info{background:#c9a96e1a;color:#8a6a30;border:1px solid rgba(201,169,110,.25)}.kwi-notice svg{width:16px;height:16px;flex-shrink:0;margin-top:1px}.kwi-tag{display:inline-flex;align-items:center;gap:var(--kwi-space-1);padding:var(--kwi-space-1) var(--kwi-space-3);background:var(--kwi-surface-alt);border:1px solid var(--kwi-border);border-radius:var(--kwi-radius-full);font-family:var(--kwi-font-body);font-size:var(--kwi-text-xs);color:var(--kwi-text-muted);font-weight:500;white-space:nowrap}.kwi-tag--accent{background:#c9a96e1f;border-color:#c9a96e4d;color:#8a6a30}.kwi-tag--primary{background:#1a1a2e14;border-color:#1a1a2e26;color:var(--kwi-primary)}.kwi-divider{border:none;border-top:1px solid var(--kwi-border);margin-block:var(--kwi-space-8)}.kwi-skeleton{background:linear-gradient(90deg,var(--kwi-surface-alt) 25%,var(--kwi-border) 50%,var(--kwi-surface-alt) 75%);background-size:200% 100%;animation:kwi-shimmer 1.5s infinite;border-radius:var(--kwi-radius-xs)}@media (max-width: 1200px){.kwi-grid--4{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.kwi-grid--4,.kwi-grid--3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.kwi-container{padding-inline:var(--kwi-space-4)}.kwi-section{padding-block:var(--kwi-space-10)}.kwi-section--lg{padding-block:var(--kwi-space-16)}.kwi-grid--4,.kwi-grid--3,.kwi-grid--2{grid-template-columns:1fr}.kwi-section-header{flex-direction:column;align-items:flex-start;gap:var(--kwi-space-4)}}@media (max-width: 480px){.kwi-grid--auto{grid-template-columns:1fr}}

.kwi-gallery__main-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kwi-root .kwi-card .kwi-card__location{font-weight:400}
.kwi-root .kwi-card .kwi-card__stat{font-weight:400}
