*{box-sizing:border-box}body{margin:0;background:#f6f5ef;color:#172c28;font:15px/1.6 system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button,.button{cursor:pointer;border:1px solid #cdd5ca;border-radius:8px;background:white;padding:10px 15px;color:inherit}button:focus-visible,a:focus-visible,.button:focus-within{outline:3px solid #e2a650;outline-offset:3px}header{padding:25px 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dde0d5}.brand{font-size:25px;font-weight:800;text-decoration:none;color:inherit;letter-spacing:-1px}.brand span{display:block;font-size:9px;letter-spacing:2px;font-weight:500}.preview{border:1px solid #bec9b9;border-radius:25px;padding:6px 12px;font-size:12px}.intro{padding:58px 0 40px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#62785b}h1{font-size:clamp(34px,4vw,54px);line-height:1.18;letter-spacing:-2px;margin:18px 0}main{max-width:1300px;margin:auto;padding:0 5vw}.intro>p:last-child{color:#69776e}.workspace{background:white;border:1px solid #dce2d6;border-radius:16px;padding:22px}.toolbar{display:flex;gap:15px}.toolbar label{font-size:11px;color:#657468}.search{flex:1}input,select{display:block;border:1px solid #dce2d6;border-radius:8px;padding:12px;width:100%;background:#fafbf8;color:#172c28}nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}nav button{border-radius:25px;font-size:13px;padding:8px 14px}nav button[aria-pressed=true]{background:#234d3e;color:white;border-color:#234d3e}.meta{display:flex;justify-content:space-between;margin:20px 0 12px;font-size:12px}.panels{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.map-panel{background:#edf0e6;border:1px solid #dce2d6;border-radius:10px;overflow:hidden}.map-head{display:flex;justify-content:space-between;align-items:center;padding:12px;font-size:12px}.map-head button{padding:2px 11px}svg{display:block;width:100%;min-height:250px;background-image:linear-gradient(#d9dfd14d 1px,transparent 1px),linear-gradient(90deg,#d9dfd14d 1px,transparent 1px);background-size:32px 32px}.map-note{font-size:11px;color:#6c7a66;margin:10px 15px}.results{height:480px;overflow:auto}.card{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #e4e8df;border-radius:0;padding:18px 12px}.card:hover{background:#f4f7ef}.card small{color:#678263}.card strong{display:block;font-size:17px;margin:5px 0}.card p{margin:0;color:#768274;font-size:12px}.empty{padding:65px 25px;text-align:center;color:#6c7a66}.data{margin:24px 0 50px;padding:25px 0;display:flex;gap:24px;align-items:center;flex-wrap:wrap}.data h2{font-size:17px;margin:0}.data p{font-size:12px;color:#778370}.actions{margin-left:auto;display:flex;gap:7px;flex-wrap:wrap}#error{width:100%;color:#a23828}footer{padding:20px 5vw;border-top:1px solid #dce2d6;font-size:11px;color:#74816c}dialog{width:min(450px,90vw);border:1px solid #d2dbce;border-radius:16px;padding:30px}dialog::backdrop{background:#15372866}#close{float:right;font-size:22px;padding:0 10px}#booking{display:inline-block;background:#234d3e;color:white;padding:12px;text-decoration:none;border-radius:8px}[hidden]{display:none!important}@media(max-width:700px){.panels{grid-template-columns:1fr}.results{height:340px}.workspace{padding:13px}.intro{padding-top:30px}.toolbar{gap:8px}.toolbar select{max-width:130px}.actions{margin:0}.map-panel svg{height:290px}.preview{font-size:10px}header{padding:18px 5vw}}

svg g:focus-visible circle{stroke:#e7a54a;stroke-width:5}
/* Mobile-first detail sheet; reduced-motion remains respected. */
@media(max-width:640px){dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:82dvh;box-sizing:border-box;border-radius:24px 24px 0 0;padding:30px 24px max(28px,env(safe-area-inset-bottom));overflow:auto}dialog::before{content:'';position:absolute;top:10px;left:calc(50% - 20px);width:40px;height:4px;border-radius:4px;background:#c8cec7}dialog[open]{animation:sheet-in .18s ease-out}}
@keyframes sheet-in{from{transform:translateY(30px);opacity:.4}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){dialog[open]{animation:none}}

#naverMap{height:480px;width:100%}#mapStatus{padding:16px;min-height:3em}[hidden]{display:none!important}
