:root{--primary:#7a3b2e;--primary-hover:#5d2b21;--accent:#c49258;--accent-light:#faf5ee;--bg-page:#faf8f5;--bg-card:#fff;--text:#1f1d1b;--text-muted:#5c554d;--text-subtle:#8c847a;--border:#efece6;--shadow:#7a3b2e0a;--shadow-heavy:#1f1d1b14;--font-heading:"Playfair Display", serif;--font-body:"Outfit", sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--text-2xs:.625rem;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--cat-groceries:#7a3b2e;--cat-restaurants:#c49258;--cat-fashion:#6b5b95;--cat-services:#45826b;--cat-catering:#c0392b}body.dark-mode{--primary:#c49258;--primary-hover:#b57f43;--accent:#7a3b2e;--accent-light:#241f1d;--bg-page:#141211;--bg-card:#1f1d1b;--text:#f5f1eb;--text-muted:#b0a89e;--text-subtle:#7a7268;--border:#2d2825;--shadow:#0003;--shadow-heavy:#0006}*{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}body{font-family:var(--font-body);background-color:var(--bg-page);color:var(--text);height:100vh;font-size:var(--text-base);flex-direction:column;line-height:1.5;transition:background-color .3s,color .3s;display:flex;overflow-x:hidden}.skip-to-content{z-index:10000;background-color:var(--primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-sm);padding:8px 16px;font-weight:700;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:16px}.skip-to-content:focus{top:8px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-shell{flex-direction:column;width:100vw;height:100vh;display:flex}.app-header{background-color:var(--bg-card);border-bottom:3px double var(--primary);z-index:1000;justify-content:space-between;align-items:center;padding:10px 24px;transition:background-color .3s,border-color .3s;display:flex;box-shadow:0 2px 10px #00000005}.header-logo-container .logo-text{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--primary);text-transform:uppercase;letter-spacing:-.5px;font-weight:700;line-height:1}.header-logo-container .logo-sub{font-size:var(--text-2xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:4px;font-weight:700}.header-navigation{align-items:center;gap:12px;display:flex}.nav-btn{border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:var(--text-xs);border-radius:var(--radius-sm);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background-color:#0000;align-items:center;gap:6px;min-height:36px;padding:8px 16px;font-weight:600;transition:all .2s;display:inline-flex}.nav-btn:hover{border-color:var(--primary);color:var(--primary);background-color:var(--accent-light)}.nav-btn.accent{background-color:var(--primary);border-color:var(--primary);color:#fff!important}.nav-btn.accent:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.nav-icon{width:14px;height:14px}.nav-btn .badge{background-color:var(--accent);color:#fff;font-size:var(--text-2xs);border-radius:10px;padding:1px 6px;font-weight:700}.nav-btn.icon-only{justify-content:center;width:36px;height:36px;padding:0}.nav-btn.icon-only svg{width:16px;height:16px}.app-layout-grid{flex:1;height:calc(100vh - 65px);display:flex;overflow:hidden}.ad-gutter{background-color:var(--bg-page);border-right:1px solid var(--border);flex-shrink:0;width:200px;padding:12px;transition:background-color .3s,border-color .3s;overflow:hidden}.ad-gutter.right{border-right:none;border-left:1px solid var(--border)}.ad-sticky-container{flex-direction:column;height:100%;display:flex;position:sticky;top:12px}.ad-label{font-size:var(--text-2xs);color:var(--text-subtle);letter-spacing:1.5px;text-transform:uppercase;text-align:center;border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:4px;font-weight:700}.ad-card-rotator{flex-direction:column;flex:1;gap:12px;display:flex;position:relative;overflow-y:auto}.ad-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 6px var(--shadow), 0 0 0 1px var(--border);cursor:pointer;flex-direction:column;gap:8px;padding:14px;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),border-color .3s,opacity .4s;animation:.5s both adFadeIn,6s ease-in-out infinite ad-gentle-float;display:flex;position:relative;overflow:hidden}@keyframes adFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes ad-gentle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.ad-card:hover{box-shadow:0 12px 20px #7a3b2e1f, 0 0 0 2px var(--primary);border-color:var(--primary);transform:translateY(-6px)}.ad-image-container{border-radius:var(--radius-md);width:100%;box-shadow:0 4px 12px var(--shadow);border:1px solid var(--border);background-color:var(--bg-page);justify-content:center;align-items:center;max-height:220px;margin-bottom:8px;display:flex;position:relative;overflow:hidden}.ad-image-container img{object-fit:contain;width:100%;height:auto;max-height:220px;transition:transform .6s cubic-bezier(.16,1,.3,1);display:block}.ad-card:hover .ad-image-container img,.inline-ad-card:hover .ad-image-container img{transform:scale(1.08)}.ad-image-container:after{content:"";pointer-events:none;opacity:.8;background:linear-gradient(90deg,#fff0 0%,#ffffff4d 30%,#fff9 50%,#ffffff4d 70%,#fff0 100%);width:100%;height:100%;position:absolute;top:0;left:-150%;transform:skew(-25deg)}.ad-card:hover .ad-image-container:after,.inline-ad-card:hover .ad-image-container:after{animation:1.2s cubic-bezier(.16,1,.3,1) shine-sweep}@keyframes shine-sweep{0%{left:-150%}to{left:150%}}.ad-disclosure{font-size:var(--text-2xs);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.8px;border:1px solid var(--border);background-color:var(--bg-page);border-radius:3px;align-self:flex-start;align-items:center;gap:3px;padding:2px 6px;font-weight:700;display:inline-flex}.ad-tag{background-color:var(--accent-light);color:var(--primary);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.5px;border-radius:3px;align-self:flex-start;padding:2px 6px;font-weight:700}.ad-title{font-family:var(--font-heading);font-size:var(--text-base);color:var(--text);text-align:center;font-weight:700;line-height:1.2}.ad-subtitle{color:var(--text-muted);text-align:center;margin-bottom:8px;font-size:.85rem;font-weight:500}.ad-desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}.ad-cta{font-size:var(--text-xs);color:var(--primary);text-transform:uppercase;letter-spacing:.5px;justify-content:center;align-items:center;gap:3px;margin-top:4px;font-weight:700;display:flex}.main-display{flex:1;height:100%;display:flex;position:relative}.onboarding-tooltip-overlay{z-index:1000;pointer-events:none;position:absolute;top:155px;left:410px}@media (width<=1024px){.onboarding-tooltip-overlay{display:none}}.onboarding-tooltip{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);font-family:var(--font-heading);font-size:var(--text-md);letter-spacing:.5px;padding:12px 20px;font-weight:600;animation:2s ease-in-out infinite bounceTooltip;position:relative;box-shadow:0 10px 25px #b71c4c40}.onboarding-tooltip:before{content:"";border-style:solid;border-width:10px 12px 10px 0;border-color:transparent var(--primary) transparent transparent;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}@keyframes bounceTooltip{0%,to{transform:translate(0)}50%{transform:translate(-12px)}}.search-pane-container{border-right:1px solid var(--border);background-color:var(--bg-card);z-index:10;flex-direction:column;width:400px;height:100%;transition:background-color .3s,border-color .3s;display:flex;box-shadow:2px 0 10px #00000003}.sidebar-search{flex-direction:column;flex-shrink:0;display:flex}.search-container{padding:14px 16px 10px}.search-input-wrapper{background-color:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;padding:2px 8px;transition:all .2s;display:flex;position:relative}.search-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #7a3b2e14}.search-input-icon{width:16px;height:16px;color:var(--text-muted);flex-shrink:0;margin-right:8px}.search-field-icon{font-size:var(--text-base);flex-shrink:0;margin-right:8px;line-height:1}.search-input-wrapper input{width:100%;color:var(--text);font-family:var(--font-body);font-size:var(--text-base);background:0 0;border:none;outline:none;min-height:40px;padding:10px 0;font-weight:500}.search-input-wrapper input::placeholder{color:var(--text-muted)}#btn-gps{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:6px;transition:all .2s;display:flex}#btn-gps:hover{color:var(--primary);background-color:var(--border)}.gps-icon{width:18px;height:18px}.spinner{border:2px solid var(--text-muted);border-top-color:var(--primary);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.category-tabs{gap:6px;margin-bottom:8px;padding:0 16px;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.tab-btn{background-color:var(--bg-page);border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-xs);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;min-height:36px;padding:6px 12px;font-weight:600;transition:all .2s}.tab-btn:hover{border-color:var(--primary);color:var(--primary)}.tab-btn.active{background-color:var(--primary);border-color:var(--primary);color:#fff}.radius-controller{border-bottom:1px solid var(--border);padding:8px 16px 12px}.radius-header{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;margin-bottom:4px;font-weight:700;display:flex}#radius-val{color:var(--primary)}.radius-controller input[type=range]{background:var(--border);border-radius:var(--radius-sm);width:100%;height:4px;accent-color:var(--primary);cursor:pointer;outline:none}.radius-tip{font-size:var(--text-xs);color:var(--text-muted);margin-top:3px}.directory-status{background-color:var(--accent-light);border-bottom:1px solid var(--border);font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:8px 16px;font-weight:600;transition:background-color .3s}.listings-feed{flex-direction:column;flex:1;gap:12px;padding:12px 16px;display:flex;overflow-y:auto}.skeleton-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);border-left:4px solid var(--border);flex-direction:column;gap:10px;padding:14px 14px 14px 18px;display:flex}.skeleton-line{background:linear-gradient(90deg, var(--bg-page) 25%, var(--border) 50%, var(--bg-page) 75%);background-size:400px 100%;border-radius:4px;height:12px;animation:1.5s ease-in-out infinite shimmer}.skeleton-line.title{width:65%;height:16px}.skeleton-line.address{width:85%}.skeleton-line.meta{width:55%}.skeleton-line.tags{width:40%;height:10px}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.directory-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 1px 3px var(--shadow);cursor:pointer;border-left:4px solid var(--cat-groceries);flex-direction:column;gap:6px;padding:14px 14px 14px 18px;transition:border-color .2s,box-shadow .2s,background-color .3s,transform .2s;animation:.35s both cardFadeIn;display:flex;position:relative}.directory-card[data-category=Restaurants]{border-left-color:var(--cat-restaurants)}.directory-card[data-category=Fashion]{border-left-color:var(--cat-fashion)}.directory-card[data-category=Services]{border-left-color:var(--cat-services)}.directory-card[data-category=Catering]{border-left-color:var(--cat-catering)}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.directory-card:hover{border-left-width:4px;border-color:var(--primary);border-left-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 10px #7a3b2e0f}.directory-card.highlighted{background-color:var(--accent-light);box-shadow:0 4px 12px #c492581f;border-color:var(--accent)!important;border-left-color:var(--accent)!important}.card-header-line{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.card-title-group{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.card-cat-icon{background-color:var(--accent-light);width:28px;height:28px;font-size:var(--text-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .3s;display:flex}.card-title{font-family:var(--font-heading);font-size:var(--text-md);color:var(--text);font-weight:700;line-height:1.25}.card-badges{flex-shrink:0;gap:4px;display:flex}.badge-item{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.5px;border-radius:3px;padding:3px 6px;font-weight:700}.badge-item.verified{background-color:var(--accent);color:#fff}.badge-item.sponsor{border:1px solid var(--primary);color:var(--primary)}.badge-item.distance{background-color:var(--bg-body);border:1px solid var(--border);color:var(--text-muted)}.map-popup-distance{font-size:var(--text-xs);color:var(--primary);margin-top:2px;margin-bottom:4px;font-weight:600}.card-address{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:4px;display:flex}.card-address a{color:var(--text-muted);text-decoration:none}.card-address a:hover{color:var(--primary);text-decoration:underline}.card-meta{font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;display:flex}.card-meta-item{align-items:center;gap:4px;display:inline-flex}.card-meta-item a{color:var(--primary);font-weight:500;text-decoration:none}.card-meta-item a:hover{text-decoration:underline}.card-tags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.card-tag-pill{background-color:var(--bg-page);color:var(--text-muted);font-size:var(--text-xs);border:1px solid var(--border);border-radius:3px;padding:2px 7px;transition:background-color .3s}.card-icon-svg{width:12px;height:12px;fill:var(--primary);flex-shrink:0}.empty-state{text-align:center;color:var(--text-muted);font-size:var(--text-base);flex-direction:column;align-items:center;gap:12px;padding:40px 15px;display:flex}.empty-icon{width:40px;height:40px;stroke:var(--text-muted)}.map-wrapper{flex:1;height:100%;position:relative}.leaflet-container{font-family:var(--font-body)!important}.leaflet-popup-content-wrapper{border-radius:var(--radius-md)!important;background-color:var(--bg-card)!important;color:var(--text)!important;border:1px solid var(--border)!important;padding:4px!important;box-shadow:0 4px 15px #0000000f!important}.leaflet-popup-tip{background-color:var(--bg-card)!important;border:1px solid var(--border)!important}.map-popup-card{flex-direction:column;gap:4px;min-width:200px;display:flex}.map-popup-title{font-family:var(--font-heading);font-size:var(--text-base);color:var(--primary);margin-bottom:2px;font-weight:700}.map-popup-address{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:2px}.map-popup-meta{font-size:var(--text-xs);color:var(--text-muted)}.map-popup-meta a{color:var(--primary);font-weight:600;text-decoration:none}.custom-terracotta-marker{background:0 0;border:none}.marker-pin{background-color:var(--primary);border:3px solid #fff;border-radius:50%;width:16px;height:16px;position:relative;box-shadow:0 2px 5px #0000004d}.marker-pin:after{content:"";width:16px;height:16px;box-shadow:0 0 0 2px var(--primary);opacity:0;border-radius:50%;animation:2s infinite glow;position:absolute;top:-3px;left:-3px}@keyframes glow{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.marker-pin.sponsor-pin{background-color:var(--accent);border-color:#fff}.marker-pin.sponsor-pin:after{box-shadow:0 0 0 2px var(--accent)}.mobile-map-toggle{z-index:1100;background-color:var(--primary);color:#fff;font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:30px;align-items:center;gap:8px;min-height:44px;padding:12px 24px;font-weight:700;display:none;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #00000026}.mobile-map-toggle:hover{background-color:var(--primary-hover)}.toggle-icon{width:16px;height:16px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;opacity:0;pointer-events:none;background-color:#1f1d1b66;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .2s;display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 10px 30px var(--shadow-heavy);width:90%;max-width:480px;padding:24px;transition:transform .3s;position:relative;transform:scale(.9)}.modal-overlay.active .modal-card{transform:scale(1)}.modal-card.wide{flex-direction:column;max-width:820px;height:80vh;display:flex}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:10px;display:flex}.modal-header h2{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--primary)}.header-titles .header-desc{font-size:var(--text-sm);color:var(--text-muted);margin-top:4px}.close-btn{font-size:var(--text-xl);color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:4px 8px;line-height:1;display:flex}.close-btn:hover{color:var(--primary)}.modal-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{font-size:var(--text-xs);text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;font-weight:700}.form-group input,.form-group select,.form-group textarea{background-color:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);outline:none;min-height:42px;padding:10px 12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary)}.form-group textarea{resize:none;height:90px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:10px;padding-top:16px;display:flex}.btn-submit,.btn-cancel{font-family:var(--font-body);font-size:var(--text-sm);border-radius:var(--radius-sm);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;min-height:40px;padding:10px 20px;font-weight:700;transition:all .2s}.btn-cancel{border:1px solid var(--border);color:var(--text-muted);background:0 0}.btn-cancel:hover{background-color:var(--bg-page);border-color:var(--text-muted);color:var(--text)}.btn-submit{background-color:var(--primary);border:1px solid var(--primary);color:#fff}.btn-submit:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.board-body-grid{flex:1;gap:20px;display:flex;overflow:hidden}.board-posts-stream{flex-direction:column;gap:12px;width:45%;display:flex}.board-posts-stream h3,.board-quotes-drawer h3{font-family:var(--font-heading);font-size:var(--text-md);color:var(--primary);border-bottom:2px solid var(--border);margin-bottom:8px;padding-bottom:6px}.board-stream-list{flex-direction:column;flex:1;gap:10px;padding-right:4px;display:flex;overflow-y:auto}.sourcing-post-card{background-color:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:6px;padding:12px;transition:all .2s;display:flex}.sourcing-post-card:hover{border-color:var(--primary);background-color:var(--bg-card)}.sourcing-post-card.active{border-color:var(--accent);background-color:var(--bg-card);box-shadow:0 2px 8px var(--shadow)}.post-head{justify-content:space-between;align-items:center;display:flex}.post-title{font-family:var(--font-heading);font-size:var(--text-base);font-weight:700}.post-category{font-size:var(--text-2xs);text-transform:uppercase;background-color:var(--primary);color:#fff;border-radius:3px;padding:3px 6px;font-weight:700}.post-desc{font-size:var(--text-sm);color:var(--text-muted);font-style:italic;line-height:1.4}.post-foot{font-size:var(--text-xs);color:var(--text-muted);justify-content:space-between;display:flex}.post-author{font-weight:700}.board-quotes-drawer{flex-direction:column;flex:1;display:flex}.quotes-header-headline{font-size:var(--text-sm);color:var(--text-muted);text-align:center;background-color:var(--bg-page);border-radius:var(--radius-sm);margin-bottom:12px;padding:10px;font-weight:700}.board-quotes-list{flex-direction:column;flex:1;gap:12px;padding-right:4px;display:flex;overflow-y:auto}.quote-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 2px 6px var(--shadow);flex-direction:column;gap:8px;padding:14px;display:flex}.quote-vendor-line{justify-content:space-between;align-items:center;display:flex}.quote-vendor-name{font-family:var(--font-heading);font-size:var(--text-base);font-weight:700}.quote-badge{font-size:var(--text-2xs);background-color:var(--accent);color:#fff;border-radius:20px;padding:3px 8px;font-weight:700}.quote-desc{font-size:var(--text-sm);color:var(--text-muted);background-color:var(--accent-light);border-radius:var(--radius-sm);border-left:3px solid var(--accent);padding:10px 12px;line-height:1.45}.quote-foot-line{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.quote-price{font-size:var(--text-md);color:var(--primary);font-weight:700}.quote-btn-connect{background-color:var(--primary);border:1px solid var(--primary);color:#fff;font-family:var(--font-body);font-size:var(--text-xs);border-radius:var(--radius-sm);cursor:pointer;text-transform:uppercase;letter-spacing:.3px;min-height:36px;padding:8px 14px;font-weight:700;transition:all .2s}.quote-btn-connect:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.app-footer{background-color:var(--bg-card);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-muted);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 24px;transition:background-color .3s,border-color .3s;display:flex}.footer-links{align-items:center;gap:18px;display:flex}.footer-links a{color:var(--text-muted);padding:4px 0;font-weight:500;text-decoration:none;transition:all .2s;position:relative}.footer-links a:after{content:"";background-color:var(--accent);width:0;height:1.5px;transition:width .25s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0}.footer-links a:hover{color:var(--primary)}.footer-links a:hover:after{width:100%}.footer-copy{color:var(--text-subtle)}.footer-modal-card{flex-direction:column;display:flex;max-width:680px!important;height:auto!important;max-height:85vh!important}.fade-in-content{animation:.3s cubic-bezier(.4,0,.2,1) both tabFadeIn}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.contact-info-link-card{transition:all .22s cubic-bezier(.4,0,.2,1)}.contact-info-link-card:hover{transform:translateY(-1.5px);border-color:var(--primary)!important;box-shadow:0 4px 12px var(--shadow)!important;background-color:var(--accent-light)!important}.pricing-card{transition:all .25s cubic-bezier(.4,0,.2,1)}.pricing-card:hover{transform:translateY(-2px);border-color:var(--primary)!important;box-shadow:0 6px 16px var(--shadow-heavy)!important}.pricing-card.highlighted:hover{transform:translateY(-3px);border-color:var(--primary)!important;box-shadow:0 8px 20px #c4925838!important}.pricing-btn{transition:all .2s}.pricing-btn:hover{background-color:var(--primary-hover)!important;border-color:var(--primary-hover)!important;color:#fff!important}.pricing-btn.outline{border:1px solid var(--primary)!important;color:var(--primary)!important}.pricing-btn.outline:hover{background-color:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}@media (width<=1024px){.ad-gutter{display:none!important}}.mobile-sponsored-showcase,.btn-label-short{display:none}@media (width<=768px){body{height:auto;overflow-y:auto}.app-shell{height:auto;min-height:100vh}.app-header{gap:8px;padding:8px 12px}.header-logo-container .logo-text{font-size:var(--text-lg)}.header-logo-container .logo-sub{letter-spacing:1px;margin-top:2px;font-size:8px}.header-navigation{flex-shrink:0;gap:6px}.btn-label-full{display:none}.btn-label-short{display:inline}.nav-btn.accent{font-size:var(--text-2xs);white-space:nowrap;padding:7px 12px}.nav-btn:not(.icon-only):not(.accent){display:none}.app-layout-grid{flex-direction:column;height:auto;min-height:calc(100vh - 55px);overflow:visible}.main-display{flex-direction:column;width:100%;height:auto;min-height:calc(100vh - 95px);position:relative;overflow:visible}.search-pane-container{display:contents!important}.sidebar-search{background-color:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;order:1;width:100%}.map-wrapper{border-bottom:2px solid var(--border);flex-shrink:0;order:2;box-shadow:0 2px 8px #0000000f;width:100%!important;height:200px!important;min-height:200px!important;max-height:200px!important;position:relative!important;transform:none!important}.listings-feed{flex:1;order:3;gap:10px;width:100%;min-height:200px;padding:10px 12px}.app-layout-grid.map-active .search-pane-container,.app-layout-grid.map-active .map-wrapper{transform:none!important}.mobile-map-toggle{display:none!important}.mobile-sponsored-showcase{width:100%;margin-bottom:12px;padding:4px 0 8px;display:block}.mobile-showcase-header{margin-bottom:8px;padding:0 4px}.mobile-showcase-title{font-size:var(--text-xs);color:var(--primary);text-transform:uppercase;letter-spacing:.8px;font-weight:700}.mobile-showcase-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;padding:4px 4px 8px;display:flex;overflow-x:auto}.mobile-showcase-track::-webkit-scrollbar{display:none}.mobile-showcase-card{scroll-snap-align:start;background-color:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;flex:0 0 280px;transition:transform .2s,border-color .2s;display:flex;overflow:hidden;box-shadow:0 2px 6px #0000000a}.mobile-showcase-card:active{transform:scale(.98)}.mobile-showcase-card-img{background-color:var(--bg-page);border-bottom:1px solid var(--border);width:100%;height:120px;overflow:hidden}.mobile-showcase-card-img img{object-fit:cover;width:100%;height:100%}.mobile-showcase-card-content{flex-direction:column;flex:1;gap:4px;padding:10px 12px;display:flex}.mobile-showcase-badge{color:#fff;background-color:var(--accent);letter-spacing:.5px;border-radius:4px;align-self:flex-start;padding:2px 6px;font-size:8px;font-weight:700}.mobile-showcase-headline{font-size:var(--text-sm);color:var(--text-main);margin:4px 0 2px;font-weight:700;line-height:1.3}.mobile-showcase-subtitle{font-size:var(--text-2xs);color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.mobile-showcase-cta{font-size:var(--text-2xs);color:var(--primary);align-items:center;gap:4px;margin-top:auto;font-weight:700;display:flex}.search-container{padding:10px 12px 8px}.search-input-wrapper input{font-size:var(--text-sm);min-height:38px;padding:8px 0}.category-tabs{gap:4px;margin-bottom:6px;padding:0 12px}.tab-btn{border-radius:6px;min-height:30px;padding:5px 10px;font-size:9px}.radius-controller{padding:6px 12px 8px}.radius-header,.radius-tip{font-size:9px}.directory-status{letter-spacing:.8px;padding:6px 12px;font-size:9px}.directory-card{border-radius:6px;gap:4px;padding:11px 11px 11px 14px}.card-header-line{gap:6px}.card-title{font-size:var(--text-base);line-height:1.25}.card-cat-icon{width:24px;height:24px;font-size:10px}.card-badges{flex-wrap:wrap;gap:3px}.badge-item{padding:2px 5px;font-size:8px}.card-address{font-size:10px}.card-meta{gap:6px;font-size:10px}.card-icon-svg{width:10px;height:10px}.card-tag-pill{text-overflow:ellipsis;white-space:nowrap;max-width:160px;padding:2px 6px;font-size:9px;overflow:hidden}.card-tags{gap:3px;margin-top:3px}.ad-card-subtitle,.ad-cta-link{font-size:var(--text-2xs)}.app-footer{text-align:center;flex-direction:column;gap:5px;padding:10px 12px}.footer-links{flex-wrap:wrap;justify-content:center;gap:10px}.footer-links a{font-size:10px}.footer-copy{font-size:9px}.modal-card.wide{width:96%;height:88vh}.board-body-grid{flex-direction:column;overflow-y:auto}.board-posts-stream{width:100%;max-height:250px}.detail-modal-card,.footer-modal-card{width:96%!important;max-height:90vh!important}}.landing-container{background-color:var(--bg-page);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:40px 20px;transition:background-color .3s;display:flex;position:relative;overflow:hidden}.landing-glow-1{filter:blur(80px);pointer-events:none;z-index:1;background:radial-gradient(circle,#7a3b2e14 0%,#faf8f500 70%);border-radius:50%;width:50vw;height:50vw;position:absolute;top:-10%;left:-10%}.landing-glow-2{filter:blur(80px);pointer-events:none;z-index:1;background:radial-gradient(circle,#c4925814 0%,#faf8f500 70%);border-radius:50%;width:50vw;height:50vw;position:absolute;bottom:-10%;right:-10%}.landing-content{z-index:10;text-align:center;flex-direction:column;align-items:center;gap:32px;width:100%;max-width:860px;display:flex;position:relative}.landing-header{flex-direction:column;align-items:center;gap:4px;display:flex}.landing-logo{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--primary);text-transform:uppercase;letter-spacing:-1px;font-weight:700;line-height:1}.landing-subtitle{font-size:var(--text-sm);color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;font-weight:700}.landing-search-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:16px;width:100%;padding:36px 40px;transition:background-color .3s,border-color .3s;display:flex;box-shadow:0 8px 30px #7a3b2e08,0 2px 10px #1f1d1b05}.landing-title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text);font-weight:700;line-height:1.2}.landing-lead{font-size:var(--text-base);color:var(--text-muted);max-width:620px;line-height:1.5}.landing-form{flex-direction:column;align-items:center;gap:20px;width:100%;margin-top:10px;display:flex}.landing-form-grid{grid-template-columns:1fr 1fr;gap:20px;width:100%;display:grid}.landing-field-wrapper{flex-direction:column;align-items:flex-start;gap:6px;width:100%;display:flex}.landing-label{font-size:var(--text-xs);text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;font-weight:700}.landing-input-wrapper{background-color:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;width:100%;padding:4px 12px;transition:border-color .2s,box-shadow .2s;display:flex}.landing-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #7a3b2e14}.input-icon{font-size:var(--text-md);opacity:.7;margin-right:10px}.landing-input-wrapper input{width:100%;font-family:var(--font-body);font-size:var(--text-base);color:var(--text);background:0 0;border:none;outline:none;padding:10px 0}.landing-input-wrapper input::placeholder{color:var(--text-muted)}.landing-btn-submit{background-color:var(--primary);border:1px solid var(--primary);color:#fff;font-family:var(--font-body);font-size:var(--text-base);border-radius:var(--radius-sm);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;min-height:44px;padding:12px 32px;font-weight:700;transition:all .2s}.landing-btn-submit:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px)}.landing-categories-section{flex-direction:column;align-items:center;gap:16px;width:100%;margin-top:10px;display:flex}.landing-categories-section h2{font-size:var(--text-sm);text-transform:uppercase;color:var(--text-muted);letter-spacing:1px;font-weight:700}.landing-categories-grid{grid-template-columns:repeat(4,1fr);gap:16px;width:100%;display:grid}.landing-category-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 2px 6px var(--shadow);cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;transition:all .2s;display:flex}.landing-category-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 6px 15px #7a3b2e14}.cat-icon-circle{background-color:var(--accent-light);width:44px;height:44px;font-size:var(--text-lg);border-radius:50%;justify-content:center;align-items:center;transition:background-color .3s;display:flex}.landing-category-card:hover .cat-icon-circle{background-color:var(--primary);color:#fff}.landing-category-card h3{font-family:var(--font-heading);font-size:var(--text-md);color:var(--text);font-weight:700}.landing-category-card p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.35}.landing-footer{font-size:var(--text-sm);color:var(--text-muted);letter-spacing:.5px;margin-top:10px}.back-nav-bar{border-bottom:1px dashed var(--border);background-color:var(--bg-card);transition:background-color .3s,border-color .3s}@media (width<=768px){.landing-logo{font-size:var(--text-xl)}.landing-search-card{padding:24px 20px}.landing-title{font-size:var(--text-lg)}.landing-form-grid{grid-template-columns:1fr;gap:12px}.landing-categories-grid{grid-template-columns:1fr 1fr;gap:12px}.landing-category-card{padding:16px 12px}}.detail-modal-card{animation:.3s cubic-bezier(.16,1,.3,1) forwards modalSlideUp}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.detail-close-btn{cursor:pointer;opacity:.8;line-height:1;transition:opacity .2s,transform .2s;box-shadow:none!important;background:0 0!important;border:none!important;padding:4px!important}.detail-close-btn:hover{opacity:1;transform:scale(1.1)}.detail-verified-banner{box-shadow:inset 0 0 12px #10b98105}.detail-info-row{transition:transform .2s,border-color .2s}.detail-info-row:hover{transform:translate(2px);border-color:var(--primary)!important}.detail-info-row button{font-family:var(--font-body);transition:color .2s,opacity .2s}.detail-info-row button:hover{opacity:.9;color:var(--primary-hover)!important}.directory-card.inline-ad-card{background-color:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--accent);transition:border-color .2s,box-shadow .2s,background-color .3s,transform .2s;position:relative;overflow:hidden}.directory-card.inline-ad-card:hover{border-left-width:4px;border-color:var(--primary);border-left-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 10px #7a3b2e0f}.directory-card.inline-ad-card .card-title{color:var(--text)}.ad-card-subtitle{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text);margin-top:4px;font-weight:600}.ad-cta-link{font-size:var(--text-xs);color:var(--primary);cursor:pointer;font-weight:700;text-decoration:none;transition:color .2s,-webkit-text-decoration .2s,text-decoration .2s}.ad-cta-link:hover{color:var(--primary-hover);text-decoration:underline}.blog-modal-card{background-color:var(--bg-card);flex-direction:column;display:flex;max-width:900px!important;height:85vh!important}.blog-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=768px){.blog-grid{grid-template-columns:1fr}}.blog-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:10px;padding:16px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.blog-card:hover{border-color:var(--primary);box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.blog-card-header{justify-content:space-between;align-items:center;display:flex}.blog-badge-tag{background-color:var(--accent-light);color:var(--primary);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.5px;border-radius:3px;align-self:flex-start;padding:3px 8px;font-weight:700}.blog-card-time{font-size:var(--text-xs);color:var(--text-subtle)}.blog-card-title{font-family:var(--font-heading);font-size:var(--text-md);color:var(--text);margin:0;font-weight:700;line-height:1.3}.blog-card-excerpt{font-size:var(--text-sm);color:var(--text-muted);flex:1;margin:0;line-height:1.4}.blog-card-footer{border-top:1px dashed var(--border);font-size:var(--text-xs);justify-content:space-between;align-items:center;margin-top:8px;padding-top:10px;display:flex}.blog-card-author{color:var(--text-muted)}.blog-card-read-more{color:var(--primary);text-transform:uppercase;letter-spacing:.3px;font-weight:700}.blog-article-view .lead-text{color:var(--text);font-size:1.1rem;font-weight:500;line-height:1.6}.blog-p{font-size:var(--text-base);color:var(--text-muted);margin-bottom:16px;line-height:1.6}.blog-h3{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--primary);margin-top:24px;margin-bottom:12px;font-weight:700}.blog-quote{border-left:3px solid var(--primary);font-family:var(--font-heading);color:var(--text);margin:20px 0;padding-left:16px;font-size:1.15rem;font-style:italic}.blog-list{color:var(--text-muted);flex-direction:column;gap:8px;margin-bottom:20px;margin-left:20px;display:flex}.blog-list li{line-height:1.5}.blog-list.ordered{margin-left:20px;list-style-type:decimal}.blog-recipe-card{background-color:var(--accent-light);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-md);margin:24px 0;padding:16px}.recipe-card-title{font-family:var(--font-heading);font-size:var(--text-base);color:var(--primary);margin:0 0 6px;font-weight:700}.recipe-card-body{font-size:var(--text-sm);color:var(--text-muted);margin:0;line-height:1.5}
