:root{--bg:#fffdf8;--ink:#1e1a16;--muted:#6b625a;--line:#e8e0d4;--brand:#d6452c;--brand-dark:#b23520;--accent:#1f6f8b;--card:#ffffff;--chip:#f4ede1;--ok:#2e7d32;--warn:#9a6b00;--radius:10px;--maxw:1080px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);background:var(--card);position:-webkit-sticky;position:sticky;top:0;z-index:50}.site-header .container{display:flex;align-items:center;gap:20px;height:60px}.logo{font-weight:800;font-size:17px;color:var(--brand);letter-spacing:-.02em;white-space:nowrap}.logo:hover{text-decoration:none}.site-nav{display:flex;gap:16px;font-size:14px;overflow-x:auto;flex:1 1}.site-nav a{color:var(--muted);white-space:nowrap}.site-nav a:hover{color:var(--ink);text-decoration:none}.lang-switch{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:4px 12px;color:var(--muted);white-space:nowrap}.hero{padding:44px 0 28px}.hero h1{font-size:clamp(28px,5vw,42px);margin:0 0 12px;letter-spacing:-.03em;line-height:1.15}.hero p{max-width:640px;color:var(--muted);margin:0;font-size:17px}.hero .badge-row{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-block;background:var(--chip);border-radius:999px;padding:3px 11px;font-size:12.5px;color:var(--muted)}.badge.brand{background:#fbe9e4;color:var(--brand-dark)}.map-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;height:420px;background:#eef0ef}.map-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px}.maplibregl-popup-content{font-family:inherit;font-size:13px;line-height:1.4}.maplibregl-popup-content a{font-weight:600}.maplibregl-popup-content ul.map-tenants{margin:6px 0 0;padding-left:18px;max-height:180px;overflow-y:auto}.maplibregl-popup-content ul.map-tenants li{margin:2px 0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.toolbar input,.toolbar select{font:inherit;font-size:14px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}.toolbar input{flex:1 1;min-width:220px}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:14px;gap:14px;margin:8px 0 40px}.store-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s}.store-card:hover{border-color:var(--brand)}.store-card h3{margin:0;font-size:16px;line-height:1.3}.store-card h3 a{color:var(--ink)}.store-card .addr{font-size:13.5px;color:var(--muted)}.store-card .chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.wr-tag{font-size:12px;font-weight:600}.wr-wholesale{color:var(--brand-dark)}.wr-retail{color:var(--accent)}.wr-both{color:var(--ok)}.wr-unknown{color:var(--muted);font-weight:400}.store-page{padding:36px 0 60px;max-width:760px}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:18px}.store-page h1{font-size:clamp(24px,4vw,34px);margin:0 0 6px;letter-spacing:-.02em}.store-page .sub{color:var(--muted);margin:0 0 20px}.detail-table{width:100%;border-collapse:collapse;margin:18px 0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.detail-table td,.detail-table th{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);font-size:14.5px;vertical-align:top}.detail-table tr:last-child td,.detail-table tr:last-child th{border-bottom:none}.detail-table th{width:180px;color:var(--muted);font-weight:600;background:#faf6ee}.unknown{color:var(--muted);font-style:italic}.note,.unknown{font-size:13.5px}.note{color:var(--warn);background:#fdf6e3;border:1px solid #f0e2b6;border-radius:8px;padding:10px 14px;margin:14px 0}.note.ok{color:var(--ok);background:#edf7ee;border-color:#cde5cf}.fineprint{font-size:12px;color:#9aa0a6;margin:10px 0 0}.prose{max-width:720px;padding:36px 0 60px}.prose h1{font-size:clamp(26px,4.5vw,36px);letter-spacing:-.02em;line-height:1.2;margin:0 0 10px}.prose .lede{color:var(--muted);font-size:17px;margin:0 0 28px}.prose h2{font-size:21px;margin:34px 0 10px;letter-spacing:-.01em}.prose p,.prose ul{margin:0 0 14px}.prose ul{padding-left:22px}.prose li{margin-bottom:6px}.section{padding:26px 0}.section h2{font-size:22px;margin:0 0 10px;letter-spacing:-.01em}.section>.container>p{color:var(--muted);max-width:680px}.guide-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px;margin-top:16px}.guide-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;color:var(--ink);display:block}.guide-card:hover{border-color:var(--brand);text-decoration:none}.guide-card h3{margin:0 0 6px;font-size:16px}.guide-card p{margin:0;font-size:13.5px;color:var(--muted)}.lead-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:10px 0 40px;max-width:640px}.lead-box h2{margin:0 0 6px;font-size:20px}.lead-box .sub{color:var(--muted);font-size:14.5px;margin:0 0 16px}.lead-box form{display:grid;grid-gap:10px;gap:10px}.lead-box input,.lead-box select,.lead-box textarea{font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;width:100%;background:var(--bg);color:var(--ink)}.lead-box textarea{min-height:84px;resize:vertical}.lead-box button{font:inherit;font-weight:700;font-size:15px;background:var(--brand);color:#fff;border:none;border-radius:8px;padding:12px;cursor:pointer}.lead-box button:hover{background:var(--brand-dark)}.lead-box button:disabled{opacity:.6;cursor:default}.lead-msg{font-size:14px;margin-top:4px}.lead-msg.ok{color:var(--ok)}.lead-msg.err{color:var(--brand-dark)}.site-footer{border-top:1px solid var(--line);padding:28px 0 40px;margin-top:20px;font-size:13px;color:var(--muted)}.site-footer p{max-width:720px}@media (max-width:640px){.site-header .container{height:auto;padding:10px 16px;flex-wrap:wrap;gap:8px}.map-wrap{height:320px}}