
.bemc-app{--b-bg:#eeeae0;--b-card:#fffdf8;--b-text:#151515;--b-muted:#716c63;--b-line:#c9c3b8;--b-road:#aaa49a;color:var(--b-text);font-family:Arial,Helvetica,sans-serif}
.bemc-map-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.65fr);gap:18px}
.bemc-map-canvas{background:var(--b-bg);border:1px solid var(--b-line);overflow:hidden}
.bemc-svg{width:100%;height:auto;display:block}
.bemc-road{stroke:var(--b-road);stroke-width:14;fill:none;stroke-linecap:round}
.bemc-road-main{stroke-width:21}
.bemc-road-label{font-size:12px;font-weight:700;letter-spacing:.12em;fill:#6e6a62}
.bemc-building{fill:#d2cec4;stroke:#908b82;stroke-width:1.5}
.bemc-courtyard{fill:#f8f5ed;stroke:#5d5a53;stroke-width:2;stroke-dasharray:5 4}
.bemc-route{fill:none;stroke:#242424;stroke-width:3;stroke-dasharray:8 8;opacity:.58}
.bemc-point{cursor:pointer}
.bemc-point .halo{fill:none;stroke:#111;stroke-width:2;opacity:.22}
.bemc-point .dot{fill:#111;stroke:#fff;stroke-width:4}
.bemc-point text{fill:#fff;font-weight:800;font-size:11px;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.bemc-point.selected .halo{stroke-width:4;opacity:.8}
.bemc-point-label{font-size:13px!important;font-weight:800!important;fill:#111!important;text-anchor:start!important;paint-order:stroke;stroke:var(--b-bg);stroke-width:5px;stroke-linejoin:round}
.bemc-card{background:var(--b-card);border-top:3px solid var(--b-text);padding:18px}
.bemc-image{width:100%;aspect-ratio:16/10;background:#e8e4da;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:14px}
.bemc-image img{width:100%;height:100%;object-fit:cover}
.bemc-image span{font-size:11px;letter-spacing:.08em;color:var(--b-muted)}
.bemc-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--b-muted)}
.bemc-number{font-size:52px;font-weight:900;line-height:.9;letter-spacing:-.06em;margin-top:7px}
.bemc-place-name{font-size:20px!important;line-height:1.1!important;margin:8px 0!important}
.bemc-place-desc{font-size:14px;line-height:1.5;color:var(--b-muted)}
.bemc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.bemc-btn{border:1px solid var(--b-text);background:transparent;color:var(--b-text);font-size:12px;font-weight:700;min-height:42px;padding:9px 13px;text-decoration:none;cursor:pointer}
.bemc-qr{display:none;background:#fff;padding:10px;width:max-content;margin-top:10px}
.bemc-qr.active{display:block}
.bemc-qr canvas{display:block}
.bemc-banner{background:#eeeae0;color:#151515;padding:clamp(32px,6vw,74px) 0;margin:0}
.bemc-banner-dark{background:#111;color:#f4f1e8}
.bemc-banner-inner{width:min(1200px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:clamp(24px,5vw,70px);align-items:center}
.bemc-banner-eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.62}
.bemc-banner-date{font-size:12px;font-weight:800;letter-spacing:.12em;margin-top:18px}
.bemc-banner h2{font-size:clamp(42px,6vw,82px)!important;line-height:.88!important;letter-spacing:-.055em!important;margin:12px 0 18px!important;color:inherit!important}
.bemc-banner p{font-size:16px;line-height:1.5;opacity:.72;max-width:520px}
.bemc-banner-cta{display:inline-block;margin-top:18px;border-bottom:1px solid currentColor;padding-bottom:5px;color:inherit;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.08em}
.bemc-banner-mini .bemc-map-grid{grid-template-columns:1fr}
.bemc-banner-mini .bemc-card{display:none}
.bemc-banner-mini .bemc-map-canvas{border-color:currentColor}
.bemc-banner-dark .bemc-banner-mini .bemc-map-canvas{filter:invert(.92) hue-rotate(180deg)}
@media(max-width:850px){
  .bemc-map-grid,.bemc-banner-inner{grid-template-columns:1fr}
  .bemc-banner-mini{order:-1}
}
