/* Locations — photo-led so visitors recognise the building when they arrive. */
.l-hero{padding:72px 0 48px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,var(--navy-50))}
.l-hero h1{font-size:46px;line-height:1.14;margin:14px 0 14px}
.l-hero .sub{font-size:18px;color:var(--slate-700);line-height:1.7;max-width:56ch}
.l-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:26px}
.l-tools input{font-family:inherit;font-size:15.5px;padding:13px 16px;border:1px solid var(--border);border-radius:6px;min-width:280px;background:#fff}
.l-tools input:focus{outline:none;border-color:var(--navy-600);box-shadow:0 0 0 3px rgba(44,58,126,.12)}
.l-tools button{font-family:inherit;font-size:14.5px;font-weight:600;padding:12px 18px;border-radius:100px;border:1px solid var(--border);background:#fff;color:var(--navy-800);cursor:pointer;transition:border-color var(--tf),background var(--tf)}
.l-tools button:hover{border-color:var(--navy-800)}
.l-tools button[aria-pressed="true"]{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}
.count{font-size:14px;color:var(--slate-500);margin-top:14px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:56px 0 88px}
.card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:border-color var(--t),transform var(--t),box-shadow var(--t)}
.card[hidden]{display:none!important}
.card:hover{border-color:var(--navy-800);transform:translateY(-2px);box-shadow:0 20px 44px -30px rgba(11,15,40,.45)}
.card .ph{display:block;aspect-ratio:3/2;background:var(--navy-50);overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;display:block}
.card .in{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.card .st{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--o-700);margin-bottom:7px}
.card h2{font-size:23px;margin-bottom:12px}
.card .addr{font-size:15.5px;line-height:1.6;color:var(--slate-700);margin-bottom:4px}
.card .tel{display:inline-block;font-family:Poppins;font-weight:500;font-size:18px;color:var(--navy-800);text-decoration:none;margin:10px 0 18px}
.card .tel:hover{color:var(--o-700)}
.card .acts{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--border)}
.card .acts a{font-size:13.5px;font-weight:600;text-decoration:none;color:var(--navy-800);border:1px solid var(--border);border-radius:4px;padding:10px 14px;transition:border-color var(--tf),background var(--tf)}
.card .acts a:hover{border-color:var(--navy-800)}
.card .acts a.pri{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}
.card .acts a.pri:hover{background:var(--navy-900)}
.empty{padding:40px 0 80px;font-size:17px;color:var(--slate-700)}
.note{background:var(--surface);border-top:1px solid var(--border);padding:56px 0 64px}
.note h2{font-size:24px;margin-bottom:12px}
.note p{font-size:16.5px;line-height:1.7;color:var(--slate-700);max-width:70ch}
@media(max-width:1020px){.grid{grid-template-columns:repeat(2,1fr);gap:24px;padding:40px 0 64px}.l-hero h1{font-size:34px}}
@media(max-width:680px){.grid{grid-template-columns:1fr}.l-tools input{min-width:0;width:100%}}
