.dir{max-width:1000px;margin:0 auto;padding:32px 16px 56px}.dir h1{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(26px,4vw,36px);line-height:1.15}.dir-intro{color:var(--sage);max-width:70ch;margin:0 0 22px;line-height:1.55}.dir-filter{background:#f7fbf9;border:1px solid #0b6b5c2e;border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:26px;padding:14px;display:flex}.dir-filter label{color:var(--sage);gap:4px;font-size:12.5px;display:grid}.dir-filter input,.dir-filter select{font:inherit;background:#fff;border:1px solid #cfe0da;border-radius:10px;min-width:150px;padding:9px 11px}.dir-filter button{color:#fff;cursor:pointer;background:#0b6b5c;border:0;border-radius:10px;padding:10px 18px;font-weight:600}.dir h2{margin:30px 0 12px;font-size:20px}.dir-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.dir-card{background:#fff;border:1px solid #e1ece8;border-radius:14px;padding:14px 16px}.dir-card h3{margin:0 0 4px;font-size:17px}.dir-card h3 a{color:var(--ink);text-decoration:none}.dir-card h3 a:hover{text-decoration:underline}.dir-meta{color:var(--sage);flex-wrap:wrap;gap:6px 14px;margin-bottom:6px;font-size:13px;display:flex}.dir-price{color:var(--ink);font-weight:700}.dir-card p{margin:0 0 8px;font-size:14px;line-height:1.5}.dir-tags{color:#0b6b5c;font-size:12.5px}.dir-cities{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.dir-cities a{color:var(--ink);background:#fff;border:1px solid #e1ece8;border-radius:14px;padding:14px 16px;text-decoration:none;display:block}.dir-cities a:hover{border-color:#0b6b5c}.dir-cities strong{margin-bottom:3px;font-size:17px;display:block}.dir-cities span{color:var(--sage);font-size:13px}.dir-empty{color:var(--sage);padding:18px 0}.dir-photo{background:#e8f1ee;border-radius:10px;margin:-2px -2px 10px;display:block;overflow:hidden}.dir-photo img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto;display:block}@media (min-width:640px){.dir-card{grid-template-columns:220px 1fr;align-items:start;gap:4px 16px;display:grid}.dir-photo{grid-row:1/span 4;margin:0}.dir-card>:not(.dir-photo){grid-column:2}}
