*{margin:0;padding:0;box-sizing:border-box}html{height:100%;overflow:hidden;scroll-behavior:smooth}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background:var(--color-bg-deep);color:var(--color-text-primary);height:100vh;height:100dvh;overflow:hidden;overscroll-behavior:none;position:relative;width:100%}[hidden]{display:none!important}:root{--spring: cubic-bezier(.22, 1, .36, 1);--spring-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--duration-instant: .1s;--duration-quick: .15s;--duration-fast: .2s;--duration-medium: .25s;--duration-normal: .3s;--duration-moderate: .4s;--duration-slow: .5s;--duration-entrance: .6s;--color-bg: #000;--color-bg-deep: #0a0a0a;--color-surface: #111;--color-surface-elevated: #1a1a1a;--color-surface-raised: rgba(255,255,255,.06);--color-surface-subtle: rgba(255,255,255,.04);--color-surface-dim: rgba(255,255,255,.03);--color-surface-ghost: rgba(255,255,255,.02);--color-border: rgba(255,255,255,.08);--color-border-strong: rgba(255,255,255,.15);--color-overlay: rgba(0,0,0,.8);--color-scrim-light: rgba(0,0,0,.35);--color-text-primary: #fff;--color-text-high: rgba(255,255,255,.9);--color-text-secondary: rgba(255,255,255,.75);--color-text-dim: rgba(255,255,255,.6);--color-text-muted: rgba(255,255,255,.55);--color-brand: #1127d2;--color-brand-dark: #0d1fa8;--color-brand-light: #4d65ff;--color-success: #25d366;--color-success-dark: #22c55e;--color-text-on-success: #0a0a0a;--color-success-text: #4ade80;--color-error: #ef4444;--color-error-light: #f87171;--color-warning: #f59e0b;--color-info: #3b82f6;--color-accent-gold: #C9A87C;--color-accent-gold-dim: rgba(201, 168, 124, .15);--color-accent-purple: #a855f7;--color-accent-indigo: #818cf8;--color-text-soft: rgba(255,255,255,.7);--color-text-faint: rgba(255,255,255,.45);--color-text-ghost: rgba(255,255,255,.35);--color-border-subtle: rgba(255,255,255,.1);--color-border-faint: rgba(255,255,255,.06);--color-border-ghost: rgba(255,255,255,.04);--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 48px;--space-5xl: 64px;--space-6xl: 80px;--radius-2xs: 2px;--radius-xs: 4px;--radius-s: 6px;--radius-sm: 8px;--radius-m: 10px;--radius-md: 12px;--radius-card: 14px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-pill: 100px;--radius-full: 50%;--font-display: Manrope, "Manrope Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 26px;--text-3xl: 32px;--text-4xl: 40px;--text-4xs: 9px;--text-3xs: 10px;--text-2xs: 11px;--text-xs-plus: 13px;--text-md: 16px;--text-xl-sm: 20px;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.7;--shadow-card: 0 2px 12px rgba(0,0,0,.3);--shadow-sheet: 0 -4px 24px rgba(0,0,0,.5)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}@keyframes fadeScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes softReveal{0%{opacity:0}to{opacity:1}}@keyframes slideUpSheet{0%{transform:translateY(100%);opacity:.8}to{transform:translateY(0);opacity:1}}:focus-visible{outline:2px solid rgba(77,101,255,.8);outline-offset:3px;border-radius:var(--radius-xs)}.page,.prop-sheet,.detail-sheet,.modal,.filters-body{scroll-behavior:smooth}.lucide{width:1.25em;height:1.25em;vertical-align:-.15em;flex:none}:root{--color-primary: var(--color-brand);--color-link: var(--color-text-secondary);--color-link-hover: var(--color-text-high);--color-focus-ring: rgba(255, 255, 255, .92);--dialog-scrim: rgba(0, 0, 0, .6);--dialog-radius: var(--radius-xl);--dialog-max-w-compact: 480px;--dialog-max-w-wide: 720px;--dialog-max-h: 90dvh;--dialog-shadow: 0 24px 80px rgba(0, 0, 0, .5)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:3px;border-radius:var(--radius-xs)}.link,a.link{color:var(--color-link);text-decoration:underline;text-underline-offset:2px}.link:hover,a.link:hover{color:var(--color-link-hover)}.link-btn-primary{background:var(--color-primary);color:#fff}.link-btn-primary:hover{background:var(--color-brand-dark)}.link-btn-wa{background:var(--color-success)!important;color:var(--color-text-on-success)!important}.dialog-overlay{background:var(--dialog-scrim);align-items:flex-end}.dialog-surface{border-radius:var(--dialog-radius) var(--dialog-radius) 0 0;max-height:88dvh;box-shadow:var(--dialog-shadow)}.dialog-surface:before{content:"";display:block;width:36px;height:4px;background:#ffffff26;border-radius:2px;margin:8px auto 0}.dialog-surface--compact{max-width:var(--dialog-max-w-compact)}.dialog-surface--wide{max-width:var(--dialog-max-w-wide)}@media(min-width:768px){.dialog-overlay{align-items:center;justify-content:center}.dialog-surface{border-radius:var(--dialog-radius);max-height:var(--dialog-max-h)}.dialog-surface:before{display:none}}@media(prefers-reduced-motion:reduce){.dialog-surface{transition:none!important;transform:none!important}.dialog-overlay{transition-duration:.01ms!important}}.truncate-1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.truncate-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-error)!important;border-bottom-color:var(--color-error)!important;border-top-color:var(--color-error)!important;border-left-color:var(--color-error)!important;border-right-color:var(--color-error)!important;outline:2px solid var(--color-error)!important;outline-offset:1px}input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{border-color:var(--color-error)!important;border-bottom-color:var(--color-error)!important;box-shadow:0 0 0 2px #ef444440!important;outline-color:var(--color-error)!important}input[type=checkbox][aria-invalid=true]{outline:2px solid var(--color-error)!important;outline-offset:2px}input[type=checkbox][aria-invalid=true]+label,label:has(input[type=checkbox][aria-invalid=true]){color:var(--color-error)}.field-error{display:flex;align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-xs);font-size:var(--text-2xs);font-weight:500;line-height:1.4;color:var(--color-error)}.field-error-icon{flex-shrink:0;width:14px;height:14px;margin-top:1px}.field-error-text{flex:1}.consent-label{display:flex;align-items:flex-start;gap:8px;margin:12px 0;font-size:13px;color:#ffffffb3;cursor:pointer}.consent-label input[type=checkbox]{width:24px;height:24px;flex-shrink:0;margin-top:0;accent-color:var(--color-primary, #1127d2)}.consent-label a{color:#fffc;text-decoration:underline}.sd-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-5xl) var(--space-2xl);text-align:center}.sd-state-title{color:var(--color-text-primary);font-size:17px;font-weight:600;text-wrap:balance}.sd-state-body{max-width:42ch;color:var(--color-text-dim);font-size:14px;line-height:1.55;text-wrap:pretty}.sd-state-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-full);background:var(--color-surface-subtle);border:1px solid var(--color-border);color:var(--color-text-muted);margin-bottom:var(--space-xs)}.sd-state-icon svg{width:28px;height:28px}.sd-state-alt-link{color:var(--color-text-secondary);font-size:13px;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}.sd-state-alt-link:hover{color:var(--color-text-primary)}.sd-state-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center;margin-top:var(--space-sm)}.sd-state--error .sd-state-title{color:var(--color-error)}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom));background:var(--color-surface-elevated, #1a1a1a);border-top:1px solid var(--color-border, rgba(255,255,255,.08));color:var(--color-text-high, rgba(255,255,255,.9));font-size:var(--text-sm, 13px);transform:translateY(100%);transition:transform var(--duration-normal, .3s) var(--ease-out-expo, ease)}.cookie-banner.show{transform:translateY(0)}.cookie-banner p{margin:0;flex:1}.cookie-banner a{color:inherit;text-decoration:underline}.cookie-actions{display:flex;gap:var(--space-sm);flex-shrink:0}.cookie-btn{min-height:44px;min-width:88px;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-sm, 8px);font-size:var(--text-sm, 13px);font-weight:600;font-family:inherit;cursor:pointer;border:1px solid transparent;transition:background var(--duration-fast, .15s),border-color var(--duration-fast, .15s)}.cookie-btn--reject{background:var(--color-surface-raised, rgba(255,255,255,.06));border-color:var(--color-border-strong, rgba(255,255,255,.15));color:var(--color-text-primary, #fff)}.cookie-btn--reject:hover{background:#ffffff1f}.cookie-btn--accept{background:var(--color-text-primary, #fff);color:var(--color-bg-deep, #0a0a0a)}.cookie-btn--accept:hover{background:#ffffffe0}@media(max-width:600px){.cookie-banner{flex-direction:column;align-items:stretch;gap:var(--space-md)}.cookie-actions{justify-content:stretch}.cookie-btn{flex:1}}@media(prefers-reduced-motion:reduce){.cookie-banner{transition:none}}.page-enter{animation:fadeUp .5s cubic-bezier(.16,1,.3,1) both}@media(prefers-reduced-motion:reduce){.page-enter{animation:none}}img:not([src]),img[src=""]{visibility:hidden}.detail-overlay{display:flex;position:fixed;inset:0;z-index:150;align-items:flex-start;justify-content:center;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-medium) var(--ease-out-expo),visibility 0s linear var(--duration-medium)}.detail-overlay.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--duration-medium) var(--ease-out-expo)}.detail-sheet{width:100%;height:100dvh;background:var(--color-bg-deep);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(84px + env(safe-area-inset-bottom));transform:translateY(24px);transition:transform var(--duration-moderate) var(--spring)}.detail-overlay.open .detail-sheet{transform:translateY(0)}.detail-back{position:fixed;top:max(16px,env(safe-area-inset-top));left:16px;z-index:170;width:44px;height:44px;border-radius:var(--radius-full);border:none;background:#0006;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--color-text-primary);font-size:var(--text-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-medium) var(--spring),background var(--duration-fast);box-shadow:0 2px 12px #0000004d;-webkit-tap-highlight-color:transparent}.detail-back:hover{background:#0009}.detail-back:active{transform:scale(.9);transition-duration:var(--duration-instant)}.detail-hero{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.detail-gallery-wrap{position:relative;display:flex}.detail-view-all{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:var(--radius-2xl);border:none;background:#0009;backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);color:var(--color-text-primary);font-size:var(--text-xs);font-weight:600;letter-spacing:-.01em;font-family:var(--font-body);cursor:pointer;display:flex;align-items:center;gap:8px;transition:transform var(--duration-normal) var(--spring),background var(--duration-fast);-webkit-tap-highlight-color:transparent;box-shadow:0 4px 16px #0000004d}.detail-view-all:active{transform:translate(-50%) scale(.95);transition-duration:var(--duration-instant)}.detail-view-all:hover{background:var(--color-overlay)}.hero-counter{position:absolute;bottom:16px;left:16px;z-index:10;background:#0000008c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#ffffffd9;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.06em;padding:5px 11px;border-radius:20px;pointer-events:none}.detail-title-bar{padding:64px 24px 16px;animation:fadeUp var(--duration-moderate) var(--ease-out-expo) var(--duration-instant) both}.detail-title-bar:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:#ffffff26;margin:0 auto 16px}.detail-breadcrumb{font-family:var(--font-body);font-size:var(--text-xs);font-weight:400;color:#ffffff8c;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em}.detail-title-above{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;color:var(--color-text-primary);letter-spacing:-.5px;line-height:1.2;margin:0 0 6px}.gallery-overlay{display:flex;position:fixed;inset:0;z-index:300;background:var(--color-bg-deep);flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out-expo),visibility 0s linear var(--duration-fast)}.gallery-overlay.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--duration-fast) var(--ease-out-expo)}.gallery-overlay-header{flex-shrink:0;padding:16px 24px;padding-top:max(16px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-surface-raised)}.gallery-overlay-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--color-text-primary)}.gallery-overlay-close{width:44px;height:44px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:#ffffff0a;color:#ffffffb3;font-size:var(--text-md);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--duration-normal) var(--spring),background var(--duration-fast);-webkit-tap-highlight-color:transparent}.gallery-overlay-close:active{transform:scale(.88);transition-duration:var(--duration-instant)}.gallery-overlay-close:hover{background:var(--color-border);color:var(--color-text-primary)}.gallery-overlay-body{flex:1;overflow-y:auto;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:4px;align-content:start;-webkit-overflow-scrolling:touch}.gallery-overlay-body img{width:100%;display:block;object-fit:cover;cursor:pointer;transition:opacity var(--duration-quick)}.gallery-overlay-body img:active{opacity:.8}.photo-viewer{display:flex;position:fixed;inset:0;z-index:400;background:#000000f2;align-items:center;justify-content:center;cursor:zoom-out;-webkit-tap-highlight-color:transparent;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-quick) var(--ease-out-expo),visibility 0s linear var(--duration-quick)}.photo-viewer.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--duration-quick) var(--ease-out-expo)}.photo-viewer-stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.photo-viewer-stage .snap-track{height:100%}.photo-viewer-slide{flex:0 0 100%;width:100%;min-width:100%;height:100%;object-fit:contain;scroll-snap-align:center;scroll-snap-stop:always}.photo-viewer-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:#0009;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center}.photo-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.1);background:#00000080;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fffc;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-normal) var(--spring),background var(--duration-fast);-webkit-tap-highlight-color:transparent}.photo-viewer-nav:active{transform:translateY(-50%) scale(.88);transition-duration:var(--duration-instant)}.photo-viewer-nav:hover{background:#000000b3;color:var(--color-text-primary)}.photo-viewer-prev{left:12px}.photo-viewer-next{right:12px}.photo-viewer-counter{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-family:var(--font-body);font-size:var(--text-xs-plus);font-weight:500;color:#fff9;letter-spacing:.05em}.detail-body{padding:32px 24px 120px;animation:fadeUp var(--duration-slow) var(--ease-out-expo) var(--duration-quick) both}.detail-price{font-family:var(--font-display);font-size:30px;font-weight:800;color:var(--color-text-primary);letter-spacing:-.8px;margin-bottom:4px;line-height:1.1}.detail-price-label{font-family:var(--font-body);font-size:var(--text-2xs);font-weight:400;color:#ffffff8c;letter-spacing:.06em;text-transform:uppercase;margin-bottom:24px;display:block}.detail-specs-row{display:flex;align-items:center;gap:0;margin-bottom:32px;flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--color-surface-raised);border-bottom:1px solid var(--color-surface-raised)}.detail-spec{display:flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:#aaa}.detail-spec svg{opacity:.5;width:22px;height:22px}.detail-spec-divider{width:1px;height:18px;background:#ffffff1a;margin:0 20px}.detail-more{margin:8px 0 28px;border:1px solid var(--color-border-faint);border-radius:var(--radius-md);overflow:hidden}.detail-more-summary{list-style:none;cursor:pointer;padding:14px 16px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:space-between}.detail-more-summary::-webkit-details-marker{display:none}.detail-more-summary:after{content:"+";font-size:var(--text-lg);font-weight:400;color:var(--color-text-muted)}.detail-more[open] .detail-more-summary:after{content:"\2013"}.detail-more-body{padding:0 16px 16px;border-top:1px solid var(--color-border-faint)}.detail-more-body>:first-child{margin-top:16px}.cost-mortgage-bridge--inline{margin:0 0 24px}.detail-info-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;margin-bottom:28px;background:var(--color-surface-ghost);transition:border-color var(--duration-normal)}.detail-info-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--color-text-primary);margin-bottom:20px;letter-spacing:-.3px}.detail-info-row{display:flex;flex-wrap:wrap;gap:24px;row-gap:18px}.detail-info-item{display:flex;align-items:center;gap:12px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:300;color:#aaa}.detail-info-item svg{opacity:.45;flex-shrink:0;width:22px;height:22px}.detail-info-item strong{color:var(--color-text-primary);font-weight:600}.detail-info-divider{width:100%;height:1px;background:var(--color-surface-raised);margin:22px 0}.detail-section-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:var(--color-text-primary);margin-bottom:14px;letter-spacing:-.3px}.detail-description{font-family:var(--font-body);font-size:var(--text-base);line-height:1.75;color:#aaa;margin-bottom:0;font-weight:300}.detail-description-card{border:1px solid var(--color-border);padding:28px 0;margin-bottom:0;background:transparent}.detail-location-card{padding:28px 0;margin-bottom:0;background:transparent;border-top:1px solid var(--color-border-subtle)}.detail-location-text{font-family:var(--font-body);font-size:var(--text-sm);color:#ccc;margin-bottom:18px;font-weight:500}.detail-maps-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:var(--radius-lg);background:var(--color-surface-subtle);border:1px solid var(--color-border);color:#ffffffd9;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--duration-fast),border-color var(--duration-normal),transform var(--duration-medium) var(--spring)}.detail-maps-btn:hover{background:var(--color-surface-raised);border-color:color-mix(in srgb,var(--agent-accent, var(--color-brand)) 30%,transparent)}.detail-maps-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--agent-accent, var(--color-brand)) 85%,white);outline-offset:2px}.detail-maps-btn:active{transform:scale(.98);transition-duration:var(--duration-instant)}.detail-reg-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;margin-top:8px;margin-bottom:28px;background:var(--color-surface-ghost);transition:border-color var(--duration-normal)}.detail-reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}.detail-reg-label{font-family:var(--font-body);font-size:var(--text-2xs);font-weight:500;color:#ffffff8c;margin-bottom:5px;text-transform:uppercase;letter-spacing:.08em}.detail-reg-value{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.detail-dots{display:flex;justify-content:center;gap:5px;padding:8px 0 6px;background:#161410}.detail-dot{height:5px;width:16px;border-radius:3px;background:#fff3;transform-origin:left center;transition:transform .25s,background .25s}.detail-dot.active{transform:scaleX(1.25);background:#ffffffbf}.detail-overlay.pd-mode{background:#f5f2ec}.detail-overlay.pd-mode .detail-sheet{background:#f5f2ec;padding-bottom:0}.detail-overlay.pd-mode .detail-back{background:#f5f2ecbf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#1a1916;box-shadow:0 2px 12px #1a19161f}.detail-overlay.pd-mode .detail-back:hover{background:#eae6dee6}.detail-mosaic{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-xs);padding:0 var(--space-lg);margin-bottom:var(--space-md)}.detail-mosaic--single{grid-template-columns:1fr}.detail-mosaic-main{position:relative;border:none;padding:0;background:none;cursor:pointer;border-radius:var(--radius-md);overflow:hidden;min-height:220px}.snap-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.snap-track::-webkit-scrollbar{display:none}.snap-track>img{flex:0 0 100%;width:100%;min-width:100%;scroll-snap-align:center;scroll-snap-stop:always;display:block}.detail-mosaic-main .snap-track{min-height:220px}.detail-mosaic-main .detail-hero{width:100%;height:100%;min-height:220px;aspect-ratio:auto;object-fit:cover}.detail-mosaic-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs)}.detail-mosaic-thumb{position:relative;border:none;padding:0;background:var(--color-surface-subtle);border-radius:var(--radius-s);overflow:hidden;cursor:pointer;min-height:80px}.detail-mosaic-thumb img{width:100%;height:100%;min-height:80px;object-fit:cover;display:block;opacity:0;transition:opacity var(--duration-medium) var(--ease-out-expo)}.detail-mosaic-thumb img.loaded{opacity:1}.detail-mosaic-thumb--more .detail-mosaic-count{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--color-overlay);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:700;font-family:var(--font-display)}.detail-mosaic{position:relative}.detail-mosaic-show-all{display:none;position:absolute;right:var(--space-md);bottom:var(--space-md);z-index:5;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.18);background:#0000009e;color:#fff;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);-webkit-tap-highlight-color:transparent}.detail-mosaic-show-all:hover{background:#000000c7;border-color:#ffffff47}.detail-overlay .detail-mosaic-show-all{display:inline-flex}.detail-price-row--hero{align-items:flex-start;margin-bottom:var(--space-md)}.detail-price--hero{font-size:var(--text-3xl);letter-spacing:-1px;line-height:1.05}.detail-price-sqft{display:block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-dim);margin-top:var(--space-xs)}.detail-agent-whisper{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.detail-agent-whisper-photo{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover;border:1px solid var(--color-border-strong)}.detail-agent-whisper-brn{font-size:var(--text-2xs);font-weight:500;color:var(--color-text-dim);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:var(--color-surface-subtle);border:1px solid var(--color-border)}.detail-map-thumb{width:100%;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-subtle);cursor:pointer;text-align:left;color:inherit;font:inherit}.detail-map-thumb-pin{color:var(--color-brand-light);flex-shrink:0}.detail-map-thumb-text{flex:1;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.detail-map-thumb-hint{font-size:var(--text-2xs);color:var(--color-text-muted);flex-shrink:0}.detail-map-expand{display:none;margin-top:var(--space-md)}.detail-map-expand.open{display:block}.detail-other-section{margin-top:var(--space-2xl)}.detail-other-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-dim);margin-bottom:var(--space-md)}.detail-other-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-md)}.detail-other-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-dim);overflow:hidden;text-align:left;padding:0;cursor:pointer;color:inherit;font:inherit}.detail-other-card img{display:block;width:100%;height:100px;object-fit:cover;opacity:0;transition:opacity var(--duration-medium) var(--ease-out-expo)}.detail-other-card img.loaded{opacity:1}.detail-other-img--empty{height:100px;background:var(--color-surface-subtle)}.detail-other-title{display:block;padding:var(--space-sm) var(--space-md) var(--space-2xs);font-size:var(--text-xs);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-other-price{display:block;padding:0 var(--space-md) var(--space-md);font-size:var(--text-xs);font-weight:700;color:var(--color-text-secondary)}@media(max-width:480px){.detail-mosaic{grid-template-columns:1fr}.detail-mosaic-grid{grid-template-columns:repeat(4,1fr)}.detail-mosaic-main .detail-hero{min-height:240px}}.detail-video-launch{width:100%;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-subtle);cursor:pointer;color:inherit;font:inherit}.detail-video-play{width:48px;height:48px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--agent-accent, #1127d2) 20%,transparent);display:flex;align-items:center;justify-content:center;color:var(--agent-accent, #1127d2)}.detail-video-frame iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--radius-md)}.detail-location-community{font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.detail-location-landmarks{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-md)}.detail-location-chip{font-size:var(--text-2xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:var(--color-surface-subtle);border:1px solid var(--color-border);color:var(--color-text-muted)}.detail-map-iframe-wrap{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);margin-bottom:var(--space-md)}.detail-map-iframe{width:100%;height:220px;border:0;display:block}.detail-floorplan-thumb{width:100%;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:none}.detail-floorplan-thumb img{width:100%;display:block;max-height:280px;object-fit:cover}.detail-floorplan-hint{display:block;padding:var(--space-sm);font-size:var(--text-2xs);color:var(--color-text-muted);text-align:center}.sd-floorplan-lightbox{position:fixed;inset:0;z-index:300;background:#000000eb;display:none;align-items:center;justify-content:center;padding:var(--space-lg)}.sd-floorplan-lightbox.open{display:flex}.sd-floorplan-img{max-width:100%;max-height:90vh;border-radius:var(--radius-md)}.sd-floorplan-close{position:absolute;top:var(--space-lg);right:var(--space-lg);background:none;border:none;color:#fff;font-size:2rem;cursor:pointer}.pd-floorplan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-md)}.pd-floorplan-btn{padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:none}.pd-floorplan-btn img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}@media(prefers-reduced-motion:reduce){.detail-sheet{transform:none!important;transition:none!important}.detail-overlay{transition-duration:.01ms!important}.detail-title-bar,.detail-body{animation:none}.detail-maps-btn,.gallery-overlay-close,.photo-viewer-nav{transition:none}.detail-maps-btn:hover,.detail-maps-btn:active,.gallery-overlay-close:hover,.gallery-overlay-close:active,.photo-viewer-nav:hover,.photo-viewer-nav:active{transform:none}}.detail-no-photo{background:var(--color-surface-subtle);border:1px dashed var(--color-border-strong);border-radius:var(--radius-card);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);min-height:220px;padding:var(--space-3xl) var(--space-xl);text-align:center}.detail-no-photo-icon{color:var(--color-text-muted)}.detail-no-photo .sd-state-title{margin:0;color:var(--color-text-primary);font-size:var(--text-base);font-weight:600}.detail-no-photo .sd-state-body{margin:0;max-width:42ch;color:var(--color-text-dim);font-size:var(--text-sm);line-height:1.55}.cost-to-own-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;margin-top:8px;margin-bottom:28px;background:var(--color-surface-ghost);transition:border-color var(--duration-normal)}.cost-to-own-title{font-family:Manrope,Manrope Fallback,sans-serif;font-size:var(--text-xl-sm);font-weight:800;color:#fff;margin-bottom:6px;letter-spacing:-.3px}.cost-to-own-subtitle{font-family:Inter,sans-serif;font-size:var(--text-xs);font-weight:300;color:#ffffff8c;margin-bottom:20px}.cost-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--color-border-ghost)}.cost-row:last-child{border-bottom:none}.cost-row-label{font-family:Inter,sans-serif;font-size:var(--text-xs-plus);font-weight:400;color:var(--color-text-muted);display:flex;align-items:center;gap:8px}.cost-row-label .cost-pct{font-size:var(--text-3xs);font-weight:500;color:#ffffff8c;background:#ffffff0a;padding:2px 6px;border-radius:var(--radius-xs)}.cost-row-value{font-family:Manrope,Manrope Fallback,sans-serif;font-size:var(--text-sm);font-weight:700;color:#ffffffe6;letter-spacing:-.3px}.cost-divider{width:100%;height:1px;background:var(--color-border);margin:4px 0}.cost-row-total{display:flex;justify-content:space-between;align-items:center;padding:16px 0 4px}.cost-row-total .cost-row-label{font-weight:600;color:#fffc;font-size:var(--text-xs-plus)}.cost-row-total .cost-row-value{font-size:var(--text-lg);font-weight:800;color:#fff;letter-spacing:-.5px}.cost-row-sub{padding-top:var(--space-xs)}.cost-row-sub .cost-row-label{font-weight:400;font-size:var(--text-xs);color:var(--color-text-dim)}.cost-row-sub .cost-row-value{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-text-secondary)}.cost-toggle-row{display:flex;align-items:center;gap:8px;margin-bottom:16px}.cost-toggle-btn{padding:9px 16px;border-radius:var(--radius-xl);border:1px solid var(--color-surface-raised);background:transparent;color:#ffffff8c;font-family:Inter,sans-serif;font-size:var(--text-xs);font-weight:500;cursor:pointer;min-height:38px;transition:transform var(--duration-medium) var(--spring),background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast);-webkit-tap-highlight-color:transparent}.cost-toggle-btn:active{transform:scale(.95);transition-duration:var(--duration-instant)}.cost-toggle-btn.active{background:var(--color-surface-raised);color:#fff;border-color:#ffffff8c}@media(hover:hover){.cost-toggle-btn:hover:not(.active){border-color:#ffffff4d;color:#ffffffbf}}.cost-toggle-btn:focus-visible{outline:2px solid var(--color-brand-light);outline-offset:2px}.cost-mortgage-section{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}.cost-mortgage-section.hidden{display:none}.mort-rate-card{background:#ffffff05;border:1px solid var(--color-surface-raised);border-radius:var(--radius-card);padding:16px 12px;text-align:center;cursor:pointer;transition:transform var(--duration-normal) var(--spring),background var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-normal) var(--spring);-webkit-tap-highlight-color:transparent}.mort-rate-card:active{transform:scale(.96);transition-duration:var(--duration-instant)}@media(hover:hover){.mort-rate-card:hover{border-color:#ffffff8c;background:#ffffff0a}}.mort-rate-card.active{background:#4d65ff0f;border-color:#4d65ff40;box-shadow:0 4px 20px #4d65ff14}.mort-rate-type{font-family:Inter,sans-serif;font-size:var(--text-3xs);font-weight:500;color:#ffffff8c;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.mort-rate-card.active .mort-rate-type{color:#4d65ff99}.mort-rate-value{font-family:Manrope,Manrope Fallback,sans-serif;font-size:var(--text-lg);font-weight:800;color:#fff;letter-spacing:-.3px}.mort-rate-card.active .mort-rate-value{color:var(--color-brand-light)}.mort-step-bar{display:flex;align-items:center;gap:0;margin-top:10px}.mort-step-dot{width:26px;height:26px;border-radius:var(--radius-full);background:#ffffff0a;border:1.5px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--duration-normal) var(--spring),border-color var(--duration-normal) var(--spring),box-shadow var(--duration-normal) var(--spring)}.mort-step-dot span{font-family:Inter,sans-serif;font-size:var(--text-3xs);font-weight:600;color:#ffffff8c;transition:color var(--duration-normal)}.mort-step-dot.active{background:#4d65ff1f;border-color:var(--color-brand-light);box-shadow:0 0 12px #4d65ff40}.mort-step-dot.active span{color:var(--color-brand-light);font-weight:700}.mort-step-dot.done{background:var(--color-success);border-color:var(--color-success)}.mort-step-dot.done span{color:#fff}.mort-step-line{flex:1;height:1.5px;min-width:12px;background:var(--color-border);transition:background var(--duration-normal) var(--spring)}.mort-step-dot.done+.mort-step-line,.mort-step-line:has(+.mort-step-dot.done),.mort-step-line:has(+.mort-step-dot.active){background:var(--color-brand-light)}.mort-bank-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:var(--radius-card);background:var(--color-surface-ghost);border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:transform var(--duration-normal) var(--spring),background var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-normal) var(--spring);-webkit-tap-highlight-color:transparent}.mort-bank-card>div:first-child{min-width:0;flex:1}.mort-bank-card>div:last-child{flex-shrink:0}.mort-bank-card:active{transform:scale(.97);transition-duration:var(--duration-instant)}@media(hover:hover){.mort-bank-card:hover{border-color:#ffffff8c;background:#ffffff08}}.mort-bank-card.active{background:#4d65ff0d;border-color:#4d65ff33;box-shadow:0 4px 20px #4d65ff0f}.mort-bank-name{font-family:Inter,sans-serif;font-size:var(--text-sm);font-weight:600;color:#fff;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.mort-bank-product{font-family:Inter,sans-serif;font-size:var(--text-2xs);font-weight:400;color:var(--color-text-muted);margin-top:3px}.mort-bank-rate{font-family:Manrope,Manrope Fallback,sans-serif;font-size:var(--text-xl-sm);font-weight:800;color:#fff;letter-spacing:-.5px;text-align:right}.mort-bank-card.active .mort-bank-rate{color:var(--color-brand-light)}.mort-bank-monthly{font-family:Inter,sans-serif;font-size:var(--text-2xs);font-weight:300;color:var(--color-text-muted);text-align:right;margin-top:3px}.mort-step{padding:24px 24px 40px;padding-bottom:max(40px,calc(20px + env(safe-area-inset-bottom)));overflow-x:hidden;width:100%;max-width:480px;margin:0 auto}.mort-step input[style*="border:none"]{outline:none}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;border-radius:1px;background:var(--color-border);outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:var(--radius-full);background:#fff;box-shadow:0 2px 8px #0000004d,0 0 0 1px #ffffff1a;cursor:pointer;transition:transform var(--duration-fast) var(--spring),box-shadow var(--duration-fast)}input[type=range]::-webkit-slider-thumb:active{transform:scale(1.2);box-shadow:0 2px 12px #0006,0 0 16px #4d65ff66,0 0 0 4px #4d65ff26}input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:var(--radius-full);background:#fff;border:none;box-shadow:0 2px 8px #0000004d;cursor:pointer}input[type=range]::-moz-range-track{height:2px;border-radius:1px;background:var(--color-border)}.mort-upload-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-card);background:var(--color-surface-ghost);border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:transform var(--duration-normal) var(--spring),background var(--duration-fast),border-color var(--duration-fast);-webkit-tap-highlight-color:transparent}.mort-upload-row:active{transform:scale(.98);transition-duration:var(--duration-instant)}@media(hover:hover){.mort-upload-row:hover{border-color:#ffffff8c;background:#ffffff08}}.mort-upload-row.uploaded{border-color:#25d36626;background:#25d36608}.mort-upload-icon{width:36px;height:36px;border-radius:var(--radius-m);background:var(--color-surface-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-muted);transition:background var(--duration-fast),color var(--duration-fast)}.mort-upload-row.uploaded .mort-upload-icon{color:var(--color-success);background:#25d36614}.mort-upload-info{flex:1}.mort-upload-label{font-family:Inter,sans-serif;font-size:var(--text-xs-plus);font-weight:600;color:#ffffffb3;display:block}.mort-upload-status{font-family:Inter,sans-serif;font-size:var(--text-2xs);font-weight:300;color:#ffffff8c;display:block;margin-top:3px}.mort-upload-row.uploaded .mort-upload-status{color:#25d366b3}.mort-upload-action{flex-shrink:0}.detail-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;margin-left:auto;margin-right:auto;z-index:160;width:100%;max-width:420px;box-sizing:border-box;background:#000000e0;backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);padding:16px 24px;padding-bottom:max(16px,env(safe-area-inset-bottom));justify-content:center;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.05);animation:fadeUp var(--duration-moderate) var(--spring) var(--duration-fast) both}.detail-cta-bar.open{display:flex}.detail-cta-inquire{flex:1;min-width:0;max-width:280px;min-height:52px;padding:16px 20px;border-radius:var(--radius-card);border:none;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--agent-accent, var(--color-brand));color:#fff;font-size:var(--text-base);font-weight:600;font-family:Inter,sans-serif;cursor:pointer;letter-spacing:-.01em;white-space:nowrap;text-overflow:clip;box-shadow:0 1px 3px #0000004d,inset 0 1px 0 var(--color-border);transition:transform var(--duration-medium) var(--spring),box-shadow var(--duration-medium) var(--spring);position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.detail-cta-inquire:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--color-surface-raised) 0%,transparent 50%);pointer-events:none}.detail-cta-inquire:active{transform:scale(.97);transition-duration:var(--duration-instant)}@media(hover:hover){.detail-cta-inquire:hover{transform:translateY(-1px);box-shadow:0 8px 32px color-mix(in srgb,var(--agent-accent, var(--color-brand)) 35%,transparent),0 2px 6px #0003}}.detail-cta-bar--wa-primary{gap:var(--space-md)}.detail-cta-wa--primary{flex:1;min-height:52px;width:auto;height:auto;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-card);font-size:var(--text-base);font-weight:600;font-family:Inter,sans-serif;text-decoration:none;gap:var(--space-sm)}.detail-cta-bar--wa-primary .detail-cta-inquire{background:var(--color-surface-subtle);color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:none}.detail-cta-bar--wa-primary .detail-cta-inquire:after{display:none}.detail-cta-inquire:focus-visible,.detail-cta-wa:focus-visible,.mort-btn-primary:focus-visible{outline:2px solid color-mix(in srgb,var(--agent-accent, var(--color-brand)) 85%,white);outline-offset:2px}.detail-cta-wa{width:52px;height:52px;border-radius:var(--radius-card);border:none;background:var(--color-success);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0003;transition:transform var(--duration-medium) var(--spring),box-shadow var(--duration-medium) var(--spring);-webkit-tap-highlight-color:transparent}.detail-cta-wa:active{transform:scale(.93);transition-duration:var(--duration-instant)}@media(hover:hover){.detail-cta-wa:hover{transform:translateY(-1px);box-shadow:0 8px 32px #25d36640,0 2px 6px #0003}}.cost-mortgage-bridge{width:100%;margin-top:16px;padding:14px 16px;border-radius:var(--radius-card);border:1px solid color-mix(in srgb,var(--agent-accent, var(--color-brand)) 35%,transparent);background:color-mix(in srgb,var(--agent-accent, var(--color-brand)) 12%,transparent);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:600;font-family:Inter,sans-serif;cursor:pointer;text-align:center;transition:transform var(--duration-medium) var(--spring),background var(--duration-medium) var(--spring)}.cost-mortgage-bridge--inline{margin-top:0;margin-bottom:24px;border:none;background:transparent;color:var(--color-text-secondary);padding:8px 0;text-align:left;font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#fff3}.cost-mortgage-bridge--inline:hover{color:var(--color-text-primary);background:transparent}.cost-mortgage-bridge:active{transform:scale(.98)}@media(hover:hover){.cost-mortgage-bridge:hover{background:color-mix(in srgb,var(--agent-accent, var(--color-brand)) 20%,transparent)}.cost-mortgage-bridge--inline:hover{background:transparent}}.mort-amort-bar{display:flex;height:10px;border-radius:5px;overflow:hidden}.mort-amort-principal{background:#1127d2}.mort-amort-interest{background:#ff505080}.mort-amort-labels{display:flex;justify-content:space-between}.mort-status-tracker{display:flex;gap:4px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.mort-status-step{flex:1;min-width:56px;text-align:center;opacity:.35}.mort-status-step--done{opacity:.7}.mort-status-step--active{opacity:1}.mort-status-step--rejected .mort-status-dot{background:#ff505033;border-color:#ff505080;color:#f88}.mort-status-dot{width:28px;height:28px;border-radius:50%;margin:0 auto 6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:#ffffff0f;border:1px solid rgba(255,255,255,.12)}.mort-status-step--done .mort-status-dot{background:#25d3661f;border-color:#25d3664d;color:#25d366}.mort-status-step--active .mort-status-dot{background:#4d65ff26;border-color:#4d65ff66;color:#8fa4ff}.mort-status-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#ffffff8c;display:block;line-height:1.2}.mort-status-rejected{font-size:11px;color:#ff7878cc;margin:-8px 0 16px;text-align:center}.mort-doc-upload{margin-bottom:16px}.mort-doc-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#ffffff73;margin-bottom:4px}.mort-doc-hint{font-size:11px;color:#ffffff4d;margin:0 0 12px;font-weight:300}.mort-qual-summary{background:#4d65ff0f;border:1px solid rgba(77,101,255,.12);border-radius:10px;padding:14px 16px;margin-bottom:16px}.mort-qual-summary-title{font-size:11px;color:#4d65ffb3;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}.mort-qual-row{display:flex;justify-content:space-between;padding:3px 0;font-size:12px}.mort-qual-row span:first-child{color:#fff6;font-weight:300}.mort-qual-row span:last-child{color:#fff;font-weight:600}.mort-sla-box{background:#25d3660f;border:1px solid rgba(37,211,102,.12);border-radius:10px;padding:14px 16px;margin-bottom:12px}.mort-sla-title{font-size:12px;color:#fff;font-weight:600;margin-bottom:4px}.mort-sla-sub{font-size:11px;color:#ffffff59;font-weight:300;line-height:1.4}.mort-wa-link{display:block;text-align:center;margin-bottom:var(--space-md);text-decoration:none}.mort-status-link-hint{font-size:11px;color:#ffffff4d;text-align:center;margin:0 0 16px;line-height:1.5}.mort-status-link{color:#4d65ffd9;word-break:break-all}.mort-amort-block{margin-bottom:16px}.mort-amort-title{font-size:11px;color:#ffffff59;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.mort-amort-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;margin-bottom:8px}.mort-nav-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.mort-profile-match{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.mort-profile-match-label{font-size:var(--text-2xs);font-weight:600;color:var(--color-text-dim)}.mort-profile-match-detail{font-size:var(--text-3xs);font-weight:400;color:var(--color-text-muted)}.mort-bank-logo{width:28px;height:28px;border-radius:var(--radius-s);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:10px}.mort-bank-logo-abbrev{font-size:var(--text-3xs);font-weight:800;color:var(--color-text-primary);letter-spacing:-.3px}.mort-bank-card--featured{background:color-mix(in srgb,var(--agent-accent, var(--color-brand)) 8%,transparent);border-color:color-mix(in srgb,var(--agent-accent, var(--color-brand)) 22%,transparent)}.mort-rate-label{font-size:var(--text-2xs);font-weight:600;color:var(--color-text-dim);margin-bottom:var(--space-xs)}.mort-bank-card-row{display:flex;align-items:center}.mort-bank-card-body{flex:1;min-width:0}.mort-bank-card-rate-col{flex-shrink:0;text-align:right}.mort-rates-footer{text-align:center;padding:var(--space-sm) 0 0;font-size:var(--text-3xs);color:var(--color-text-muted);font-weight:400}.mort-btn-primary{width:100%;min-height:48px;padding:var(--space-md) var(--space-lg);margin:0;border:none;border-radius:var(--radius-card);background:var(--agent-accent, var(--color-brand));color:var(--color-text-primary);font-family:Inter,sans-serif;font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);box-shadow:0 1px 3px #0000004d,inset 0 1px 0 var(--color-border);transition:transform var(--duration-medium) var(--spring),box-shadow var(--duration-medium) var(--spring),opacity var(--duration-quick);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.mort-btn-primary:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--color-surface-raised) 0%,transparent 50%);pointer-events:none}.mort-btn-primary:active{transform:scale(.97);transition-duration:var(--duration-instant)}.mort-btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}@media(hover:hover){.mort-btn-primary:hover:not(:disabled){box-shadow:0 8px 32px #1127d259,0 2px 6px #0003}}.mort-btn-primary:focus-visible{outline:2px solid var(--color-brand-light);outline-offset:2px}.mort-header-lead{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.mort-header-back{width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-full);border:none;background:var(--color-surface-raised);color:var(--color-text-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--duration-normal) var(--spring),background var(--duration-fast),color var(--duration-fast);-webkit-tap-highlight-color:transparent}.mort-header-back[hidden]{display:none!important}.mort-header-back:active{transform:scale(.88);transition-duration:var(--duration-instant)}@media(hover:hover){.mort-header-back:hover{background:#ffffff1a;color:#fff}}.mort-header-back:focus-visible{outline:2px solid var(--color-brand-light);outline-offset:2px}.mort-btn-secondary{width:100%;min-height:44px;padding:var(--space-md) var(--space-lg);margin:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:transparent;color:var(--color-text-secondary);font-family:Inter,sans-serif;font-size:var(--text-sm);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast);-webkit-tap-highlight-color:transparent}.mort-btn-secondary:hover{background:var(--color-surface-raised);color:var(--color-text-primary)}.mort-btn-secondary:focus-visible{outline:2px solid var(--color-brand-light);outline-offset:2px}.mort-footer{position:sticky;bottom:0;z-index:2;display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-lg);margin-left:calc(-1 * var(--space-lg));margin-right:calc(-1 * var(--space-lg));padding:var(--space-lg);padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent 0%,var(--color-bg-deep) 20%,var(--color-bg-deep) 100%)}.mort-footer--step1{margin-top:var(--space-md)}.mort-footer--success{margin-top:var(--space-xl);padding-top:var(--space-md)}.mort-elig-hint{font-size:var(--text-2xs);color:var(--color-text-muted);font-weight:400;line-height:1.45;margin-top:var(--space-sm)}.modal-hint-inline{font-weight:400;color:var(--color-text-muted);font-size:var(--text-2xs)}.mort-wa-link.mort-btn-secondary{color:var(--color-success);border-color:#25d36640;background:#25d3660f}.mort-wa-link.mort-btn-secondary:hover{background:#25d3661a;border-color:#25d36659;color:var(--color-success)}.mort-step-subtitle{font-size:var(--text-2xs);color:var(--color-text-muted);font-weight:400;margin-top:var(--space-2xs);line-height:1.4}.mort-step-bar--dual{max-width:120px;margin-top:var(--space-sm)}.mort-step-line--done{background:var(--color-brand-light)!important}.mort-step--enter{animation:mortStepIn var(--duration-moderate) var(--ease-out-expo) both}.mort-step--enter-back{animation:mortStepInBack var(--duration-moderate) var(--ease-out-expo) both}@keyframes mortStepIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@keyframes mortStepInBack{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}.mort-bank-skeleton{display:flex;flex-direction:column;gap:var(--space-sm)}.mort-bank-skeleton-row{height:64px;border-radius:var(--radius-card);background:linear-gradient(90deg,var(--color-surface-subtle) 0%,var(--color-surface-raised) 50%,var(--color-surface-subtle) 100%);background-size:200% 100%;animation:mortSkeletonShimmer 1.2s ease-in-out infinite}@keyframes mortSkeletonShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.mort-rates-error{text-align:center;padding:var(--space-lg);font-size:var(--text-xs);color:var(--color-error-light)}.mort-wa-primary{display:flex;text-decoration:none;text-align:center}.mort-income-optional{display:none;margin-bottom:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);background:var(--color-surface-subtle)}.mort-income-optional--visible{display:block}.mort-income-optional-summary{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);cursor:pointer;list-style:none}.mort-income-optional-summary::-webkit-details-marker{display:none}@media(prefers-reduced-motion:reduce){.mort-step--enter,.mort-step--enter-back,.mort-bank-skeleton-row{animation:none}.cost-toggle-btn,.mort-header-back,.mort-btn-primary{transition:none}.cost-toggle-btn:hover,.cost-toggle-btn:active,.cost-toggle-btn.active,.mort-header-back:hover,.mort-header-back:active,.mort-btn-primary:hover,.mort-btn-primary:active{transform:none}}.mortgage-launcher{position:fixed;inset:0;z-index:170;background:var(--dialog-scrim, rgba(0,0,0,.6));display:flex;align-items:flex-end;justify-content:center;padding:var(--space-lg)}.mortgage-launcher[hidden]{display:none!important}.mortgage-launcher-sheet{width:min(420px,100%);background:var(--color-bg-deep);border:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-xl);position:relative}.mortgage-launcher-close{position:absolute;top:var(--space-md);right:var(--space-md);width:44px;height:44px;border-radius:var(--radius-full);border:none;background:var(--color-surface-raised);color:#ffffffb3;font-size:var(--text-lg);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-normal) var(--spring),background var(--duration-fast),color var(--duration-fast);-webkit-tap-highlight-color:transparent}.mortgage-launcher-close:active{transform:scale(.88);transition-duration:var(--duration-instant)}@media(hover:hover){.mortgage-launcher-close:hover{background:#ffffff1a;color:#fff}}.mortgage-launcher-close:focus-visible{outline:2px solid var(--color-brand-light);outline-offset:2px}.mortgage-launcher-title{font-family:Manrope,sans-serif;font-size:var(--text-lg);font-weight:800;margin:0 0 var(--space-sm)}.mortgage-launcher-copy{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-lg);line-height:1.5}body.mortgage-fullpage #mortgage-modal.modal-overlay.open{background:var(--color-bg-deep);align-items:stretch;justify-content:center}body.mortgage-fullpage #mortgage-modal .modal--mort{max-width:480px;width:100%;min-height:100vh;min-height:100dvh;border-radius:0;margin:0;border:none;box-shadow:none;background:var(--color-bg-deep)}body.mortgage-fullpage #mortgage-modal .modal-header{padding-top:max(20px,env(safe-area-inset-top))}body.mortgage-fullpage #mortgage-modal .modal-body{padding-bottom:max(32px,env(safe-area-inset-bottom))}body.mortgage-fullpage .mort-step-bar--dual{margin-bottom:var(--space-xl)}body.mortgage-fullpage #mort-step-1 .mort-step-intro,body.mortgage-fullpage #mort-step-2 .mort-bank-info-row{color:var(--color-text-secondary)}@media(min-width:768px){body.mortgage-fullpage #mortgage-modal.modal-overlay.open{align-items:center}body.mortgage-fullpage #mortgage-modal .modal--mort{min-height:0;max-width:var(--dialog-max-w-compact, 480px);max-height:var(--dialog-max-h, 90dvh);height:auto;border-radius:var(--dialog-radius, var(--radius-xl));box-shadow:var(--dialog-shadow, 0 24px 80px rgba(0,0,0,.5))}}.mort-eibor-badge{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);background:color-mix(in srgb,var(--color-brand) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-brand) 18%,transparent);border-radius:var(--radius-sm)}.mort-eibor-badge svg{flex-shrink:0;color:var(--color-brand-light)}.mort-eibor-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:1px var(--space-xs)}.mort-eibor-value{font-size:var(--text-2xs);font-weight:700;color:var(--color-text-primary)}.mort-eibor-formula{font-size:var(--text-2xs);font-weight:400;color:var(--color-text-muted)}.modal-overlay{display:flex;position:fixed;inset:0;z-index:100;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-medium) var(--ease-out-expo),visibility 0s linear var(--duration-medium)}#mortgage-modal.modal-overlay{z-index:180;overflow:hidden}.modal-overlay.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--duration-medium) var(--ease-out-expo)}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;height:100vh;height:100dvh;background:#0a0a0a;padding:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transform:translateY(100%);transition:transform .35s var(--spring)}.modal-overlay.open .modal{transform:translateY(0)}@media(min-width:768px){.modal{height:auto}}.modal:before{content:"";display:none;width:36px;height:4px;background:#ffffff1f;border-radius:var(--radius-2xs);margin:8px auto 0}.modal-header{position:sticky;top:0;z-index:2;background:#0a0a0a;padding:20px 24px 18px;padding-top:max(20px,env(safe-area-inset-top));border-bottom:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center}.modal-title{font-family:Manrope,sans-serif;font-size:var(--text-lg);font-weight:700;letter-spacing:-.3px}.modal-close{width:44px;height:44px;border-radius:var(--radius-full);border:none;background:var(--color-surface-raised);color:#ffffffb3;font-size:var(--text-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--duration-normal) var(--spring),background var(--duration-fast);-webkit-tap-highlight-color:transparent}.modal-close:active{transform:scale(.88);transition-duration:var(--duration-instant)}.modal-close:hover{background:#ffffff1a;color:#fff}.modal-body{padding:24px 24px max(36px,calc(20px + env(safe-area-inset-bottom)));overflow-x:hidden;max-width:480px;margin:0 auto;width:100%}.modal-field{margin-bottom:16px}.modal-field label{display:block;font-size:var(--text-2xs);font-weight:600;letter-spacing:0;text-transform:none;color:var(--color-text-dim);margin-bottom:8px}.modal-field input,.modal-field select,.modal-field textarea{width:100%;padding:14px 0;border-radius:0;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;font-size:var(--text-md);font-weight:400;font-family:Inter,sans-serif;outline:none;transition:border-color var(--duration-normal) var(--spring);-webkit-appearance:none}.modal-field div[style*="display:flex"] input{width:auto;border-bottom:none}.modal-field select{cursor:pointer;padding:12px 0}.modal-field select option{background:#111;color:#fff}.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus{background:transparent;border-bottom-color:var(--color-brand-light);box-shadow:0 1px 0 0 var(--color-brand-light)}.modal-field input:focus-visible,.modal-field select:focus-visible,.modal-field textarea:focus-visible{outline:none}.modal-field input::placeholder,.modal-field textarea::placeholder{color:var(--color-text-muted)}.modal-field textarea{resize:none;height:80px}.modal-hint{display:block;font-size:var(--text-3xs);color:#ffffff8c;margin-top:4px}.modal-req{color:var(--color-success)}.modal-expander{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;margin:4px 0 16px;cursor:pointer;font-size:var(--text-xs);font-weight:600;color:#ffffff8c;border:1px dashed rgba(255,255,255,.1);border-radius:var(--radius-sm);background:transparent;width:100%;transition:all var(--duration-fast)}.modal-expander:hover{color:#ffffff8c;border-color:#ffffff8c}.modal-expander svg{transition:transform var(--duration-fast)}.modal-expander.open svg{transform:rotate(180deg)}.modal-extra{display:none}.modal-extra.open{display:block}.modal-btn{width:100%;padding:16px 24px;margin-top:12px;background:var(--color-brand);color:#fff;border-radius:var(--radius-card);font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;border:none;cursor:pointer;font-family:Inter,sans-serif;transition:transform var(--duration-medium) var(--spring),box-shadow var(--duration-medium) var(--spring),opacity var(--duration-quick);box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff1a;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden;min-width:0}div[style*="display:flex"]>.modal-btn{width:auto}.modal-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--color-surface-raised) 0%,transparent 50%);pointer-events:none}.modal-btn:active{transform:scale(.97);transition-duration:var(--duration-instant)}.modal-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.modal-error{border-radius:var(--radius-sm);background:#f871710f;padding:14px;font-size:var(--text-xs-plus);color:#f87171;display:none;line-height:1.4;text-align:center;margin-bottom:16px}.modal-error.show{display:block}.modal-success{text-align:center;padding:20px 0}.modal-success-icon{width:64px;height:64px;border-radius:var(--radius-full);background:#25d36614;border:1.5px solid rgba(37,211,102,.2);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;animation:fadeScale var(--duration-slow) var(--spring-bounce) both}.modal-success h3{font-family:Manrope,sans-serif;font-size:var(--text-xl);font-weight:500;margin-bottom:8px}.modal-success p{font-size:var(--text-sm);color:#fff9;line-height:1.5}.spinner-sm{width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:var(--radius-full);animation:spin var(--duration-entrance) linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.modal{transform:none!important;transition:none!important}.modal-overlay{transition-duration:.01ms!important}.modal-success-icon{animation:none}.modal-close,.modal-btn,.modal-expander svg{transition:none}.modal-close:hover,.modal-close:active,.modal-btn:hover,.modal-btn:active{transform:none}}#lead-modal .lead-agent{display:flex;align-items:center;gap:var(--space-md);padding-bottom:var(--space-lg);margin-bottom:var(--space-xl);border-bottom:1px solid var(--color-border-faint)}#lead-modal .lead-agent[hidden]{display:none}#lead-modal .lead-agent-avatar{width:44px;height:44px;border-radius:var(--radius-full);object-fit:cover;border:1.5px solid var(--color-border-strong);flex-shrink:0}#lead-modal .lead-agent-meta{display:flex;flex-direction:column;gap:var(--space-2xs)}#lead-modal .lead-agent-name{font-family:Manrope,Manrope Fallback,sans-serif;font-weight:700;font-size:var(--text-sm);letter-spacing:-.2px;color:var(--color-text-primary)}#lead-modal .lead-agent-reply{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-2xs);color:var(--color-text-muted)}#lead-modal .lead-agent-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-success);flex-shrink:0}#lead-modal .modal-field input,#lead-modal .modal-field select,#lead-modal .modal-field textarea{padding:13px 14px;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out-expo),background var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo)}#lead-modal .modal-field textarea{padding-top:12px}#lead-modal .modal-field input:hover,#lead-modal .modal-field select:hover,#lead-modal .modal-field textarea:hover{border-color:var(--color-border-strong)}#lead-modal .modal-field input:focus,#lead-modal .modal-field select:focus,#lead-modal .modal-field textarea:focus{background:var(--color-surface-raised);border-color:var(--color-brand-light);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand-light) 18%,transparent)}#lead-modal .modal-field input[aria-invalid=true],#lead-modal .modal-field select[aria-invalid=true],#lead-modal .modal-field textarea[aria-invalid=true]{border-color:#ef4444!important;outline:2px solid #ef4444!important;outline-offset:1px}#lead-modal .modal-field input[aria-invalid=true]:focus,#lead-modal .modal-field select[aria-invalid=true]:focus,#lead-modal .modal-field textarea[aria-invalid=true]:focus{border-color:#ef4444!important;box-shadow:0 0 0 2px #ef444440!important}#lead-modal .modal-field select{-webkit-appearance:none;appearance:none;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='%234d65ff' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}#lead-modal .modal-btn{background:linear-gradient(180deg,var(--color-brand-light) 0%,var(--color-brand) 100%);box-shadow:0 6px 20px color-mix(in srgb,var(--color-brand) 35%,transparent),inset 0 1px #ffffff2e}#lead-modal .modal-btn:hover:not(:disabled){box-shadow:0 8px 26px color-mix(in srgb,var(--color-brand) 45%,transparent),inset 0 1px #ffffff38;transform:translateY(-1px)}#lead-modal .modal-expander{border:1px solid var(--color-border);background:var(--color-surface-ghost);color:var(--color-text-dim);transition:background var(--duration-fast) var(--ease-out-expo),border-color var(--duration-fast) var(--ease-out-expo),color var(--duration-fast) var(--ease-out-expo)}#lead-modal .modal-expander:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong);color:var(--color-text-secondary)}#lead-modal .modal-extra{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-medium) var(--ease-out-expo)}#lead-modal .modal-extra.open{grid-template-rows:1fr}#lead-modal .modal-extra-inner{overflow:hidden;min-height:0}@media(prefers-reduced-motion:reduce){#lead-modal .modal-extra{transition:none}}#lead-modal .lead-consent{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:var(--text-3xs);font-weight:400;letter-spacing:normal;text-transform:none;color:var(--color-text-muted);cursor:pointer}#lead-modal .lead-consent input{flex-shrink:0;margin-top:2px;width:16px;height:16px;accent-color:var(--color-brand-light);cursor:pointer}#lead-modal .lead-consent a{color:var(--color-text-secondary);text-decoration:underline}.sd-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-2xl);border:1px solid transparent;border-radius:var(--radius-card);font-family:inherit;font-size:15px;font-weight:600;line-height:1;letter-spacing:-.01em;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .22s var(--spring),box-shadow .22s var(--spring),background .22s var(--spring),border-color .22s var(--spring)}.sd-btn:disabled,.sd-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.sd-btn--primary{background:var(--color-brand);color:var(--color-text-primary)}.sd-btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 36px #1127d273,0 4px 12px #00000040}.sd-btn--ghost{background:var(--color-surface-raised);border-color:var(--color-border-strong);color:var(--color-text-secondary);font-weight:500}.sd-btn--ghost:hover:not(:disabled){transform:translateY(-2px);background:#ffffff17;border-color:#ffffff47;color:var(--color-text-primary)}.sd-btn--danger{background:transparent;border-color:var(--color-error);color:var(--color-error)}.sd-btn--danger:hover:not(:disabled){background:var(--color-error);color:var(--color-text-primary)}.sd-btn:active:not(:disabled){transform:scale(.98)}.sd-btn--block{width:100%}.sd-input{width:100%;padding:var(--space-md) var(--space-lg);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:inherit;font-size:15px;transition:border-color .22s var(--spring),background .22s var(--spring)}.sd-input::placeholder{color:var(--color-text-muted)}.sd-input:hover{border-color:var(--color-border-strong)}.sd-input:focus{outline:none;border-color:var(--color-brand-light);background:#ffffff0f}.sd-label{display:block;margin-bottom:var(--space-sm);color:var(--color-text-secondary);font-size:13px;font-weight:500}.sd-skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 37%,#ffffff0a 63%);background-size:400% 100%;border-radius:var(--radius-sm);animation:sd-skeleton-sheen 1.4s ease-in-out infinite}@keyframes sd-skeleton-sheen{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){#cookie-banner{transition:none!important}.sd-btn,.sd-input{transition:none}.sd-btn:hover:not(:disabled),.sd-btn:active:not(:disabled){transform:none}.sd-skeleton{animation:none;background:var(--color-surface-raised)}}.card-cta,.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px}.footer-link{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;margin:0 -6px}.logo{display:inline-flex;align-items:center;min-height:44px}.sd-btn{min-height:44px}html:has(body.listing-page){height:auto!important;overflow:visible!important}html{height:auto;overflow:visible}body{height:auto;min-height:100dvh;overflow:auto;overflow-x:hidden;font-family:var(--font-body)}body.listing-page{height:auto!important;min-height:100dvh;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior:auto;position:static}body.listing-page #main-content{overflow:visible}.listing-detail-sheet{position:static!important;transform:none!important;background:transparent;height:auto!important;max-height:none!important;max-width:960px;margin:0 auto;overflow:visible!important;padding:0 var(--space-lg);padding-bottom:96px;display:flex;flex-direction:column}.listing-hero{order:1;position:relative;margin-inline:calc(-1 * var(--space-lg));margin-bottom:var(--space-lg);height:min(62vh,560px);overflow:hidden;isolation:isolate}.listing-hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#00000057,#0000000f 26%,#0000004d,#000000c7 82%,#000000f0)}.listing-detail-sheet .listing-hero .detail-mosaic,.listing-detail-sheet .listing-hero .detail-mosaic--single{height:100%;max-height:none;margin:0;padding:0;display:block}.listing-detail-sheet .listing-hero .detail-mosaic:not(.detail-mosaic--single){height:100%;max-height:none}.listing-detail-sheet .listing-hero .detail-mosaic:not(.detail-mosaic--single) .detail-mosaic-main{height:100%}.listing-detail-sheet .listing-hero .detail-mosaic-grid{display:none}.listing-detail-sheet .listing-hero .detail-mosaic-main{height:100%;width:100%;border-radius:0}.listing-detail-sheet .listing-hero .detail-mosaic-main .detail-hero{height:100%;width:100%;object-fit:cover}.listing-detail-sheet .listing-hero{--listing-toolbar-h: 68px}.listing-detail-sheet .listing-hero .detail-mosaic-show-all{z-index:3;top:calc(var(--listing-toolbar-h) + env(safe-area-inset-top));bottom:auto;right:var(--space-lg)}.listing-detail-sheet .listing-hero .hero-counter{top:calc(var(--listing-toolbar-h) + env(safe-area-inset-top));bottom:auto;left:var(--space-lg);z-index:3;backdrop-filter:none;-webkit-backdrop-filter:none;background:#0009}.listing-hero__meta{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:var(--space-lg);padding-bottom:var(--space-xl);display:flex;flex-direction:column;align-items:flex-start;gap:2px;pointer-events:none}.listing-hero__permit{font-size:var(--text-2xs);padding:4px 9px;border-radius:var(--radius-xl);background:#0000008c;border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);margin-bottom:8px}.listing-hero__loc{font-size:var(--text-xs);color:#ffffffc7;letter-spacing:.01em}.listing-hero__title{font-family:Manrope,sans-serif;font-weight:800;font-size:clamp(22px,6vw,34px);letter-spacing:-.03em;line-height:1.08;color:#fff;margin:2px 0 0;text-wrap:balance}.listing-hero__price{font-family:Manrope,sans-serif;font-weight:800;font-size:clamp(26px,7.4vw,42px);letter-spacing:-.035em;line-height:1;color:#fff;margin-top:10px;font-variant-numeric:tabular-nums}.listing-hero__sub{font-size:var(--text-2xs);color:#ffffff9e;margin-top:5px;letter-spacing:.01em}.detail-body--listing{order:3}.detail-body--listing .listing-cta--inline{margin:var(--space-xl) 0 var(--space-md)}.detail-body--listing .detail-info-card,.detail-body--listing .detail-description-card,.detail-body--listing .detail-reg-card,.detail-body--listing .cost-to-own-card{border:0;border-radius:0;background:transparent;padding:var(--space-2xl) 0;margin:0}.detail-body--listing .detail-info-card+*,.detail-body--listing .detail-description-card+*,.detail-body--listing .detail-reg-card+*,.detail-body--listing .detail-location-card+*{border-top:1px solid var(--color-border-subtle)}.detail-body--listing .detail-location-card{border-top:1px solid var(--color-border-subtle);padding:var(--space-2xl) 0;margin:0}.detail-body--listing .detail-info-title,.detail-body--listing .detail-section-title{font-family:Manrope,sans-serif;font-size:var(--text-sm);font-weight:800;letter-spacing:-.01em;color:var(--color-text-primary);margin-bottom:var(--space-md)}.detail-body--listing .detail-info-row{gap:var(--space-md) var(--space-xl)}.detail-body--listing .detail-info-divider{margin:var(--space-lg) 0;border-top:1px solid var(--color-border-subtle);height:0}@media(prefers-reduced-motion:no-preference){.listing-hero__meta>*{animation:listingHeroIn var(--duration-slow) var(--ease-out-expo) both}.listing-hero__meta>:nth-child(2){animation-delay:40ms}.listing-hero__meta>:nth-child(3){animation-delay:80ms}.listing-hero__meta>:nth-child(4){animation-delay:.12s}@keyframes listingHeroIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}.listing-detail-sheet .detail-mosaic{order:1}.listing-detail-sheet .detail-title-bar{order:2}.listing-detail-sheet .detail-body{order:3;padding:var(--space-lg) 0 var(--space-5xl)}.listing-detail-sheet .detail-title-bar:before{display:none}.listing-detail-sheet .detail-title-bar{padding:16px 0 8px}.listing-detail-sheet .detail-breadcrumb{padding-left:0}.listing-detail-sheet .detail-mosaic{order:1;padding:0;margin-bottom:var(--space-lg);max-height:min(52vh,520px);height:min(52vh,520px);align-items:stretch}.listing-detail-sheet .detail-mosaic--single{max-height:min(52vh,520px);height:min(52vh,520px)}.listing-detail-sheet .detail-mosaic-main{min-height:0;height:100%;border-radius:var(--radius-lg)}.listing-detail-sheet .detail-mosaic-main .detail-hero{min-height:0;height:100%;width:100%;object-fit:cover}.listing-detail-sheet .detail-mosaic-grid{min-height:0;height:100%;grid-template-rows:1fr 1fr}.listing-detail-sheet .detail-mosaic-thumb{min-height:0;height:100%;border-radius:var(--radius-md)}.listing-detail-sheet .detail-mosaic-thumb img{min-height:0;height:100%}.listing-detail-sheet .detail-mosaic-show-all{display:inline-flex}.listing-page .listing-toolbar{padding-top:var(--space-sm)}.listing-detail-sheet .detail-agent-whisper{margin-top:var(--space-sm);margin-bottom:var(--space-md)}.listing-detail-sheet .detail-agent-whisper-name{font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);text-decoration:none}.listing-detail-sheet .detail-agent-whisper-name:hover{color:var(--color-brand-light)}.listing-detail-sheet .detail-more-summary{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer}@media(max-width:480px){.listing-detail-sheet .detail-mosaic,.listing-detail-sheet .detail-mosaic--single{max-height:min(42vh,360px);height:min(42vh,360px)}.listing-detail-sheet .detail-mosaic:not(.detail-mosaic--single){height:auto;max-height:none}.listing-detail-sheet .detail-mosaic:not(.detail-mosaic--single) .detail-mosaic-main{height:min(38vh,280px)}.listing-detail-sheet .detail-mosaic:not(.detail-mosaic--single) .detail-mosaic-grid{height:72px;grid-template-rows:1fr}}.listing-cta-row{display:flex;flex-direction:column;gap:var(--space-md);max-width:640px;margin:0 auto;padding:var(--space-lg) var(--space-lg) 0}.listing-cta-row:empty{display:none}.listing-cta-row .sd-btn--primary[data-track^=whatsapp],.detail-body--listing .sd-btn--primary[data-track^=whatsapp]{background:var(--color-success);color:var(--color-text-on-success)}@media(hover:hover){.detail-body--listing .sd-btn--primary[data-track^=whatsapp]:hover{box-shadow:0 12px 36px #25d36647,0 4px 12px #00000040}}@media(min-width:640px){.listing-cta-row{flex-direction:row}}.listing-toolbar{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);padding-top:calc(var(--space-md) + env(safe-area-inset-top));max-width:none;margin:0;pointer-events:none}.listing-toolbar>*{pointer-events:auto}.listing-toolbar:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.28) 55%,transparent 100%)}.listing-detail-sheet{padding-top:0}.listing-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px 8px 8px;border-radius:999px;color:#fff;text-decoration:none;font-size:14px;font-weight:500;transition:background .15s ease}.listing-back:hover{background:#ffffff12}.listing-back-name{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listing-back[hidden]{display:none!important}.listing-share-btn{display:inline-flex;align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--text-xs-plus);font-weight:600;font-family:var(--font-body);cursor:pointer}.skip-link{position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;z-index:9999;background:var(--color-bg-deep);color:var(--color-text-primary);padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);text-decoration:none;border-radius:var(--radius-xs)}.skip-link:focus{clip:auto;clip-path:none;left:50%;transform:translate(-50%);top:var(--space-sm);width:auto;height:auto;overflow:visible}.listing-error{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4xl) var(--space-2xl);text-align:center}.listing-error[hidden]{display:none!important}.listing-error-icon{margin-bottom:var(--space-lg);opacity:.85}.listing-error-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;letter-spacing:-.02em;color:var(--color-text-primary);margin:0 0 var(--space-sm)}.listing-error-msg{font-family:var(--font-body);color:var(--color-text-muted);font-size:var(--text-base);margin:0 0 var(--space-xl);max-width:320px;line-height:var(--leading-normal)}.listing-error-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.listing-retry-btn{display:inline-block;background:var(--color-brand);color:var(--color-text-primary);border:none;border-radius:var(--radius-pill);min-height:44px;padding:var(--space-md) var(--space-2xl);font-size:var(--text-sm);font-weight:600;cursor:pointer;font-family:inherit}.listing-error-link{display:inline-block;color:var(--color-text-secondary);font-size:var(--text-sm);text-decoration:underline;text-underline-offset:3px;font-weight:600}@media(prefers-reduced-motion:reduce){.listing-detail-sheet{transition:none!important}}.listing-footer{padding:var(--space-lg);text-align:center;font-size:var(--text-xs);color:var(--color-text-dim);border-top:1px solid var(--color-border)}.listing-footer a{color:var(--color-text-muted);text-decoration:none}.listing-footer a:hover{color:var(--color-text-secondary)}.listing-footer-platform{margin:0 0 var(--space-xs);font-size:var(--text-2xs);color:var(--color-text-muted)}.social-inbound .listing-footer-platform{display:none}.social-inbound--light{color-scheme:light}.social-inbound--light .listing-detail-sheet{background:#faf8f5}.social-inbound--light .detail-price--hero,.social-inbound--light .detail-title-above{color:#141210}.social-inbound--light .detail-price-label{color:#1412108c}.listing-detail-sheet .detail-price--hero{font-size:clamp(2rem,7vw,2.75rem);letter-spacing:-.04em}.listing-detail-sheet .detail-title-above{font-size:clamp(1.25rem,4vw,1.5rem);font-weight:700;letter-spacing:-.02em}.listing-page .detail-share-btn{display:none}@keyframes listing-shimmer{0%,to{opacity:.55}50%{opacity:1}}.listing-skeleton-hero,.listing-skeleton-line{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;animation:listing-shimmer 1.6s ease-in-out infinite}.listing-skeleton-hero{width:100%;aspect-ratio:4/3}.listing-skeleton-body{padding:var(--space-2xl);max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-lg)}.listing-skeleton-line{height:16px;border-radius:var(--radius-sm)}.listing-skeleton-line--title{height:28px;width:70%}.listing-skeleton-line--price{height:32px;width:45%;margin-top:var(--space-sm)}.listing-skeleton-spec-row{display:flex;align-items:center;gap:var(--space-2xl);width:100%;padding:var(--space-lg) 0;border-top:1px solid var(--color-surface-raised);border-bottom:1px solid var(--color-surface-raised)}.listing-skeleton-line--spec{height:16px;flex:1;max-width:88px}@media(prefers-reduced-motion:reduce){.listing-skeleton-hero,.listing-skeleton-line{animation:none;opacity:.7}}.listing-sticky{position:fixed;left:0;right:0;bottom:var(--listing-sticky-bottom, 0px);z-index:60;display:block;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:var(--color-bg-deep);border-top:1px solid var(--color-border);transform:translateY(100%);visibility:hidden;transition:transform var(--duration-medium) var(--ease-out-expo),visibility 0s linear var(--duration-medium)}.listing-sticky.is-shown{transform:translateY(0);visibility:visible;transition:transform var(--duration-medium) var(--ease-out-expo),visibility 0s}@media(prefers-reduced-motion:reduce){.listing-sticky{transition:visibility 0s linear var(--duration-medium)}.listing-sticky.is-shown{transition:visibility 0s}}.listing-sticky__inner{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.listing-sticky__price{font-family:var(--font-display, inherit);font-size:17px;font-weight:700;letter-spacing:-.2px;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listing-sticky__price:empty{display:none}.listing-sticky__cta{flex:0 0 auto;margin-left:auto}.listing-sticky__wa{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-pill, 999px);background:var(--color-success);color:#0b1f12;font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap}.listing-sticky__wa:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}
