*{box-sizing:border-box}body{margin:0;background:#f4f6fa;color:#14253b;font:18px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:1450px;margin:auto;padding:32px 48px}header{display:flex;justify-content:space-between;align-items:center}.brand{font-weight:850;font-size:1.5rem;letter-spacing:.06em}.brand small{font-size:.65rem;color:#356b89}.language button{padding:12px 22px;border:1px solid #d9e1eb;border-radius:12px;background:white;margin-left:8px;cursor:pointer}.intro{margin:52px 0 30px}.eyebrow{font-weight:750;color:#147c91;font-size:.8rem;letter-spacing:.14em}h1{font-size:clamp(2rem,4vw,3.5rem);margin:8px 0}p{color:#4c6178}.search{margin-bottom:28px}.search label{display:block;font-weight:650;margin-bottom:10px}.search input{border:2px solid #dbe4ed;background:white;border-radius:15px;width:100%;padding:19px;font:inherit}.layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px}.layout:has(.qr[hidden]){grid-template-columns:1fr}.places{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;align-content:start}.places button{background:white;border:1px solid #dce5f0;box-shadow:0 4px 12px #14253b08;border-radius:16px;text-align:left;padding:24px;min-height:105px;font:inherit;font-weight:650;cursor:pointer;color:#14253b}.places button:hover,.places button:focus-visible{border-color:#118ba1;background:#ecfafd}.places small{display:block;color:#688398;font-size:.8rem;margin-top:8px}.qr{background:#fff;border-radius:22px;padding:28px;text-align:center;align-self:start;box-shadow:0 10px 35px #172f4e12}.qr[hidden],.notice[hidden]{display:none}.qr img{width:100%;max-width:285px;height:auto;image-rendering:auto}.qr h2{margin-top:0}.qr a,.qr button{display:block;margin:12px auto;padding:12px;border-radius:12px;background:#147c91;color:white;text-decoration:none;border:0;font:inherit;cursor:pointer}.qr button{background:#e8eff6;color:#223}.notice{background:#fff2d7;border-radius:15px;padding:16px;margin-bottom:20px}footer{text-align:center;margin-top:64px;color:#8192a7;font-size:.8rem}@media(max-width:800px){main{padding:20px}.layout{grid-template-columns:1fr}.intro{margin:26px 0}.places{grid-template-columns:1fr 1fr}}@media(max-width:520px){.places{grid-template-columns:1fr}}