:root{--ink:#14251d;--paper:#f7f4ec;--cream:#efe9dc;--muted:#69736d;--line:rgba(20,37,29,.14);--dark:#13241c;--blue:#2571bc;--green:#138b3a;--orange:#d7671e;--pink:#c744aa;--purple:#6f36a6;--red:#c82828;--yellow:#c7b200}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif}button,input,select,textarea{font:inherit}.topbar{height:70px;padding:0 clamp(16px,3vw,44px);display:flex;align-items:center;justify-content:space-between;position:fixed;inset:0 0 auto 0;background:rgba(247,244,236,.91);backdrop-filter:blur(15px);z-index:50;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.brand-mark{font-family:"Fraunces",serif;font-size:30px;line-height:1}.brand-copy{font-size:10px;line-height:1.08;letter-spacing:.04em;text-transform:uppercase}.topbar nav{display:flex;gap:24px}.topbar nav a{color:inherit;text-decoration:none;font-weight:700;font-size:13px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800}.map-stage{position:relative;height:100vh;min-height:680px;padding-top:70px;overflow:hidden;background:#fbfaf6}.map-copy{position:absolute;top:98px;left:clamp(18px,4vw,64px);z-index:8;max-width:520px;pointer-events:none}.map-copy h1{font-family:"Fraunces",serif;font-size:clamp(46px,5.6vw,86px);letter-spacing:-.045em;line-height:.87;margin:10px 0 12px}.map-copy h1 em{font-style:normal;color:#d54a30}.map-copy p{font-size:14px;line-height:1.55;color:#536159;max-width:470px;margin:0}.map-search{position:absolute;top:98px;right:clamp(18px,3vw,48px);z-index:12;display:grid;grid-template-columns:minmax(220px,34vw) auto;gap:8px;align-items:center}.map-search input{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:13px;padding:13px 14px;box-shadow:0 10px 30px rgba(20,37,29,.08);outline:none}.map-search button{border:0;background:var(--ink);color:#fff;border-radius:12px;padding:13px 18px;font-weight:800;cursor:pointer}.add-link{grid-column:1/-1;text-align:right;color:var(--ink);font-size:12px;font-weight:800;text-decoration:none;padding-right:4px}.map-canvas{position:absolute;inset:70px 0 0 0;overflow:hidden}.heb-map{width:100%;height:100%;display:block;transition:viewBox .5s ease;background:#fbfaf6}.river{fill:none;stroke:#b6d8df;stroke-width:18;opacity:.62}.canal{fill:none;stroke:#9bbbc0;stroke-width:4;stroke-dasharray:10 8;opacity:.8}.neutral-roads path{fill:none;stroke:#c7c6bf;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.street{cursor:pointer;outline:none}.street path{fill:none;stroke-width:20;stroke-linecap:round;stroke-linejoin:round;transition:.18s;filter:drop-shadow(0 2px 1px rgba(20,37,29,.12))}.street.secondary path{stroke-width:15}.street text{font:800 13px "DM Sans",sans-serif;fill:#14251d;paint-order:stroke;stroke:#fbfaf6;stroke-width:5px;stroke-linejoin:round;pointer-events:none;letter-spacing:.04em}.street:hover path,.street:focus path{stroke-width:27;filter:drop-shadow(0 4px 6px rgba(20,37,29,.2))}.street.active path{stroke-width:29}.street.blue path{stroke:var(--blue)}.street.green path{stroke:var(--green)}.street.orange path{stroke:var(--orange)}.street.pink path{stroke:var(--pink)}.street.purple path{stroke:var(--purple)}.street.red path{stroke:var(--red)}.street.yellow path{stroke:var(--yellow)}.landmark-icon circle,.landmark-icon rect{fill:#fff;stroke:#14251d;stroke-width:3}.landmark-icon path{stroke:#14251d;stroke-width:4;stroke-linecap:round}.landmark-icon text{font:800 12px "DM Sans",sans-serif;fill:#14251d;paint-order:stroke;stroke:#fbfaf6;stroke-width:4px}.station-letter{font-size:22px!important;stroke-width:0!important}.parking rect{fill:#215c8f;stroke:#fff;stroke-width:2}.parking text{font:800 24px "DM Sans",sans-serif;fill:white}.market-rainbow{cursor:pointer}.market-rainbow>rect:first-child{fill:#fff;stroke:#14251d;stroke-width:2}.market-rainbow text{font:800 14px "DM Sans",sans-serif;fill:white;letter-spacing:.08em;pointer-events:none}.r1{fill:#d92f2f}.r2{fill:#ee8c20}.r3{fill:#d4bd16}.r4{fill:#249347}.r5{fill:#287bc1}.r6{fill:#6c45a7}.zone-key{position:absolute;left:clamp(18px,3vw,42px);bottom:22px;z-index:10;display:flex;gap:6px;flex-wrap:wrap;max-width:680px}.zone-key button{border:0;border-radius:999px;padding:9px 14px;color:#fff;font-size:11px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px rgba(20,37,29,.14)}.zone-key .blue{background:var(--blue)}.zone-key .green{background:var(--green)}.zone-key .orange{background:var(--orange)}.zone-key .pink{background:var(--pink)}.zone-key .purple{background:var(--purple)}.zone-key .red{background:var(--red)}.zone-key .yellow{background:var(--yellow);color:#292814}.zone-key .market{background:linear-gradient(90deg,#d92f2f,#ee8c20,#d4bd16,#249347,#287bc1,#6c45a7)}.zone-key button.active{outline:3px solid #14251d;outline-offset:2px}.map-tools{position:absolute;right:24px;bottom:22px;z-index:11;display:flex;gap:7px}.map-tools button{border:1px solid var(--line);background:rgba(255,255,255,.94);border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer;box-shadow:0 6px 18px rgba(20,37,29,.1)}.explore-drawer{position:absolute;z-index:30;right:18px;bottom:18px;width:min(460px,calc(100vw - 36px));max-height:65vh;overflow:auto;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 24px 70px rgba(20,37,29,.22);transform:translateY(calc(100% + 40px));opacity:0;transition:.28s}.explore-drawer.open{transform:translateY(0);opacity:1}.drawer-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:28px;cursor:pointer;color:#536159}.explore-drawer h2{font-family:"Fraunces",serif;font-size:36px;line-height:.95;margin:9px 35px 10px 0;letter-spacing:-.035em}.explore-drawer>p{color:#5a665f;line-height:1.5;font-size:13px}.street-chips{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.street-chips button{border:1px solid var(--line);background:#f3efe6;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;cursor:pointer}.street-chips button.active{background:#14251d;color:#fff}.drawer-results{display:grid;gap:9px}.drawer-business{border-top:1px solid var(--line);padding:13px 0 4px}.drawer-business h3{font-family:"Fraunces",serif;font-size:22px;margin:0 0 4px}.drawer-business .meta{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#707971}.drawer-business p{font-size:12px;line-height:1.45;color:#59635d;margin:7px 0}.drawer-actions{display:flex;gap:6px;flex-wrap:wrap}.drawer-actions a{font-size:11px;font-weight:800;color:inherit;text-decoration:none;border:1px solid var(--line);padding:6px 8px;border-radius:8px}.empty-drawer{padding:15px;border-radius:12px;background:#f5f1e8;font-size:12px;line-height:1.5;color:#59635d}.business-stop{cursor:pointer}.business-stop circle{fill:#fff;stroke:#14251d;stroke-width:3}.business-stop text{font:800 10px "DM Sans",sans-serif;fill:#14251d;paint-order:stroke;stroke:#fff;stroke-width:3px}.section{padding:95px clamp(20px,7vw,110px)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section h2{font-family:"Fraunces",serif;font-size:clamp(40px,5vw,68px);letter-spacing:-.04em;line-height:.96;margin:9px 0 0}.section-head p{max-width:520px;color:var(--muted);line-height:1.62}.listing-section{background:var(--cream)}.business-form{background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(20px,4vw,42px);box-shadow:0 18px 55px rgba(20,37,29,.07)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.business-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:800}.business-form input,.business-form select,.business-form textarea{width:100%;border:1px solid rgba(20,37,29,.22);background:#fbfaf6;color:var(--ink);border-radius:12px;padding:13px 14px}.business-form textarea{resize:vertical}.business-form .wide{grid-column:1/-1}.upload-box{border:1px dashed rgba(20,37,29,.28);padding:16px;border-radius:14px;background:#faf8f1}.upload-box input{background:#fff}.upload-box span{font-size:12px;font-weight:500;color:var(--muted)}.consent{flex-direction:row!important;align-items:flex-start!important;gap:10px!important;margin-top:18px;font-weight:600!important;line-height:1.45}.consent input{width:auto!important;margin-top:3px}.submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:24px}.cta{border:0;background:var(--ink);color:white;border-radius:12px;padding:14px 22px;font-weight:800;cursor:pointer}.submission-note{font-size:13px;line-height:1.55;color:#56645c}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-copy{font-size:17px;line-height:1.72;color:#556259}.heb-footer{padding:44px clamp(20px,7vw,110px);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}.heb-footer p{font-size:13px;color:var(--muted)}.heb-bridge-logo{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;text-decoration:none;color:var(--ink);align-items:end;column-gap:16px}.heb-bridge-logo svg{grid-column:1/3;width:190px;height:55px;fill:none;stroke:currentColor;stroke-width:3}.footer-heb{font-family:"Fraunces",serif;font-size:44px;line-height:.85}.footer-words{display:flex;flex-direction:column;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.footer-words small{font-size:11px;margin-top:4px}@media(max-width:900px){.map-copy{top:88px;max-width:380px}.map-copy h1{font-size:50px}.map-search{top:90px}.map-search input{width:220px}.explore-drawer{max-height:54vh}.section-head,.about{grid-template-columns:1fr;display:grid}.form-grid{grid-template-columns:1fr}.business-form .wide{grid-column:auto}}@media(max-width:680px){.topbar nav{display:none}.map-stage{min-height:720px}.map-copy{top:84px;left:16px;right:16px;max-width:none}.map-copy h1{font-size:42px}.map-copy p{font-size:12px;max-width:330px}.map-search{top:222px;left:16px;right:16px;grid-template-columns:1fr auto}.map-search input{width:auto}.add-link{text-align:left}.map-canvas{inset:70px 0 0}.heb-map{width:1200px;height:100%;max-width:none;transform:translateX(-150px)}.zone-key{left:12px;right:12px;bottom:12px;max-width:none}.zone-key button{padding:8px 10px}.map-tools{right:12px;bottom:86px}.explore-drawer{left:10px;right:10px;bottom:10px;width:auto;max-height:58vh}.section{padding:72px 20px}.heb-footer{align-items:flex-start;gap:26px;flex-direction:column}}/* Side-panel interaction build: the map never zooms or changes viewBox. */
.heb-map{transition:none}
.explore-drawer{top:86px;right:18px;bottom:18px;width:min(470px,42vw);max-height:none;transform:translateX(calc(100% + 40px));overflow:auto;border-radius:22px;padding:26px;background:rgba(255,255,255,.985)}
.explore-drawer.open{transform:translateX(0);opacity:1}
.map-stage:has(.explore-drawer.open) .map-search{right:min(510px,45vw)}
.map-stage:has(.explore-drawer.open) .map-copy{max-width:430px}
.map-tools{right:24px;bottom:22px}
@media(max-width:900px){.explore-drawer{width:min(430px,48vw)}.map-stage:has(.explore-drawer.open) .map-search{display:none}}
@media(max-width:680px){.explore-drawer{top:auto;left:10px;right:10px;bottom:10px;width:auto;max-height:58vh;transform:translateY(calc(100% + 30px))}.explore-drawer.open{transform:translateY(0)}.map-stage:has(.explore-drawer.open) .map-search{display:none}}

/* HEB interactive map refinement */
.map-copy{top:94px;max-width:500px}.map-copy h1{font-size:clamp(44px,5vw,78px)}.map-copy p{max-width:430px}.street.secondary path{stroke-width:13px}.map-tools{align-items:center;gap:9px}.map-status{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800;box-shadow:0 6px 18px rgba(20,37,29,.1)}.map-status i{width:8px;height:8px;border-radius:50%;background:#19a15f;box-shadow:0 0 0 4px rgba(25,161,95,.12)}
@media(max-width:680px){.map-status{display:none}.map-copy h1{font-size:40px}.map-copy p{max-width:310px}}

/* Exact original-map mode. The recovered HEB artwork remains visible and untouched;
   transparent accessible hit paths provide the interaction layer. */
.original-map-layer{position:absolute;inset:20px 22% 18px 22%;display:grid;place-items:center;z-index:2;pointer-events:none}.original-map-layer img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(20,37,29,.12))}.original-map-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.original-map-overlay .original-hit,.original-map-overlay .original-market-hit{pointer-events:stroke}.original-map-overlay .original-hit path,.original-map-overlay .original-market-hit path{fill:none;stroke:transparent;stroke-width:34;cursor:pointer}.original-map-overlay .original-hit:hover path,.original-map-overlay .original-hit:focus path,.original-map-overlay .original-hit.active path{stroke:rgba(20,37,29,.18);stroke-width:38}.original-map-overlay .original-market-hit:hover path,.original-map-overlay .original-market-hit:focus path,.original-map-overlay .original-market-hit.active path{stroke:rgba(255,255,255,.32);stroke-width:46}.heb-map{display:none}.business-stop{display:none}.map-copy{max-width:390px}.map-copy h1{font-size:clamp(40px,4.2vw,68px)}
@media(max-width:1000px){.original-map-layer{inset:155px 5% 76px 5%}.map-copy{max-width:350px}.map-copy p{max-width:330px}.map-search{top:92px}}
@media(max-width:680px){.original-map-layer{inset:220px -2% 88px -2%}.map-copy{top:84px}.map-copy h1{font-size:36px}.map-copy p{font-size:12px}.original-map-layer img{filter:none}.original-map-overlay .original-hit path{stroke-width:50}.zone-key{background:rgba(251,250,246,.9);padding:8px;border-radius:14px;backdrop-filter:blur(8px)}}

/* Keep every main page reachable on phones. */
@media(max-width:680px){
  .topbar{height:108px;padding:10px 14px 8px;display:grid;grid-template-columns:1fr;align-content:center;gap:8px}
  .topbar nav{display:flex;width:100%;gap:0;justify-content:space-between;align-items:center}
  .topbar nav a{font-size:11px;line-height:1.15;white-space:nowrap}
  .brand-mark{font-size:28px}
  .brand-copy{font-size:10px}
}
.application-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;border-radius:999px;background:#c52729;color:#fff;font-size:12px;font-weight:800;text-decoration:none}
.footer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.install-app,.share-app{border:0;border-radius:999px;padding:10px 15px;background:#14251d;color:#fff;font-weight:800;cursor:pointer;box-shadow:0 6px 16px rgba(20,37,29,.14)}.share-app{background:#2571bc}.business-count{border-radius:999px;padding:8px 12px;background:#efe9dc;color:#14251d;font-size:13px;font-weight:800;white-space:nowrap}
.footer-notice{display:flex;flex-direction:column;gap:4px}.footer-notice p{margin:0}.footer-notice small{font-size:12px;color:var(--muted)}
.ios-install-help{width:min(420px,calc(100% - 32px));border:0;border-radius:20px;padding:28px;color:var(--ink);background:#fff;box-shadow:0 24px 70px rgba(20,37,29,.3)}.ios-install-help::backdrop{background:rgba(20,37,29,.52)}.ios-install-help h2{font-family:"Fraunces",serif;font-size:30px;margin:0 34px 16px 0}.ios-install-help ol{padding-left:22px;line-height:1.6}.ios-install-help p{color:var(--muted);line-height:1.5}.ios-help-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:30px;cursor:pointer;color:var(--ink)}
