.housing-place{--hm-h:180px;display:grid;gap:8px 22px;margin-top:16px;background:#fff;border:1px solid var(--border,#d3dce2);border-radius:14px;padding:12px;min-width:0}.housing-place>*{min-width:0}.housing-place-head{grid-column:1/-1}.housing-place h2{margin:0;font-size:1.2rem;line-height:1.5;font-weight:800;color:var(--primary,#17354a)}.housing-place-hint{margin:0;color:var(--muted-foreground,#52616b);font-size:.9rem;line-height:1.6}@media(max-width:639px){.housing-place-hint{display:none}}@media(min-width:760px){.housing-place{--hm-h:300px;grid-template-columns:auto minmax(0,1fr);padding:16px 18px;align-items:start}.housing-place h2{font-size:1.3rem}}.housing-map{position:relative;width:min(100%,calc(var(--hm-h) * 1000 / 880));aspect-ratio:1000/880;margin-inline:auto;border-radius:14px;overflow:hidden;background:var(--primary,#17354a)}.housing-map svg{display:block;width:100%;height:100%}.housing-map-sea{fill:var(--primary,#17354a)}.housing-map-prov{stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke;filter:saturate(1.15);transition:filter .2s cubic-bezier(.23,1,.32,1)}.housing-map-prov.is-off{filter:grayscale(.85) brightness(.6)}.housing-map-link{cursor:pointer;outline:none}.housing-map-link.is-hover .housing-map-prov{filter:saturate(1.3) brightness(1.08);stroke-width:3px}.housing-map-link.is-on .housing-map-prov{stroke:var(--brand-burgundy,#8c1735);stroke-width:4px}.housing-map-tag{pointer-events:none}.housing-map-link .housing-map-tag.is-sea{pointer-events:auto}.housing-map-tag text{fill:#fff;font:800 calc(46px * var(--hm-k,1))/1 system-ui,sans-serif;text-anchor:middle;paint-order:stroke;stroke:var(--primary,#17354a);stroke-width:calc(7px * var(--hm-k,1));stroke-linejoin:round;letter-spacing:1px}.housing-map-tag.is-sea rect{fill:#eaf0f4;stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.housing-map-tag.is-sea text{fill:var(--primary,#17354a);stroke:none;font-size:30px}.housing-map-tag.is-sea line{stroke:#eaf0f4;stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-dasharray:4 4}.housing-map-off .housing-map-tag text{opacity:.6}.housing-map-off .housing-map-tag.is-sea rect{fill:#6587a1}.housing-map-name{position:absolute;top:6px;inset-inline:0;margin:0;text-align:center;color:#fff;font-weight:800;font-size:.95rem;line-height:1.5;text-shadow:0 1px 6px rgba(0,0,0,.55);pointer-events:none;opacity:.85;transition:opacity .2s}.housing-map-name.is-hover{opacity:1}.housing-map-pins{position:absolute;inset:0;pointer-events:none}.housing-map-dot{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--primary,#17354a)}.housing-map-pin{position:absolute;width:0;height:0}.housing-map-pin-drop{position:absolute;left:-12px;bottom:0;width:24px;height:34px;transform-origin:50% 100%;animation:housing-pin-drop .62s cubic-bezier(.23,1,.32,1) both}.housing-map-pin-head{position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--brand-burgundy,#8c1735);box-shadow:0 0 0 2px #fff,0 4px 10px -4px rgba(0,0,0,.45)}.housing-map-pin-head:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.housing-map-pin-thread{position:absolute;left:11px;bottom:-1px;width:2px;height:10px;background:var(--brand-burgundy,#8c1735)}.housing-map-pin-shadow{position:absolute;left:-7px;top:-3px;width:14px;height:6px;border-radius:50%;background:rgba(0,0,0,.35);animation:housing-pin-shadow .62s cubic-bezier(.23,1,.32,1) both}.housing-map-pin-label{position:absolute;top:6px;transform:translateX(-50%);white-space:nowrap;background:#fff;color:var(--primary,#17354a);font-size:12px;font-weight:700;line-height:1.7;border-radius:6px;padding:0 6px}@keyframes housing-pin-drop{0%{transform:translateY(-120px);opacity:0}55%{transform:translateY(0);opacity:1}72%{transform:translateY(0) scale(1.08,.9)}to{transform:none}}@keyframes housing-pin-shadow{0%{transform:scale(.3);opacity:0}55%,to{transform:none;opacity:1}}.housing-map-note{margin:4px 0 0;font-size:.75rem;line-height:1.5;color:var(--muted-foreground,#52616b);text-align:center}.housing-place-pick-col{display:grid;gap:10px;align-content:start}.housing-place .directory-place-filters{margin:0;padding:0;border:0;background:none;box-shadow:none;gap:10px}.housing-place-submit{min-height:44px;border-radius:9px;border:0;background:var(--primary,#17354a);color:#fff;font:inherit;font-weight:700;padding:0 16px;align-self:end}.housing-place-chips{display:flex;flex-wrap:wrap;gap:6px}@media(max-width:639px){.housing-place-chips{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:4px;scrollbar-width:thin}.housing-place-chip{flex:0 0 auto}}.housing-place-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--border,#d3dce2);background:#fff;color:var(--primary,#17354a);font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap}.housing-place-chip[aria-current=true]{background:var(--brand-burgundy,#8c1735);border-color:var(--brand-burgundy,#8c1735);color:#fff}.housing-place-key.directory-details{margin:0;border-inline-start:4px solid var(--primary,#17354a)}.housing-place .housing-place-key>summary{min-height:44px;padding:4px 12px;font-size:1rem}.housing-place .housing-place-key[open]>summary{margin-bottom:8px}.housing-place .housing-place-key[open]{padding-bottom:4px}.housing-place .housing-place-key>p{margin:0 14px 4px;font-size:.95rem}.housing-place .housing-place-key>a{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:0 14px 8px;font-weight:700;color:var(--primary,#17354a);overflow-wrap:anywhere}.housing-door{position:relative;margin:6px 0 10px;width:100%;min-width:0}.housing-door-fact{border-radius:10px;background:var(--primary,#17354a);color:#fff;padding:12px 14px;margin-top:8px}.housing-door-fact strong{display:block;font-size:.875rem;opacity:.85}.housing-door-fact .housing-source-help{margin:2px 0 0;background:none;padding:0;border-radius:0;color:#fff;font-weight:700;line-height:1.6}.housing-door.is-armed{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;box-sizing:border-box;perspective:1700px;aspect-ratio:3/2}.housing-door.is-armed>*{grid-area:1/1;min-width:0}.housing-door.is-armed .housing-door-fact{margin:0;display:flex;flex-direction:column;justify-content:center;padding:14px 16px;padding-inline-start:31%}.housing-door-leaf{position:relative;z-index:1;display:block;width:100%;padding:0;border:0;border-radius:10px;overflow:hidden;cursor:pointer;background:var(--secondary,#eaf0f4);transform-origin:right center;transition:transform .55s cubic-bezier(.23,1,.32,1),box-shadow .55s cubic-bezier(.23,1,.32,1)}[dir=ltr] .housing-door-leaf{transform-origin:left center}.housing-door-leaf img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.housing-door-leaf:before{content:"";position:absolute;z-index:1;inset-inline-end:10px;top:50%;width:6px;height:28px;margin-top:-14px;border-radius:4px;background:rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(23,53,74,.25)}.housing-door-hint{position:absolute;z-index:1;inset-inline-start:8px;bottom:8px;background:rgba(255,255,255,.94);color:var(--primary,#17354a);font-size:.8rem;font-weight:700;line-height:1.6;border-radius:8px;padding:3px 8px;transition:opacity .2s}.housing-door.is-open .housing-door-leaf{transform:rotateY(-84deg);box-shadow:-18px 0 30px -14px rgba(0,0,0,.45)}[dir=ltr] .housing-door.is-open .housing-door-leaf{transform:rotateY(84deg);box-shadow:18px 0 30px -14px rgba(0,0,0,.45)}.housing-door.is-open .housing-door-hint{opacity:0}.housing-door-close{display:inline-flex;align-items:center;align-self:flex-start;margin-top:10px;min-height:44px;padding:0 12px;border-radius:8px;border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;font:inherit;font-size:.875rem;font-weight:700;cursor:pointer}.housing-door-close:focus-visible,.housing-door-leaf:focus-visible{outline:3px solid var(--ring);outline-offset:3px}.housing-door-card.is-arriving{animation:housing-card-arrive .5s cubic-bezier(.23,1,.32,1) both;animation-delay:.28s}.housing-door-card.is-arriving:nth-child(2){animation-delay:.35s}.housing-door-card.is-arriving:nth-child(3){animation-delay:.42s}.housing-door-card.is-arriving:nth-child(4){animation-delay:.49s}.housing-door-card.is-arriving:nth-child(5){animation-delay:.56s}.housing-door-card.is-arriving:nth-child(n+6){animation-delay:.63s}@keyframes housing-card-arrive{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.housing-door,.housing-door *,.housing-door-card,.housing-place *,.housing-place :after,.housing-place :before{animation:none!important;transition:none!important}}