*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:#f4f7fb;color:#162033}.hero{height:72vh;min-height:520px;max-height:720px;position:relative;background:url('/static/store.jpg') center 34%/cover no-repeat;display:flex;align-items:flex-end;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,19,39,.08) 0%,rgba(4,25,55,.22) 38%,rgba(3,31,71,.84) 100%)}.brand{position:absolute;z-index:2;left:20px;top:max(22px,env(safe-area-inset-top));font-size:18px;font-weight:700;letter-spacing:1px;color:white;text-shadow:0 1px 10px rgba(0,0,0,.25)}.hero-content{position:relative;z-index:2;padding:0 22px 48px;color:#fff;width:100%}.eyebrow{display:inline-block;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);font-size:13px;letter-spacing:1px}.hero h1{font-size:30px;line-height:1.25;margin:13px 0 10px;font-weight:800;letter-spacing:.5px}.hero p{margin:0 0 24px;font-size:14px;color:rgba(255,255,255,.88)}.primary{border:0;border-radius:14px;background:#0878e8;color:#fff;font-weight:700;font-size:17px;box-shadow:0 8px 24px rgba(0,108,224,.24)}.hero-btn{width:100%;height:52px;background:#fff;color:#0757b7;box-shadow:none}.booking-wrap{padding:18px 14px 30px}.card{max-width:560px;margin:auto;background:#fff;border-radius:18px;padding:20px 17px;box-shadow:0 8px 26px rgba(22,44,78,.08)}.section-title{display:flex;flex-direction:column;gap:4px;margin-bottom:18px}.section-title span{font-size:21px;font-weight:800}.section-title small{font-size:13px;color:#7b879a}.card form>label:not(.consent){display:block;font-size:14px;font-weight:650;margin:17px 2px 8px}.card label span{color:#e23b3b}.card label em{float:right;font-style:normal;font-size:12px;color:#7a8799;font-weight:400}input[type="text"],input[type="tel"],input[type="month"],input:not([type]){width:100%;height:48px;border:1px solid #dfe6ef;border-radius:12px;padding:0 13px;font-size:16px;outline:none;background:#fbfcfe}input:focus{border-color:#4c99e8;box-shadow:0 0 0 3px rgba(23,117,213,.08)}.service-grid{display:grid;gap:9px}.service-item{position:relative;display:flex;gap:10px;align-items:flex-start;border:1px solid #e1e8f1;border-radius:12px;padding:13px;background:#fbfcfe;cursor:pointer}.service-item input{position:absolute;opacity:0}.check{width:20px;height:20px;flex:0 0 20px;border-radius:6px;border:1.5px solid #b7c3d1;background:white;position:relative}.service-item input:checked+.check{background:#0878e8;border-color:#0878e8}.service-item input:checked+.check:after{content:'✓';position:absolute;inset:-1px 0 0;text-align:center;line-height:20px;color:white;font-size:14px;font-weight:800}.service-text{font-size:14px;line-height:1.45;color:#273449}.consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#7a8798;line-height:1.5;margin:18px 2px}.consent input{margin-top:3px}.consent span{color:#7a8798!important}.submit-btn{width:100%;height:52px}.submit-btn:disabled{opacity:.6}.form-error{min-height:20px;margin-top:9px;color:#d83e3e;font-size:13px;text-align:center}.footer-note{text-align:center;color:#9aa5b4;font-size:12px;padding:18px 0 4px}.modal{position:fixed;z-index:20;inset:0;background:rgba(10,25,45,.58);display:none;align-items:center;justify-content:center;padding:24px}.modal.show{display:flex}.modal-card{width:min(360px,100%);background:#fff;border-radius:22px;padding:29px 23px;text-align:center;box-shadow:0 18px 60px rgba(0,0,0,.22)}.success-icon{width:58px;height:58px;border-radius:50%;background:#e8f7ef;color:#18a05e;font-size:34px;line-height:58px;margin:0 auto 15px;font-weight:800}.modal h2{font-size:22px;margin:0 0 7px}.modal p{margin:0;color:#6f7d91}.reservation{margin:18px 0;padding:12px;background:#f5f8fc;border-radius:10px;color:#647187;font-size:13px}.reservation strong{color:#1e3a63}.modal button{width:100%;height:48px}
@media(min-width:620px){body{background:#edf2f8}.hero,.booking-wrap{max-width:560px;margin:auto}.hero{border-radius:0 0 22px 22px}.booking-wrap{padding-top:20px}}
