*{box-sizing:border-box}body{margin:0;background:#fff;color:#242424;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft Yahei",sans-serif}.site-head{border-bottom:1px solid #eee;background:#fff}.head-inner{max-width:1220px;margin:auto;padding:24px 20px 20px}.brand{font-size:26px;font-weight:750;letter-spacing:1px}.head-inner p{margin:8px 0 0;color:#888;font-size:13px}.wrap{max-width:1220px;padding:20px;margin:0 auto}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo{border:0;background:#f4f4f4;padding:0;aspect-ratio:1/1;cursor:pointer;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.photo:hover img{transform:scale(1.035)}.empty{padding:90px 10px;text-align:center;color:#999}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:50;display:flex;align-items:center;justify-content:center;padding:22px}.overlay[hidden]{display:none}.locked{overflow:hidden}.close{position:absolute;right:22px;top:16px;color:#fff;background:none;border:0;font-size:36px;cursor:pointer}.viewer-content{width:min(900px,100%);display:flex;flex-direction:column;align-items:center;gap:16px}.viewer-content img{max-width:100%;max-height:75vh;object-fit:contain}.viewer-foot{display:flex;gap:24px;align-items:center;color:#ddd;font-size:13px}.viewer-foot button{border:1px solid #555;background:#292929;color:white;border-radius:20px;padding:10px 18px;cursor:pointer}.gate-card{position:relative;background:#fff;border-radius:20px;width:min(420px,100%);padding:34px 28px;text-align:center;box-shadow:0 20px 80px #0004}.gate-close{position:absolute;top:8px;right:16px;border:0;background:none;font-size:28px;color:#888;cursor:pointer}.lock{font-size:35px;color:#d1a267}.gate-card h2{margin:10px 0 12px;font-size:23px}.gate-card p{color:#777;line-height:1.8;font-size:14px}.contact-label{font-size:12px;color:#888;margin-top:24px}.contact-value{font-size:21px;font-weight:700;margin:8px 0 20px;overflow-wrap:anywhere}.contact-btn{display:block;background:#1f8bd6;color:white;padding:13px;border-radius:10px;text-decoration:none;font-weight:600}.secondary{background:none;border:0;color:#888;padding:15px;cursor:pointer}@media(max-width:650px){.head-inner{padding:17px 12px}.brand{font-size:21px}.wrap{padding:7px}.gallery{gap:7px}.photo{aspect-ratio:1/1}.viewer-foot{gap:14px}.viewer-foot button{padding:9px 12px}}
