@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{--ink:#202420;--blue:#244dd8;--paper:#fbfbf8;--line:#dcded9;--muted:#686e67;--tint:#edf0ff;font-family:'DM Sans','Noto Sans KR',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button{border:0;background:none}button[aria-pressed=true]{color:var(--blue)}.header{max-width:1320px;margin:auto;padding:24px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.wordmark{font:700 34px Georgia,serif;letter-spacing:-1.6px;text-decoration:none;white-space:nowrap}.wordmark span{color:var(--blue);padding-left:2px}.masthead-note{font-size:12px;letter-spacing:1.7px}.languages{display:flex;gap:4px;background:#eeeee9;padding:4px;border-radius:24px}.languages button{border-radius:20px;padding:7px 12px;font-size:14px}.languages button[aria-pressed=true]{background:white;box-shadow:0 1px 3px #0000000a}main{max-width:1320px;padding:0 48px 72px;margin:auto}.intro{display:grid;grid-template-columns:1fr 390px;align-items:center;gap:60px;padding:38px 0 32px}.eyebrow{font-size:12px;letter-spacing:1.8px;color:var(--blue);margin:0 0 15px;font-weight:600}h1{font-size:clamp(32px,3.2vw,46px);letter-spacing:-1.8px;line-height:1.35;margin:0;font-weight:600;word-break:keep-all}.intro-copy{color:var(--muted);font-size:16px;line-height:1.7;margin:13px 0 0}.intro-art{height:225px;background:var(--blue);color:white;position:relative;overflow:hidden;border-radius:3px}.intro-art img{width:100%;height:100%;object-fit:cover;display:block}.art-caption{position:absolute;top:20px;left:22px;font-size:10px;letter-spacing:1.5px}.art-type{font:italic 36px/1.05 Georgia,serif;padding:35px 22px 0;letter-spacing:-.5px}.search-row{display:grid;grid-template-columns:1fr 260px;border:1px solid #b9bdb5;background:white;border-radius:5px;min-height:64px}.search-box{display:flex;align-items:center;gap:14px;padding:0 20px}.search-box svg{width:22px;height:22px;flex-shrink:0}.search-box input{width:100%;height:62px;background:none;border:0;color:var(--ink);font-size:16px;min-width:0;outline-offset:-5px}.search-box input::placeholder{color:#777d76}.city-control{border-left:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:12px 20px;font-size:14px}.city-control>span{color:var(--muted);flex-shrink:0}.city-control select{width:100%;border:0;background:white;padding:8px 0;font-size:14px;min-width:0}.filter-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}.regions,.kinds{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.regions button,.kinds button{padding:9px 14px;font-size:14px;border-radius:20px;white-space:nowrap}.regions button[aria-pressed=true]{background:var(--blue);color:white}.regions button:hover{background:var(--tint);color:var(--blue)}.kinds button{border:1px solid transparent}.kinds button[aria-pressed=true]{border-color:var(--blue);background:var(--tint)}.results-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 0 16px;gap:18px}.results-heading h2{font-size:18px;font-weight:600;margin:0;letter-spacing:-.3px}.results-heading p{color:var(--muted);font-size:14px;margin:0}.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}.place{border-top:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:36px 1fr 34px;gap:14px;align-items:start;position:relative}.place-index{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:5px}.place h3{font:600 23px/1.25 'DM Sans',sans-serif;letter-spacing:-.6px;margin:8px 0 5px}.place h3 button{text-align:left;padding:0;letter-spacing:inherit;font:inherit}.place h3 button:hover{color:var(--blue)}.place .location{margin:0;color:var(--blue);font-size:12px;letter-spacing:.65px;text-transform:uppercase}.place .ko-name{font-size:14px;margin:0 0 10px;color:var(--muted);line-height:1.6}.place .description{font-size:14px;color:var(--muted);line-height:1.8;margin:8px 0 14px;max-width:95%;word-break:keep-all}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-block;padding:4px 9px;border:1px solid var(--line);border-radius:3px;font-size:12px;color:#50564f;background:#f5f6f1}.place .open-detail{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-size:20px;margin-top:25px}.place .open-detail:hover{background:var(--blue);color:white;border-color:var(--blue)}.empty{text-align:center;padding:64px 20px}.empty h2{font-size:24px}.empty p{color:var(--muted)}.empty button{background:var(--blue);color:white;padding:12px 20px;border-radius:4px;margin-top:15px}footer{border-top:1px solid var(--line);max-width:1224px;margin:auto;padding:28px 0 40px;display:grid;grid-template-columns:1fr 1fr;gap:8px 32px;align-items:start}footer>.wordmark{font-size:27px}footer>p{font-size:14px;margin:0;color:var(--muted);line-height:1.8}footer>.source-note{grid-column:2;grid-row:1/3;font-size:13px;justify-self:end}footer>.edition{font-size:12px;letter-spacing:1.5px;color:var(--muted);grid-column:2;justify-self:end}dialog{width:min(610px,calc(100% - 32px));max-height:85dvh;border:0;border-radius:8px;padding:46px;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #0003}dialog::backdrop{background:#141c3466;backdrop-filter:blur(4px)}.close{position:absolute;right:16px;top:12px;width:36px;height:36px;font-size:30px;border-radius:50%}.close:hover{background:var(--tint)}dialog h2{font-size:34px;line-height:1.2;letter-spacing:-1px;margin:12px 0}dialog .detail-ko{color:var(--muted);margin:0 0 24px}dialog .detail-description{line-height:1.9;font-size:16px;word-break:keep-all}dialog .detail-location{font-size:13px;color:var(--blue);letter-spacing:.5px}dialog dl{margin:28px 0;border-top:1px solid var(--line)}dialog dl>div{padding:16px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:90px 1fr;gap:18px;font-size:14px;line-height:1.8}dialog dt{color:var(--muted)}dialog dd{margin:0}dialog .detail-actions{display:flex;gap:10px;flex-wrap:wrap}dialog .detail-actions a{text-decoration:none;padding:12px 17px;border:1px solid var(--blue);border-radius:4px;font-size:14px;color:var(--blue)}dialog .detail-actions a:first-child{background:var(--blue);color:white}dialog .detail-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:10px;background:white;z-index:99;padding:12px}.skip:focus{top:10px}[hidden]{display:none!important}@media(min-width:1500px){.intro{padding-top:46px;padding-bottom:40px}.intro-art{height:235px}}@media(max-width:900px){.header{padding:22px 28px}.masthead-note{display:none}main{padding:0 28px 50px}.intro{grid-template-columns:1fr 290px;gap:30px}.intro-art{height:210px}.results{gap:0 24px}.place{grid-template-columns:24px 1fr 30px;gap:8px}.place h3{font-size:21px}footer{margin:0 28px}.search-row{grid-template-columns:1fr 230px}}@media(max-width:650px){.header{padding:18px 20px}.wordmark{font-size:30px}main{padding:0 20px 40px}.intro{grid-template-columns:1fr;padding:28px 0 26px;gap:0}.intro-art{display:none}h1{font-size:34px;letter-spacing:-1.4px}.eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:12px}.intro-copy{font-size:14px;margin-top:12px}.search-row{grid-template-columns:1fr;min-height:0}.search-box{padding:0 14px}.search-box input{height:58px;font-size:15px}.city-control{border-left:0;border-top:1px solid var(--line);padding:6px 14px;gap:20px}.city-control select{height:36px}.filter-row{gap:10px;padding:16px 0}.regions button,.kinds button{font-size:13px;padding:8px 12px}.results-heading{padding:22px 0 13px}.results-heading h2{font-size:16px}.results-heading p{font-size:13px}.results{grid-template-columns:1fr}.place{grid-template-columns:27px 1fr 32px;padding:22px 0;gap:9px}.place h3{font-size:23px}.place .description{font-size:14px;max-width:100%}footer{margin:0 20px;padding:24px 0;grid-template-columns:1fr}footer>.source-note{grid-column:1;grid-row:auto;justify-self:start;margin-top:12px}footer>.edition{grid-column:1;justify-self:start;margin-top:12px}dialog{padding:40px 24px 28px}dialog h2{font-size:28px}dialog dl>div{grid-template-columns:65px 1fr;gap:12px}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,color .15s}dialog[open]{animation:arrive .18s ease-out}@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}

/* A brand owns the card; each branch retains its own address and actions. */
.brand-card{grid-template-columns:36px minmax(0,1fr);padding:25px 0 28px}
.brand-card h3{margin:8px 0 5px}
.brand-content{min-width:0}
.brand-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 10px}
.branch-count{font-size:13px;color:var(--muted)}
.branch-list{list-style:none;padding:0;margin:0}
.branch-list li+li{border-top:1px solid var(--line)}
.branch-button{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0}
.branch-button strong{font-size:15px;font-weight:500;line-height:1.6;display:block}
.branch-button:hover strong{color:var(--blue)}
.branch-address{display:block;font-size:13px;color:var(--muted);line-height:1.7;margin-top:3px;overflow-wrap:anywhere}
.branch-arrow{border:1px solid var(--line);border-radius:50%;width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;font-size:18px}
.branch-button:hover .branch-arrow{background:var(--blue);border-color:var(--blue);color:white}
.brand-source{font-size:12px;color:var(--muted);text-underline-offset:3px;display:inline-block;margin-top:10px}
.brand-source:hover{color:var(--blue)}
.branch-proof{padding-top:20px;margin:24px 0 0;border-top:1px solid var(--line);font-size:13px;line-height:1.7}
.branch-proof a{color:var(--blue);text-underline-offset:3px}
.branch-proof span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
@media(max-width:650px){.brand-card{grid-template-columns:27px minmax(0,1fr)}.results-heading{align-items:flex-start;flex-direction:column;gap:7px}.brand-meta{gap:8px}.branch-count{font-size:12px}}

.filter-row{flex-direction:column;align-items:flex-start;gap:12px}
.regions{gap:4px}
.region-note{font-size:12px;line-height:1.7;color:var(--muted);margin:12px 0 0;word-break:keep-all}
.instagram-open{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid var(--line);border-radius:4px;padding:11px 13px;margin:12px 0 2px;font-size:13px;min-height:44px}
.instagram-open:hover{background:var(--tint);border-color:var(--blue);color:var(--blue)}
.instagram-open>span:first-child{font-size:22px;line-height:1}
.instagram-open>span:last-child{margin-left:auto;font-size:18px}
.instagram-post-count{font-size:11px;border:1px solid var(--line);border-radius:10px;padding:1px 6px;color:var(--muted)}
.instagram-gallery{width:min(620px,calc(100% - 16px));max-width:calc(100% - 16px);padding:28px;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain}
.instagram-gallery h2{font-size:26px;line-height:1.3;margin:8px 32px 8px 0;letter-spacing:-.6px}
.instagram-eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--blue);margin:0}
.instagram-note,.instagram-fallback{font-size:12px;line-height:1.7;color:var(--muted);margin:10px 0 16px;word-break:keep-all}
.instagram-navigation{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;margin-bottom:12px}
.instagram-navigation button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:22px}
.instagram-navigation button:hover{background:var(--blue);color:white;border-color:var(--blue)}
#instagram-position{font-size:13px;font-variant-numeric:tabular-nums}
.instagram-stage{min-height:360px;max-width:100%;overflow-x:auto;background:white;border:1px solid var(--line);border-radius:4px}
.instagram-stage .instagram-media{margin:0!important;width:100%!important;box-shadow:none!important;border:0!important}
.instagram-loading{min-height:340px;margin:0;display:grid;place-items:center;padding:28px;color:var(--muted);font-size:14px;text-align:center;line-height:1.8}
.instagram-fallback{margin:14px 0 8px}
.instagram-original{display:inline-block;font-size:13px;color:var(--blue);text-underline-offset:3px;padding:5px 0}
@media(max-width:650px){.regions button{padding:8px 10px}.instagram-gallery{padding:36px 15px 22px}.instagram-gallery h2{font-size:23px}.instagram-stage{min-height:340px}}
@media(max-width:374px){.instagram-gallery{padding-left:8px;padding-right:8px}}
/* Directory browsing and source transparency. */
.intro{padding:30px 0 24px;grid-template-columns:1fr 300px;gap:36px}.intro-art{height:160px}h1{font-size:clamp(30px,3vw,42px)}.directory-stats{margin:0 0 14px;font-size:13px;color:var(--muted);line-height:1.7}.regions button{font-size:14px;padding:9px 12px}.regions button span{opacity:.7;font-variant-numeric:tabular-nums;margin-left:3px;font-size:12px}.region-note{font-size:13px}.browse-tools{display:flex;align-items:center;gap:16px;margin-top:20px;font-size:14px}.view-switch{display:flex;border:1px solid var(--line);border-radius:5px;padding:3px}.view-switch button{padding:8px 12px;border-radius:3px}.view-switch [aria-pressed=true]{background:var(--tint)}.sort-control{display:flex;align-items:center;gap:8px;margin-left:auto}.sort-control>span{color:var(--muted)}.sort-control select{padding:8px;border:1px solid var(--line);background:var(--paper);border-radius:4px}#clear{color:var(--muted);padding:8px 0}.results{align-items:start}.branch-button strong{font-size:16px}.branch-address{font-size:14px}.more-branches summary{cursor:pointer;font-size:14px;color:var(--blue);padding:12px 0;min-height:44px}.load-more{display:block;width:100%;padding:16px;border:1px solid var(--line);border-radius:5px;margin-top:24px;font-size:15px}.load-more:hover{background:var(--tint);color:var(--blue)}.coverage{margin-top:48px;border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:start;gap:24px;justify-content:space-between}.coverage details{flex:1}.coverage summary{font-size:17px;font-weight:600;cursor:pointer;padding:8px 0}.coverage p{font-size:14px;line-height:1.9;max-width:800px;color:var(--muted);word-break:keep-all}.coverage>button{border:1px solid var(--blue);border-radius:4px;color:var(--blue);padding:12px 16px;font-size:14px;white-space:nowrap}#coverage-cities{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px;margin:16px 0}#coverage-cities button{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;text-align:left}#coverage-cities span{color:var(--muted)}.detail-tools{display:flex;gap:16px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.detail-tools button{font-size:14px;color:var(--blue);padding:8px 0}.visit-label{display:block;font-size:12px;color:var(--blue);margin-top:4px}#share-message{font-size:13px;color:var(--muted)}#report{width:min(600px,calc(100% - 32px))}#report>p{font-size:15px;line-height:1.8}#report-place{color:var(--blue)}#report-form label{display:flex;flex-direction:column;gap:8px;margin:20px 0;font-size:14px}#report-form input,#report-form select,#report-form textarea{width:100%;border:1px solid #b9bdb5;border-radius:4px;padding:12px;font:inherit;background:white;color:var(--ink);font-size:16px}#report-form textarea{resize:vertical}#report-form .honeypot{display:none}.privacy-note{font-size:13px;line-height:1.8;color:var(--muted)}#report-submit{width:100%;padding:14px;background:var(--blue);color:white;border-radius:4px;font-size:16px}#report-submit:disabled{opacity:.6;cursor:wait}#report-message{font-size:14px;line-height:1.7}.instagram-open{font-size:14px}.eyebrow,.instagram-eyebrow{font-size:12px}.intro-copy{font-size:16px}
@media(max-width:650px){.intro{grid-template-columns:1fr;padding:26px 0 22px}.intro-art{display:none}.browse-tools{gap:10px;flex-wrap:wrap}.sort-control>span{display:none}.view-switch button{padding:8px 10px}.coverage{flex-direction:column;gap:12px}.coverage details{width:100%}#coverage-cities{grid-template-columns:repeat(2,1fr)}.directory-stats{font-size:12px}.filter-row{padding-bottom:14px}.branch-count{font-size:13px}.results-heading{padding-top:18px}.intro-copy{font-size:16px}.masthead-note{display:none}.regions{gap:3px}.regions button{padding:9px 10px}dialog dl>div{grid-template-columns:60px 1fr}.detail-tools{gap:12px;flex-wrap:wrap}}

html:lang(ja){font-family:'DM Sans','Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans JP',sans-serif}html:lang(ja) h1,html:lang(ja) .detail-description{word-break:normal;line-break:strict}.languages{flex-shrink:0}.languages button{white-space:nowrap}@media(max-width:650px){.header{gap:12px}.languages{gap:0;padding:3px}.languages button{padding:7px 9px;font-size:13px}}@media(max-width:350px){.header{padding-left:16px;padding-right:16px}.header .wordmark{font-size:27px}.languages button{padding:7px 7px}}

.trending-status{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;background:#f0f3ff;border:1px solid #dbe2ff;border-radius:5px;padding:18px 20px;margin-top:18px;font-size:14px;line-height:1.7}.trending-status strong{color:var(--blue);font-weight:600}.trending-status p{margin:6px 0;color:var(--muted)}.trending-status summary{cursor:pointer;width:fit-content}.trending-status button{flex-shrink:0;padding:8px 12px;border:1px solid #cbd5fc;border-radius:4px;background:white}.trending-status button:disabled{opacity:.5;cursor:wait}.trend-metric{font-size:14px;color:var(--muted);margin:0 0 12px;display:flex;gap:10px;flex-wrap:wrap}.trend-metric.measured{color:var(--blue)}.trend-metric span{color:var(--muted);font-size:12px}@media(max-width:650px){.trending-status{flex-direction:column;gap:10px;padding:16px}.sort-control select{max-width:130px}}

.site-nav{max-width:1320px;margin:auto;padding:0 48px;display:flex;gap:26px;border-bottom:1px solid var(--line)}.site-nav a{display:block;padding:15px 0 13px;text-decoration:none;font-size:14px;color:var(--muted);border-bottom:2px solid transparent}.site-nav a[aria-current=page]{color:var(--blue);border-color:var(--blue)}.site-nav a:hover{color:var(--blue)}@media(max-width:900px){.site-nav{padding:0 28px}}@media(max-width:650px){.site-nav{padding:0 20px}}
