:root{--color-paper:#fff;--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-cream:#f5f3ef;--color-text:#201e1d;--color-accent:#0088b0;--color-accent-2:#d6006c;--color-brand-mark-loupe:#4098b0;--color-divider:#201e1d29;--color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-neutral-900:#2d2b2b;--color-accent-100:#e9f8ff;--color-accent-200:#cbeeff;--color-accent-300:#99e0ff;--color-accent-400:#62c5ee;--color-accent-500:#38a6cf;--color-accent-600:#1186ac;--color-accent-700:#006786;--color-accent-800:#004961;--color-accent-900:#0a303e;--color-accent-2-100:#fff1f4;--color-accent-2-200:#ffdee6;--color-accent-2-300:#ffc0d0;--color-accent-2-400:#ff90b1;--color-accent-2-500:#ff458e;--color-accent-2-600:#d82071;--color-accent-2-700:#aa0b56;--color-accent-2-800:#790e3d;--color-accent-2-900:#4b1528;--color-warn-100:#fdf0dd;--color-warn-200:#f8dcb0;--color-warn-300:#f0c078;--color-warn-700:#9a5a00;--color-warn-800:#7a4600;--color-warn-900:#5a3200;--font-heading:var(--font-source-serif), Georgia, "Times New Roman", serif;--font-heading-weight:600;--font-body:var(--font-source-serif), Georgia, "Times New Roman", serif;--space-1:5px;--space-2:10px;--space-3:15px;--space-4:20px;--space-6:30px;--space-8:40px;--radius-sm:1px;--radius-md:2px;--radius-lg:4px;--shadow-sm:0 1px 2px #2d2b2b24;--shadow-md:0 3px 10px #2d2b2b29;--shadow-lg:0 12px 32px #2d2b2b38;--page-pad:clamp(20px, 4vw, 40px);--header-h:72px}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;font-weight:400;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0 0 var(--space-2);line-height:1.12}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{letter-spacing:.08em;text-transform:uppercase;font-size:13px}p{margin:0 0 var(--space-3)}a{color:var(--color-accent-700);text-underline-offset:3px}a:hover{color:var(--color-accent-800)}img{max-width:100%;display:block}.text-muted{color:color-mix(in srgb, var(--color-text) 55%, transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}::placeholder{opacity:1}.page{width:min(1200px,100%);margin-inline:auto}.page-body{padding:clamp(24px, 4vw, 48px) var(--page-pad) 64px}.measure{max-width:820px}.legal-page section{margin-top:var(--space-6)}.legal-page h1{margin-top:var(--space-4)}.legal-page h2{font-size:25px}.legal-page ul{margin:0 0 var(--space-3);padding-left:24px}.auth-legal-statement{color:color-mix(in srgb, var(--color-text) 65%, transparent);text-align:center;font-size:13px;line-height:1.45}.auth-legal-statement a{color:var(--color-accent-700);font-weight:600}.auth-legal-statement a:hover{color:var(--color-accent-800)}.frame-rule{border-top:2px solid var(--color-text);border-bottom:1px solid var(--color-text);height:5px}.frame-hr{border:0;border-top:1px solid var(--color-text);height:0;margin:0}.breadcrumb{padding:8px var(--page-pad);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 65%, transparent);font-size:11px}.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover{color:var(--color-accent)}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-text);padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:1.2;text-decoration:none;display:inline-flex}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-600)}.btn-primary:active{background:var(--color-accent-700)}.btn-primary-2{background:var(--color-accent-2);color:var(--color-bg)}.btn-primary-2:hover{background:var(--color-accent-2-600)}.btn-primary-2:active{background:var(--color-accent-2-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.btn-secondary:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.btn-ghost{color:var(--color-accent-700);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{color:color-mix(in srgb, var(--color-text) 70%, transparent);margin-bottom:5px;font-size:12px;display:block}.input{width:100%;min-height:36px;font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:6px 10px;font-size:14px}.input::placeholder{color:color-mix(in srgb, var(--color-text) 65%, transparent);opacity:1}.input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{resize:vertical;min-height:90px}.analytics-consent{z-index:20;right:max(var(--space-3), env(safe-area-inset-right));bottom:max(var(--space-3), env(safe-area-inset-bottom));left:max(var(--space-3), env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:var(--space-3);max-width:680px;padding:var(--space-3) var(--space-4);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-inline:auto;display:flex;position:fixed}.analytics-consent p{margin:0;font-size:13px}.analytics-consent-actions,.analytics-preferences-actions{gap:var(--space-2);flex:none;display:flex}.analytics-consent-actions .btn,.analytics-preferences-actions .btn{white-space:nowrap}.analytics-preferences{padding:var(--space-3);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.analytics-preferences p{margin:0 0 var(--space-2);font-size:14px}@media (max-width:560px){.analytics-consent{flex-direction:column;align-items:stretch}.analytics-consent-actions{justify-content:flex-end}}.password-input-wrap{position:relative}.password-input-wrap .input{padding-right:86px}.password-toggle{color:var(--color-accent-700);font:inherit;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:3px 4px;font-size:12px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.password-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.auth-dialog,.modal{width:min(440px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--color-text);background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:0;padding:0;overflow:auto}.auth-dialog::backdrop,.modal::backdrop{background:color-mix(in srgb, var(--color-neutral-900) 58%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.auth-dialog-content,.modal-content{padding:32px;position:relative}.auth-dialog-close,.modal-close{width:36px;height:36px;color:var(--color-text);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:25px;line-height:1;display:inline-flex;position:absolute;top:12px;right:12px}.auth-dialog-close:hover,.modal-close:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.auth-dialog-close:disabled{opacity:.45;cursor:not-allowed}.auth-panel{gap:var(--space-2);flex-direction:column;padding-top:10px;display:flex}.auth-panel h4{padding-right:32px}.radio{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.radio input,.seg-opt input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.radio .dot{border:1.5px solid var(--color-divider);border-radius:50%;flex:none;width:16px;height:16px}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{border:1px solid var(--color-divider);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.seg-opt{cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){background:var(--color-accent);color:var(--color-bg)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-meta{color:color-mix(in srgb, var(--color-text) 50%, transparent);align-items:center;gap:6px;font-size:11px;display:flex}.result-row{border-radius:var(--radius-md);transition:background-color .12s}.result-row:hover,.result-row.is-map-active{background:color-mix(in srgb, var(--color-text) 5%, transparent)}.maplibregl-popup-content{box-shadow:var(--shadow-lg);border-radius:12px;padding:0;overflow:hidden}.maplibregl-popup .maplibregl-popup-close-button{background:color-mix(in srgb, var(--color-neutral-900) 62%, transparent);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:16px;line-height:1;display:flex;position:absolute;top:6px;right:6px}.maplibregl-popup .maplibregl-popup-close-button:hover{background:var(--color-neutral-900);color:#fff}.tag{letter-spacing:.02em;border-radius:calc(var(--radius-md) * .75);align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-included{background:var(--color-accent-200);color:var(--color-accent-800);font-weight:500}.tag-tip{position:relative}.tag-tip:after{content:attr(data-tip);border-radius:var(--radius-md);background:var(--color-text);color:var(--color-bg);letter-spacing:.01em;white-space:nowrap;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;z-index:20;padding:5px 9px;font-size:11px;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(3px)}.tag-tip:before{content:"";border:5px solid #0000;border-top-color:var(--color-text);opacity:0;pointer-events:none;z-index:20;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)translateY(3px)}.tag-tip:hover:after,.tag-tip:hover:before{opacity:1;transform:translate(-50%)translateY(0)}@media (prefers-reduced-motion:reduce){.tag-tip:after,.tag-tip:before{transition:opacity .14s}}.contact-request-indicator{width:30px;height:30px;color:var(--color-accent-2-800);background:var(--color-accent-2-100);border:1px solid var(--color-accent-2-300);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.contact-request-indicator:hover{color:var(--color-accent-2-900);background:var(--color-accent-2-200)}.contact-request-count{min-width:18px;height:18px;color:var(--color-neutral-100);background:var(--color-accent-2);border:2px solid var(--color-surface);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:9px;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:-7px;right:-7px}.contact-request-indicator:after,.photo-hint-indicator:after{content:attr(data-tooltip);z-index:10;width:max-content;max-width:min(260px,100vw - 40px);color:var(--color-neutral-100);background:var(--color-neutral-900);border-radius:var(--radius-md);box-shadow:var(--shadow-md);text-align:left;opacity:0;pointer-events:none;padding:7px 9px;font-size:12px;font-weight:400;line-height:1.35;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(3px)}.contact-request-indicator:before,.photo-hint-indicator:before{content:"";z-index:11;border:5px solid #0000;border-top-color:var(--color-neutral-900);opacity:0;pointer-events:none;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 3px);right:9px;transform:translateY(3px)}.contact-request-indicator:hover:after,.contact-request-indicator:focus-visible:after,.contact-request-indicator:hover:before,.contact-request-indicator:focus-visible:before,.photo-hint-indicator:hover:after,.photo-hint-indicator:focus-visible:after,.photo-hint-indicator:hover:before,.photo-hint-indicator:focus-visible:before{opacity:1;transform:translateY(0)}.photo-hint-indicator{width:30px;height:30px;color:var(--color-warn-800);background:var(--color-warn-100);border:1px solid var(--color-warn-300);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.photo-hint-indicator:hover{color:var(--color-warn-900);background:var(--color-warn-200)}.nav{width:min(1200px,100%);min-height:var(--header-h);padding-inline:var(--page-pad);align-items:center;margin-inline:auto;display:flex}.nav-brand{min-width:0;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-bg);align-self:stretch;align-items:center;gap:8px;padding-right:clamp(18px,3vw,32px);display:inline-flex}.nav-brand svg{flex:none}.nav-brand span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:18px;overflow:hidden}.nav>a{color:var(--color-bg);font-size:14px;text-decoration:none}.nav>a:hover,.nav>a[aria-current=page]{color:var(--color-accent-100)}.site-header-actions{flex:none;align-self:stretch;align-items:center;margin-left:auto;padding-left:clamp(18px,3vw,32px);display:flex}.account-menu{align-items:center;gap:clamp(10px,2vw,20px);display:flex}.account-menu-link{color:var(--color-bg);white-space:nowrap;font-size:14px;text-decoration:none}.account-menu-link:hover{color:var(--color-accent-100)}.account-menu-button{white-space:nowrap;background:var(--color-bg);color:var(--color-accent-800);border-color:#0000}.nav a.account-menu-button{color:var(--color-accent-800)}.account-menu-button:hover{background:var(--color-accent-100);border-color:#0000}.search-toolbar{border-block:1px solid var(--color-divider);background:var(--color-paper);align-items:stretch;display:flex}.search-tool{justify-content:center;align-items:center;gap:var(--space-2);border:0;border-left:1px solid var(--color-divider);min-height:52px;color:var(--color-text);font-family:var(--font-heading);font-size:15px;font-weight:var(--font-heading-weight);cursor:pointer;background:0 0;flex:1;padding:10px 12px;line-height:1;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.search-tool:first-child{border-left:0}.search-tool>svg{color:var(--color-accent);flex:none}.search-tool:hover{background:var(--color-surface)}.search-tool:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.search-tool[aria-pressed=true],.search-tool[aria-pressed=true]>svg{color:var(--color-accent-700)}.search-tool .tool-value{font-family:var(--font-body);color:color-mix(in srgb, var(--color-text) 62%, transparent);font-size:13px;font-weight:400}.tool-count{background:var(--color-accent);min-width:18px;height:18px;color:var(--color-paper);font-family:var(--font-body);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:600;display:inline-flex}.search-tool[aria-label]{position:relative}.filter-sheet[popover],.sort-sheet[popover],.contact-sheet[popover]{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-paper);max-height:85vh;box-shadow:var(--shadow-lg);color:var(--color-text);margin:auto;padding:0;inset:0;overflow:auto}.filter-sheet[popover]{width:min(560px,92vw)}.sort-sheet[popover]{width:min(360px,92vw)}.contact-sheet[popover]{width:min(440px,92vw)}.filter-sheet::backdrop,.sort-sheet::backdrop,.contact-sheet::backdrop{background:#201e1d73}html{scrollbar-gutter:stable;scroll-padding-top:calc(var(--header-h) + var(--space-4))}:is(html:has(.filter-sheet:popover-open),html:has(.sort-sheet:popover-open),html:has(.contact-sheet:popover-open)){overflow:hidden}.sheet-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider);background:var(--color-paper);display:flex;position:sticky;top:0}.sheet-head h2{margin:0;font-size:18px}.sheet-close{color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;margin:-6px;padding:6px;display:inline-flex}.sheet-close:hover{background:var(--color-surface)}.filter-sheet-form{padding:var(--space-4)}.filter-sheet-grid{gap:var(--space-3) var(--space-4);grid-template-columns:1fr 1fr;display:grid}.filter-sheet-grid .field{min-width:0}.filter-sheet-actions{gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-divider);display:flex}.filter-sheet-actions .btn-primary{flex:1}.contact-sheet-body{padding:var(--space-4);flex-direction:column;gap:12px;display:flex}.sort-option{justify-content:space-between;align-items:center;gap:var(--space-3);padding:14px var(--space-4);border-bottom:1px solid var(--color-divider);color:var(--color-text);text-decoration:none;display:flex}.sort-option:last-child{border-bottom:0}.sort-option:hover{background:var(--color-surface)}.sort-option[aria-current=true]{color:var(--color-accent-700);font-weight:600}.sort-option[aria-current=true]>svg{color:var(--color-accent-700)}@media (max-width:620px){.filter-sheet[popover],.sort-sheet[popover],.contact-sheet[popover]{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;max-height:88vh;margin:0;inset:auto 0 0}.filter-sheet-grid{grid-template-columns:1fr}}@media (max-width:480px){.search-tool{gap:6px;padding:10px 6px;font-size:13.5px}.search-tool .tool-value{display:none}}.map-frame{border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.app-shell{flex-direction:column;min-height:100dvh;display:flex;overflow-x:clip}.app-main{flex:1 0 auto}.site-header{z-index:50;background:var(--color-accent);--color-brand-mark-loupe:var(--color-bg);--color-brand-mark-house:var(--color-bg);position:sticky;top:0}.site-header-inner,.site-footer-inner{width:min(1200px,100%);margin-inline:auto}.site-header-inner{width:100%}.site-footer{border-top:1px solid var(--color-text);background:var(--color-paper)}.site-footer-inner{justify-content:space-between;align-items:center;gap:var(--space-2) clamp(18px, 3vw, 32px);padding:var(--space-3) var(--page-pad);flex-wrap:wrap;display:flex}.site-footer-links{flex-wrap:wrap;align-items:center;gap:4px clamp(14px,2vw,24px);min-width:0;display:flex}.site-footer-links a{color:var(--color-text);text-underline-offset:3px;font-size:13px;text-decoration:underline}.site-footer-links a:hover{color:var(--color-accent-700);text-decoration:underline}.site-footer-legal{color:color-mix(in srgb, var(--color-text) 55%, transparent);white-space:nowrap;margin:0;font-size:12px}.crumb{padding:var(--space-4) var(--page-pad) 0}.crumb a{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 60%, transparent);font-size:11px;text-decoration:none}.crumb a:hover{color:var(--color-accent)}@media (max-width:640px){:root{--header-h:60px}.auth-dialog,.modal{border-radius:0;width:100vw;height:100dvh;max-height:none;margin:0}.auth-dialog-content,.modal-content{min-height:100%;padding:max(28px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left))}.auth-dialog-close,.modal-close{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right))}.nav-brand{padding-right:0}.nav-brand span{font-size:17px}.site-header-actions{padding-left:var(--space-2)}.account-menu-link{display:none}.site-footer-inner{align-items:flex-start}.site-footer-legal{white-space:normal}h1{font-size:32px}h2{font-size:26px}}