.catalog{padding-top:72px;padding-bottom:64px;min-height:80vh}.catalog h1{font-size:clamp(44px,7vw,88px);line-height:1.02;letter-spacing:-.055em;margin:20px 0}.catalog h1 em{color:#ff3d9a;font-style:normal}.catalog-intro{color:#b8bec9;font-size:19px;max-width:650px}.filters{display:grid;grid-template-columns:2fr 1fr 1.4fr auto;gap:14px;margin:36px 0 24px;align-items:end}.filters label{display:grid;gap:9px;font-size:13px;color:#b8bec9}.filters input,.filters select{width:100%;min-width:0;background:#1c1821;color:#fff;border:1px solid #45404a;border-radius:10px;padding:15px 13px;font:inherit;font-size:16px;min-height:51px}.filters :focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid #ff3d9a;outline-offset:4px}.result-heading{display:flex;justify-content:space-between;gap:24px;margin-bottom:20px;align-items:start}.result-heading details{max-width:450px;color:#b8bec9;font-size:13px}.result-heading summary{cursor:pointer;color:#fff}.result-heading details p{line-height:1.6}.location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.location-card{border:1px solid #3d3542;border-radius:16px;background:linear-gradient(135deg,#241a2b,#151217);padding:24px;min-width:0;display:flex;flex-direction:column;gap:12px}.location-card h2{font-size:24px;line-height:1.15;margin:0;letter-spacing:-.03em;overflow-wrap:anywhere}.location-card p{margin:0;color:#b8bec9;font-size:14px;line-height:1.5}.location-card .location-type{color:#ff3d9a;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.location-card details{margin-top:auto;padding-top:10px;font-size:13px;color:#b8bec9}.location-card summary{cursor:pointer;color:#fff}.location-card details p{margin-top:12px;overflow-wrap:anywhere}.location-card a,.attribution a{color:#fff;text-decoration:underline;text-underline-offset:3px}.location-card .source-link{display:block;margin-top:16px}.attribution{margin-top:36px;font-size:12px;color:#b8bec9;line-height:1.8}#more,#retry{margin-top:28px}[hidden]{display:none!important}@media(max-width:1000px){.filters{grid-template-columns:1fr 1fr}.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.catalog{padding-top:36px}.filters{grid-template-columns:1fr}.location-grid{grid-template-columns:1fr}.result-heading{flex-direction:column;gap:8px}.catalog-intro{font-size:16px}.header nav{gap:14px;display:flex;font-size:12px}.header{flex-wrap:wrap;gap:15px}.header .logo{max-width:160px}.location-card{padding:22px}}

.catalog-notice{color:#b8bec9;font-size:12px;line-height:1.6;margin-bottom:18px}
