:root{--ink:#202938;--muted:#687180;--line:#e1e5eb;--blue:#245dcc;--bg:#f6f7f9;--navy:#26364e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9bbcff;outline-offset:2px}button{color:inherit}button.primary,button.secondary,button.quiet{border-radius:5px;font-size:16px;font-weight:600;padding:10px 14px;white-space:nowrap}.primary{background:var(--blue);color:#fff;border:1px solid var(--blue)}.primary:hover{background:#184caf}.secondary{background:white;border:1px solid #cbd2dc}.secondary:hover,.quiet:hover{background:#eef1f6}.quiet{background:transparent;border:1px solid transparent}.text-link{padding:0;background:none;border:0;color:var(--blue);font-size:16px;text-align:left}.app-header{height:70px;display:flex;align-items:center;gap:25px;padding:0 26px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;gap:9px;align-items:center;font-size:20px;letter-spacing:-.7px;font-weight:700;color:var(--ink)}.brand-mark{background:var(--navy);color:#fff;font-size:25px;width:30px;height:32px;border-radius:5px;display:flex;align-items:center;justify-content:center;line-height:1}.beta{letter-spacing:.5px;font-size:16px;font-weight:600;border:1px solid #d9dfe7;padding:2px 4px;border-radius:3px;margin-left:1px;color:#7c8592}.header-city{font-size:16px;color:var(--muted);border-left:1px solid var(--line);padding-left:25px}.header-actions{margin-left:auto;display:flex;gap:12px}.app-layout{display:grid;grid-template-columns:215px minmax(0,1fr);min-height:calc(100vh - 70px)}.sidebar{background:white;border-right:1px solid var(--line);padding:25px 14px;display:flex;flex-direction:column}.sidebar-label{font-size:16px;font-weight:700;color:#818a97;letter-spacing:1px;margin:0 12px 11px}.side-action,.category{display:flex;align-items:center;width:100%;gap:9px;border:0;background:none;text-align:left;border-radius:4px;padding:10px 12px;margin:2px 0;font-size:16px;color:#576170}.side-action span,.category .count{margin-left:auto;font-size:16px;color:#8e96a2}.side-action.current,.category.current{background:#edf2fc;color:var(--blue);font-weight:600}.category .category-icon{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;font-size:16px;color:#7c8798}.side-action:hover,.category:hover{background:#f0f3f8}.category-label{margin-top:29px}.sidebar-bottom{border-top:1px solid var(--line);margin:25px 10px 0;padding-top:20px;font-size:16px;color:var(--muted)}.sidebar-bottom strong{color:var(--ink);font-size:16px}.sidebar-bottom p{line-height:1.6}.sidebar-bottom>a{display:block;font-size:16px;margin-top:35px;color:#9199a5}.app-layout main{padding:28px 30px 0;min-width:0;max-width:1700px;width:100%;margin:auto}.breadcrumbs{font-size:16px;color:#8a92a0;margin-bottom:11px}.breadcrumbs span{margin:0 9px;color:#adb3bc}h1{font-size:25px;letter-spacing:-.7px;line-height:1.2;margin:0;font-weight:650}.page-heading>p{color:var(--muted);font-size:16px;margin:10px 0 21px}.prototype-note{padding:10px 13px;border:1px solid #dfe4ed;border-radius:4px;background:#fff;color:#7b8492;font-size:16px;margin-bottom:22px}.prototype-note strong{color:#596779}.directory-tools{display:flex;gap:10px;align-items:flex-end;margin-bottom:21px}.search-field{display:flex;align-items:center;gap:10px;flex:1;min-width:120px;border:1px solid #ced5df;border-radius:5px;background:white;padding:11px 12px;height:42px}.search-field svg{width:16px;height:16px;fill:none;stroke:#7d8896;stroke-width:1.7;flex-shrink:0}.search-field input{border:0;outline:0;width:100%;font-size:16px;background:none;color:var(--ink)}.filter-select{font-size:16px;font-weight:600;color:#7a8392;display:flex;flex-direction:column;gap:4px}.filter-select select,.mobile-categories select{height:42px;border:1px solid #ced5df;border-radius:5px;background:white;padding:0 28px 0 10px;color:var(--ink);font-size:16px;min-width:110px}.mobile-categories{display:none}.map-toggle{display:none}.results-bar{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;font-size:16px}.results-bar strong{font-size:16px;font-weight:650}.results-bar #activeCategory{margin-left:12px;border-left:1px solid #d6dce4;padding-left:12px;color:#818b99;font-size:16px}.results-bar .text-link{font-size:16px}.directory-split{display:grid;grid-template-columns:minmax(310px,1.15fr) minmax(270px,1fr);gap:22px;align-items:start}.listings{background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden}.listing{padding:20px;border-bottom:1px solid var(--line);position:relative;transition:background .15s}.listing:last-child{border-bottom:0}.listing:hover{background:#fcfdff}.listing-top{display:flex;gap:12px;align-items:flex-start}.place-icon{width:37px;height:37px;border:1px solid #e1e6ed;background:#f4f6f9;color:#64758b;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}.listing-title{min-width:0;flex:1}.listing-title h2{font-size:16px;font-weight:650;margin:0 0 4px;letter-spacing:-.25px}.listing-title h2 button{background:none;border:0;text-align:left;padding:0;font-weight:650}.listing-title h2 button:hover{color:var(--blue)}.place-category{font-size:16px;color:#7f8895}.save-button{border:0;background:transparent;color:#8793a4;padding:0 0 0 8px;font-size:18px;line-height:1}.save-button[aria-pressed=true]{color:var(--blue)}.listing-rating{display:flex;align-items:center;gap:6px;margin:13px 0 7px;font-size:16px}.listing-rating strong{font-size:16px}.stars{color:#9b782b;font-size:16px;letter-spacing:1px}.review-count{color:#8a939f;font-size:16px}.listing-address{color:#7a8593;font-size:16px}.listing-review{font-size:16px;line-height:1.6;color:#596574;margin:10px 0 13px;max-width:95%}.listing-bottom{display:flex;align-items:center;gap:12px}.sample-tag{font-size:16px;color:#7f8896;border:1px solid #e1e6ec;border-radius:3px;padding:2px 5px}.listing-bottom .text-link{margin-left:auto;font-size:16px}.listing-bottom small{font-size:16px;color:#939ca8}.list-footer{padding:16px 0;font-size:16px;line-height:1.7;color:#8d96a3}.map-panel{border:1px solid #d7dee7;border-radius:5px;background:white;overflow:hidden;position:sticky;top:15px}.map-heading{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-bottom:1px solid var(--line);font-size:16px}.map-heading button{font-size:16px}.directory-map{height:470px;background:#e7e9e7}.map-caption{font-size:16px;color:#7a8595;line-height:1.6;padding:10px 12px;margin:0}.map-pin{border:2px solid #fff;background:var(--navy);color:#fff;border-radius:20px;padding:4px 8px;box-shadow:0 1px 5px #0003;font:600 16px/16px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:nowrap}.map-pin.selected{background:var(--blue)}.leaflet-div-icon{background:none;border:0}.leaflet-container{font-family:inherit}.leaflet-popup-content{line-height:1.6;font-size:16px;min-width:140px}.leaflet-popup-content button{background:none;border:0;color:var(--blue);padding:7px 0 0;font-size:16px}.leaflet-control-attribution{font-size:16px!important}.empty{background:white;border:1px solid var(--line);border-radius:5px;padding:40px 20px;text-align:center}.empty h2{font-size:18px}.empty p{font-size:16px;color:var(--muted)}.page-footer{border-top:1px solid var(--line);margin-top:22px;padding:19px 0;display:flex;justify-content:space-between;font-size:16px;color:#9aa2ad}.page-footer button{font-size:16px}dialog{border:1px solid #d4dae3;border-radius:8px;background:#fff;color:var(--ink);padding:28px;width:min(570px,calc(100% - 30px));max-height:92vh;box-shadow:0 20px 80px #17243c30;overflow:auto}dialog::backdrop{background:#18243666}.form-dialog{width:min(720px,calc(100% - 30px))}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;position:relative}.close{border:0;background:none;font-size:23px;line-height:1;color:#8691a0;padding:0;position:absolute;right:15px;top:15px}.dialog-header>.close{position:static}.overline{font-size:16px;letter-spacing:1px;color:#8e97a4}dialog h2{font-size:23px;letter-spacing:-.5px;font-weight:650;margin:7px 0 13px}.form-intro{font-size:16px;color:var(--muted);margin:0 0 22px}.section-title{border-top:1px solid var(--line);padding-top:19px;display:flex;align-items:center;gap:9px;margin:20px 0 13px}.section-title>span{font-size:16px;border:1px solid #cbd4e0;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#71829a}.section-title h3{margin:0;font-size:16px;font-weight:650}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}form label{display:block;font-size:16px;font-weight:600;margin-bottom:16px}.required{color:#6b7d94}.optional{font-size:16px;font-weight:400;color:#8b95a3;margin-left:4px}form input,form select,form textarea{display:block;width:100%;border:1px solid #cbd3df;border-radius:4px;padding:10px 11px;margin-top:6px;background:white;color:var(--ink);font-size:16px;font-weight:400}form input:focus,form select:focus,form textarea:focus{border-color:var(--blue)}.field-help{font-size:16px;line-height:1.6;color:#7a8596;margin:8px 0 12px}.picker-toolbar{border:1px solid #d5dce5;border-bottom:0;background:#f7f8fa;display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border-radius:4px 4px 0 0;font-size:16px}.picker-map{height:260px;border:1px solid #d5dce5;background:#e8ece8;cursor:crosshair}.location-result{padding:10px 12px;font-size:16px;line-height:1.7;border:1px solid #d5dce5;border-top:0;color:#7c8795;border-radius:0 0 4px 4px}.location-result.chosen{color:#274f88;background:#f4f7fd}.location-result a{float:right}.coordinates{margin-top:10px;font-size:16px;color:#7c8795}.coordinates summary{cursor:pointer}.coordinate-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;margin-top:10px}.coordinate-fields label{margin:0}.coordinate-fields button{font-size:16px;align-self:end;height:36px}.form-dialog .map-caption{padding:8px 0}.rating-input{display:flex;gap:9px;flex-wrap:wrap}.rating-input label{padding:8px 9px;border:1px solid #d8dee7;border-radius:4px;display:flex;gap:5px;align-items:center;margin:0;font-size:16px}.rating-input input{width:auto;margin:0;accent-color:var(--blue)}fieldset{border:0;margin:0 0 16px;padding:0}legend{font-size:16px;font-weight:600;margin-bottom:10px}.consent{display:flex;align-items:flex-start;gap:8px;font-size:16px;font-weight:400;line-height:1.5;color:#697586}.consent input{width:auto;margin:3px 0 0;accent-color:var(--blue)}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px}.form-actions>span{font-size:16px;color:#8b95a3}.form-error{font-size:16px;color:#b23a38;line-height:1.5}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;background:#26364e;color:white;font-size:16px;max-width:90vw;box-shadow:0 4px 20px #0002;padding:12px 18px;border-radius:5px;transition:.2s;z-index:2000}.toast.visible{opacity:1;transform:translate(-50%,0)}.detail-header{padding-right:15px}.detail-category{font-size:16px;color:#7d8897}.detail-meta{font-size:16px;color:#7b8796;margin:10px 0 18px}.detail-callout{padding:12px;background:#f5f7fa;border:1px solid var(--line);font-size:16px;line-height:1.7;margin:20px 0}.review-entry{border-top:1px solid var(--line);padding:17px 0}.review-entry strong{font-size:16px}.review-entry p{font-size:16px;line-height:1.7;color:#5e6c7d}.review-entry small{font-size:16px;color:#8f99a7}.detail-actions{display:flex;gap:10px;margin-top:15px}.draft-item{border-top:1px solid var(--line);padding:17px 0}.draft-item strong{font-size:16px}.draft-item p{font-size:16px;line-height:1.6;color:#718094}.draft-meta{font-size:16px;color:#8c97a6;margin-top:5px}.draft-item button{font-size:16px;margin-right:7px}.info-copy{font-size:16px;line-height:1.8;color:#697687}.rating-guide{display:grid;grid-template-columns:35px 1fr;gap:12px;font-size:16px;line-height:1.7;margin-top:20px}.rating-guide strong{color:var(--ink)}.error-box{padding:20px;font-size:16px;line-height:1.7;background:#f2f4f7;color:#647084}.map-picker-pin{width:24px;height:24px;background:var(--blue);border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px #0004}.map-picker-pin:after{content:'';position:absolute;width:6px;height:6px;border-radius:50%;background:white;left:6px;top:6px}
@media(min-width:1500px){.app-layout main{padding:35px 45px 0}.directory-map{height:580px}.listing{padding:24px}.listing-review{font-size:16px}}@media(max-width:1150px){.app-layout{grid-template-columns:190px 1fr}.app-layout main{padding:25px 22px 0}.directory-split{grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr);gap:15px}.filter-select select{min-width:100px;padding-right:15px}.directory-tools{flex-wrap:wrap}.search-field{flex-basis:100%}.directory-map{height:440px}.header-city{font-size:16px}.listing{padding:16px}.listing-bottom{gap:5px}}@media(max-width:900px){.directory-split{display:block}.map-toggle{display:block!important;border:1px solid #ccd4e0!important;background:#fff!important;height:42px}.map-panel{display:none;position:static;margin-bottom:18px;order:-1}.directory-split.map-visible{display:flex;flex-direction:column}.directory-split.map-visible>section{width:100%}.directory-split.map-visible .map-panel{display:block;width:100%}.directory-map{height:330px}.header-city{display:none}.search-field{flex-basis:100%}.sidebar{padding-left:10px;padding-right:10px}.filter-select{flex:1}.filter-select select{width:100%}.listing h2{font-size:16px}}@media(max-width:640px){.app-header{height:60px;padding:0 16px;gap:10px}.brand{font-size:18px}.brand-mark{width:26px;height:28px;font-size:23px}.beta{display:none}.header-actions{gap:0}.header-actions .quiet{display:none}.header-actions .primary{font-size:16px;padding:9px 10px}.app-layout{display:block;min-height:calc(100vh - 60px)}.sidebar{display:none}.app-layout main{padding:22px 16px 0}h1{font-size:23px;max-width:330px;line-height:1.25}.page-heading>p{font-size:16px;line-height:1.7;margin-bottom:16px}.prototype-note{font-size:16px;line-height:1.7;padding:9px 11px;margin-bottom:18px}.directory-tools{gap:9px;margin-bottom:18px}.mobile-categories{display:flex;flex-direction:column;font-size:16px;gap:4px;color:#7a8392;width:100%}.mobile-categories select{width:100%}.filter-select select{font-size:16px}.map-toggle{font-size:16px!important;padding:9px!important}.results-bar #activeCategory{font-size:16px;padding-left:8px;margin-left:8px}.listing{padding:18px 15px}.place-icon{width:32px;height:32px;font-size:16px}.listing-rating{font-size:16px}.listing-review{font-size:16px}.listing-address{font-size:16px}.listing-bottom small{display:none}.listing-bottom .text-link{font-size:16px}.map-panel{margin-bottom:15px}.directory-map{height:300px}.page-footer{font-size:16px;gap:15px}.page-footer button{font-size:16px}dialog{padding:24px 19px}.two-col{grid-template-columns:1fr;gap:0}.form-dialog{max-height:94vh;width:calc(100% - 18px)}.form-intro{font-size:16px}.picker-map{height:240px}.location-result a{float:none;display:block}.coordinate-fields{grid-template-columns:1fr 1fr}.coordinate-fields button{grid-column:1/-1}.form-actions{flex-direction:column-reverse;align-items:stretch;gap:10px}.form-actions>span{text-align:center}.rating-input{gap:6px}.rating-input label{padding:8px}.detail-actions{flex-wrap:wrap}}
.menu-toggle{display:none}@media(max-width:640px){.menu-toggle{display:block;background:none;border:0;padding:4px;color:#647084;font-size:20px}.sidebar.mobile-open{display:flex;position:fixed;top:60px;bottom:0;left:0;width:245px;z-index:1001;overflow-y:auto;box-shadow:10px 0 30px #1b29432a;padding:22px 14px}.app-header{position:relative;z-index:1002}}
