:root{--color-bg: #faf9f6;--color-surface: #ffffff;--color-ink: #1c1b1a;--color-ink-soft: #5c5853;--color-muted: #8c867e;--color-border: #e6e2db;--color-accent: #a5763b;--color-accent-ink: #f4ead9;--font-display: "Cormorant Garamond", "Times New Roman", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius: 10px;--shadow-card: 0 1px 2px rgba(28, 27, 26, .04), 0 6px 24px rgba(28, 27, 26, .06);--shadow-card-hover: 0 2px 4px rgba(28, 27, 26, .06), 0 14px 40px rgba(28, 27, 26, .12);--container: 1200px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}#app{display:flex;flex-direction:column;min-height:100vh}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 20px}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:20}.app-header__inner{display:flex;align-items:center;justify-content:space-between;height:68px}.brand{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:.02em}.brand em{font-style:italic;color:var(--color-accent)}.nav{display:flex;gap:28px;align-items:center}.nav a{font-size:14px;letter-spacing:.03em;color:var(--color-ink-soft);transition:color .15s ease}.nav a:hover,.nav a.is-active{color:var(--color-ink)}.app-footer{margin-top:auto;border-top:1px solid var(--color-border);background:var(--color-surface);padding:28px 0;color:var(--color-muted);font-size:13px}.app-footer__inner{display:flex;flex-direction:column;gap:8px}.page{padding:40px 0 72px;flex:1 1 auto}.page__head{margin-bottom:28px}.page__eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);margin-bottom:10px;text-align:center}.page__title{font-family:var(--font-display);font-size:clamp(32px,5vw,52px);line-height:1.05;text-align:center;font-weight:600}.page__subtitle{text-align:center;color:var(--color-ink-soft);margin-top:14px;max-width:640px;margin-left:auto;margin-right:auto}.filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:16px;margin-bottom:28px}.filters__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.field label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-bottom:6px}.field select,.field input{width:100%;height:42px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-ink);font-family:inherit;font-size:14px;appearance:none}.field select:focus,.field input:focus{outline:2px solid rgba(165,118,59,.45);outline-offset:0;border-color:var(--color-accent)}.filters__actions{display:flex;gap:10px;margin-top:14px;align-items:center;justify-content:flex-end}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 20px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-ink);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.btn:hover{border-color:var(--color-accent)}.btn:active{transform:translateY(.5px)}.btn--primary{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.btn--primary:hover{background:#000}.btn--ghost{background:transparent}.btn[disabled]{opacity:.4;cursor:not-allowed}.units-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.unit-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .2s ease;display:flex;flex-direction:column;cursor:pointer}.unit-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.unit-card__media{position:relative;aspect-ratio:16 / 10;background:linear-gradient(135deg,#e9e5dd,#d8d2c6);overflow:hidden}.unit-card__media-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-family:var(--font-display);font-size:22px;letter-spacing:.04em}.unit-card__body{padding:18px;display:flex;flex-direction:column;gap:12px;flex:1 1 auto}.unit-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.unit-card__code{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.unit-card__type{font-family:var(--font-display);font-size:21px;font-weight:600;line-height:1.15}.unit-card__meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;color:var(--color-ink-soft)}.unit-card__price{margin-top:auto}.unit-card__price-value{font-family:var(--font-display);font-size:26px;font-weight:600}.unit-card__price-unit{font-size:13px;color:var(--color-muted);margin-left:4px}.status-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.04em;padding:5px 12px;border-radius:999px;white-space:nowrap}.status-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.status-badge--AVAILABLE{background:#e4f3e4;color:#1f6b34}.status-badge--SOLD{background:#eaeaea;color:#55504b}.status-badge--UNAVAILABLE{background:#f2e6dc;color:#9c5d2b}.pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:36px;flex-wrap:wrap}.pagination__btn{min-width:42px;height:42px;padding:0 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-family:inherit;font-size:14px;cursor:pointer}.pagination__btn.is-current{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.pagination__btn[disabled]{opacity:.4;cursor:not-allowed}.pagination__summary{color:var(--color-muted);font-size:14px}.state-block{text-align:center;padding:64px 20px;color:var(--color-ink-soft)}.state-block__icon{font-size:34px;margin-bottom:16px}.state-block__title{font-family:var(--font-display);font-size:26px;margin-bottom:10px;color:var(--color-ink)}.state-block__msg{max-width:420px;margin:0 auto 22px;font-size:15px}.detail{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}.detail__hero{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,#e9e5dd,#d2cabc);margin-bottom:28px}.detail__hero-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-family:var(--font-display);font-size:26px;letter-spacing:.06em}.detail__title{font-family:var(--font-display);font-size:clamp(30px,4vw,44px);line-height:1.08;margin-bottom:8px}.detail__location{color:var(--color-muted);margin-bottom:18px;font-size:15px}.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:24px}.spec{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 16px}.spec__label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-bottom:4px}.spec__value{font-family:var(--font-display);font-size:20px;font-weight:600}.quick-panel{position:sticky;top:88px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:24px;display:flex;flex-direction:column;gap:16px}.quick-panel__label{font-size:12px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em}.quick-panel__price{font-family:var(--font-display);font-size:34px;font-weight:600}.detail-description{margin-top:28px;color:var(--color-ink-soft);max-width:72ch}@media(max-width:900px){.detail{grid-template-columns:1fr}.quick-panel{position:static}}@media(max-width:640px){.page{padding:28px 0 48px}.units-grid{grid-template-columns:1fr;gap:18px}.app-header__inner{height:60px}.nav{gap:18px}.filters__actions{flex-direction:column;align-items:stretch}.filters__actions .btn{width:100%}.pagination{gap:8px}}.ai-widget{position:fixed;right:20px;bottom:20px;z-index:40;font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--color-ink)}.ai-widget__launcher{width:54px;height:54px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-ink);color:#fff;font-size:20px;line-height:1;cursor:pointer;box-shadow:var(--shadow-card-hover);display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,transform .1s ease}.ai-widget__launcher:hover{background:#000}.ai-widget__launcher:focus-visible,.ai-widget__close:focus-visible,.ai-widget__send:focus-visible,.ai-widget__rec:focus-visible,.ai-widget__retry:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ai-widget__panel{position:absolute;right:0;bottom:64px;width:380px;max-width:calc(100vw - 40px);height:560px;max-height:calc(100vh - 96px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-card-hover);display:flex;flex-direction:column;overflow:hidden}.ai-widget__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.ai-widget__name{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:.01em}.ai-widget__subtitle{font-size:12px;color:var(--color-muted);letter-spacing:.04em;margin-top:2px}.ai-widget__close{border:none;background:transparent;color:var(--color-ink-soft);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px}.ai-widget__close:hover{color:var(--color-ink)}.ai-widget__list{flex:1 1 auto;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-widget__bubble{max-width:86%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.5}.ai-widget__bubble--user{align-self:flex-end;background:var(--color-ink);color:#fff;border-bottom-right-radius:4px}.ai-widget__bubble--assistant{align-self:flex-start;background:var(--color-bg);border:1px solid var(--color-border);border-bottom-left-radius:4px}.ai-widget__bubble--error{align-self:flex-start;background:#fdf3f0;border:1px solid #f0d5cb;color:#8c2f22}.ai-widget__bubble-text{margin:0;white-space:pre-wrap;word-break:break-word}.ai-widget__typing{font-size:12px;color:var(--color-muted);padding:0 4px 8px}.ai-widget__lead-note{margin:8px 0 0;font-size:12px;color:var(--color-ink-soft)}.ai-widget__lead-note--hint{color:var(--color-accent)}.ai-widget__recs{display:flex;flex-direction:column;gap:8px;margin-top:10px}.ai-widget__rec{width:100%;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:10px 12px;cursor:pointer;font-family:inherit;color:var(--color-ink);transition:border-color .15s ease,box-shadow .15s ease}.ai-widget__rec:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card)}.ai-widget__rec-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.ai-widget__rec-code{font-family:var(--font-display);font-size:15px;font-weight:600}.ai-widget__rec-meta{font-size:12px;color:var(--color-ink-soft);margin-top:4px}.ai-widget__rec-price{font-family:var(--font-display);font-size:16px;font-weight:600;margin-top:6px;color:var(--color-accent)}.ai-widget__footer{border-top:1px solid var(--color-border);padding:10px 12px 12px;background:var(--color-surface)}.ai-widget__composer{display:flex;gap:8px;align-items:flex-end}.ai-widget__input{flex:1 1 auto;min-height:44px;max-height:120px;resize:none;border:1px solid var(--color-border);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;color:var(--color-ink);background:var(--color-bg)}.ai-widget__input:focus{outline:none;border-color:var(--color-accent)}.ai-widget__send{flex:0 0 auto;padding:0 16px}.ai-widget__retry{margin-top:8px;width:100%}@media(max-width:640px){.ai-widget{right:12px;bottom:12px}.ai-widget__launcher{width:52px;height:52px}.ai-widget__panel{position:fixed;inset:0;width:100%;max-width:100%;height:100vh;max-height:100vh;border-radius:0;border:none}.ai-widget__list{padding-bottom:12px}.ai-widget__bubble{max-width:92%}}
