*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;color:#222;background:#fff}body{margin:0;background:#fff;font-size:14px}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer}.container{width:min(1080px,calc(100% - 32px));margin:auto}.site-header{border-bottom:1px solid #ddd}.header-inner{height:62px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:24px;font-weight:700;letter-spacing:-.8px}.header-inner nav{font-size:14px}.header-inner nav a{color:#444}.calendar-shell{padding:30px 0 72px}.calendar-heading{margin-bottom:24px}.calendar-heading h1{font-size:28px;line-height:1.2;margin:0 0 6px;font-weight:700}.calendar-heading p{margin:0;color:#666;font-size:14px}.filter-panel{display:grid;grid-template-columns:1.5fr repeat(4,minmax(0,1fr));gap:12px;border-bottom:1px solid #ddd;padding-bottom:19px}.filter-panel label{display:block;color:#555;font-size:12px;margin-bottom:6px}.filter-panel input,.filter-panel select{height:39px;width:100%;min-width:0;border:1px solid #ccc;border-radius:3px;background:#fff;padding:0 10px;color:#222}.search-input svg{display:none}.results-bar{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #ddd;font-size:12px;color:#666}.clear-btn{border:0;background:transparent;text-decoration:underline;color:#444;padding:3px}.event-card{display:grid;grid-template-columns:68px minmax(0,1fr);gap:18px;padding:17px 0;border-bottom:1px solid #e5e5e5}.date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#333}.date-badge span{text-transform:uppercase;font-size:11px}.date-badge strong{font-size:27px;line-height:1.1}.date-badge small{font-size:11px;color:#777}.event-topline{font-size:12px;color:#666;display:flex;gap:7px;flex-wrap:wrap}.event-detail h3{font-size:16px;line-height:1.35;margin:5px 0 6px}.event-detail h3 a span{color:#777;font-size:12px}.event-description{font-size:13px;line-height:1.5;color:#444;margin:0 0 7px}.event-meta{font-size:12px;color:#666;display:flex;flex-wrap:wrap;gap:12px}.event-arrow{display:none}.empty-state{text-align:center;padding:55px 16px}.empty-symbol{display:none}.empty-state h3{font-size:18px}.empty-state p{color:#666}.empty-state button{border:1px solid #aaa;background:#fff;padding:8px 12px}.category-strip,.intro,.editorial,.footer-inner{display:none}[hidden]{display:none!important}@media(max-width:850px){.filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.search-box{grid-column:span 2}}@media(max-width:540px){.header-inner{height:56px}.calendar-shell{padding-top:22px}.event-card{grid-template-columns:47px minmax(0,1fr);gap:12px}.date-badge strong{font-size:23px}.event-meta{gap:7px}}.header-inner nav{display:flex;gap:24px}.header-inner nav a[aria-current=page]{font-weight:700;color:#222}.food-page{padding-top:30px;padding-bottom:80px}.food-page h1{font-size:28px;margin:0 0 7px}.food-intro{color:#555;margin:0 0 35px;font-size:14px}.food-section{margin:0 0 35px}.food-section h2{font-size:18px;margin:0 0 13px;border-bottom:1px solid #ddd;padding-bottom:10px}.food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.food-card{border:1px solid #dedede;padding:17px 19px;min-width:0}.food-card h3{font-size:16px;line-height:1.4;margin:0 0 13px}.food-card h3 a{text-decoration:underline;text-underline-offset:3px}.food-card p{margin:7px 0;font-size:13px;line-height:1.5;color:#444}.food-card strong{color:#222}.food-note{border-top:1px solid #ddd;padding-top:17px;color:#666;font-size:12px;line-height:1.6}@media(max-width:650px){.food-grid{grid-template-columns:1fr}.food-page{padding-top:22px}.food-card{padding:15px}}.market-option{padding:9px 0;border-bottom:1px solid #e5e5e5}.market-option:first-child{padding-top:0}.market-option:last-child{border-bottom:0}.market-option a{font-size:13px}.market-option p{margin:3px 0}.market-options{margin-bottom:10px}.market-calendar{margin:28px 0 32px}.market-calendar h2{font-size:18px;border-bottom:1px solid #ddd;padding-bottom:10px}.market-cal-controls{display:flex;gap:13px;align-items:center;margin:18px 0}.market-cal-controls strong{min-width:150px;text-align:center}.market-cal-controls button{background:#fff;border:1px solid #ccc;border-radius:3px;padding:7px 11px}.market-cal-controls button:disabled{opacity:.35;cursor:default}#market-today{margin-left:auto}.market-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #ddd;border-left:1px solid #ddd}.market-weekday{padding:9px 5px;text-align:center;font-size:11px;color:#555;border-bottom:1px solid #ddd;border-right:1px solid #ddd;background:#fafafa}.market-day{min-height:86px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;padding:7px;overflow-wrap:anywhere}.market-day.blank{background:#fafafa}.day-num{font-size:12px;color:#555}.market-calendar-event{display:block;margin-top:7px;background:#eee;border-left:2px solid #444;padding:5px;font-size:11px;font-weight:600;line-height:1.35}.market-calendar-event small{display:block;font-weight:400;font-size:10px;margin-top:3px}.market-cal-events{padding:13px 0}.market-cal-events p{font-size:13px;color:#666}.market-cal-detail{font-size:12px;padding:7px 0;border-bottom:1px solid #eee;line-height:1.5}.market-cal-detail a{text-decoration:underline}.market-cal-note{font-size:12px;color:#666;line-height:1.5}@media(max-width:650px){.market-day{min-height:55px;padding:3px}.market-calendar-event{font-size:9px;padding:3px;margin-top:3px}.market-calendar-event small{font-size:9px}.market-cal-controls{gap:7px}.market-cal-controls strong{min-width:100px;font-size:12px}.market-cal-controls button{padding:6px;font-size:11px}}.events-calendar-section{margin:0 0 22px}.events-calendar-section h2{font-size:17px;margin:0 0 12px}.events-calendar-section .market-day{min-height:67px}.calendar-date{font-size:12px;border:0;background:transparent;border-radius:3px;padding:3px 6px;text-align:left;color:#222}.calendar-date:disabled{color:#aaa;cursor:default}.calendar-date:not(:disabled){text-decoration:underline}.calendar-date.active{background:#222;color:#fff}.calendar-event-count{display:block;font-size:10px;margin-top:5px;color:#555}.calendar-hint{font-size:12px;color:#666}.directory-page{padding:30px 0 80px}.directory-page>h1{font-size:28px;margin:0 0 6px}.directory-page>p{color:#666;margin:0 0 24px}.directory-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.directory-layout label{font-size:12px;color:#555;display:block;margin-bottom:6px}.directory-layout select{height:38px;border:1px solid #ccc;background:#fff;padding:0 8px;width:100%;margin-bottom:12px}.directory-item{border-bottom:1px solid #ddd;padding:13px 0}.directory-item[hidden]{display:none!important}.directory-item h2{font-size:16px;margin:3px 0 7px}.directory-item p{font-size:13px;margin:6px 0;line-height:1.5}.directory-kind,.directory-address{color:#666}.map-focus{font-size:12px;padding:5px 0;border:0;background:none;text-decoration:underline}.directory-layout aside{position:sticky;top:18px;align-self:start}#directory-map{height:490px;border:1px solid #ddd}.map-status{font-size:12px;color:#666;line-height:1.5}@media(max-width:750px){.directory-layout{grid-template-columns:1fr}.directory-layout aside{position:static;grid-row:1}#directory-map{height:300px}.events-calendar-section .market-day{min-height:54px}}.events-calendar-section .market-day{min-height:105px;padding:5px;overflow-wrap:anywhere}.calendar-event-title{display:block;padding:4px 5px;margin-top:4px;background:#f0f0f0;border-left:2px solid #555;font-size:11px;line-height:1.3;text-decoration:none;color:#222}.calendar-event-title:hover{text-decoration:underline;background:#e7e7e7}.events-calendar-section .calendar-date:disabled{color:#555}@media(max-width:650px){.events-calendar-section .market-day{min-height:70px;padding:3px}.calendar-event-title{font-size:9px;line-height:1.2;padding:3px;margin-top:3px}}.directory-layout input[type=search]{display:block;width:100%;height:38px;border:1px solid #ccc;padding:0 9px;margin:0 0 14px;background:#fff}.directory-layout .directory-item[hidden]{display:none!important}.directory-point{background:transparent;border:0}.directory-point span{display:block;width:14px;height:14px;border:2px solid white;border-radius:50%;background:#222;box-shadow:0 0 0 1px #222}.directory-page .leaflet-container{font-family:Arial,sans-serif}.directory-pagination{display:flex;gap:12px;align-items:center;padding:16px 0}.directory-pagination button{border:1px solid #ccc;background:#fff;padding:7px 12px}.directory-pagination button:disabled{opacity:.35}.directory-count{font-size:12px;color:#555}.flagmade-tiles{filter:saturate(.66) sepia(.13) hue-rotate(36deg)}.directory-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:9px}.directory-links>a{font-size:12px}.directory-links .map-focus{margin:0}.place-detail-links{display:flex;gap:18px;flex-wrap:wrap;margin:24px 0}.place-detail-links a{font-size:14px}.place-about,.place-visit{max-width:660px;margin:26px 0}.place-about h2,.place-visit h2{font-size:17px;margin-bottom:9px}.place-about p,.place-visit p{font-size:15px;line-height:1.65}.place-type{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.05em}.construction-banner{padding:9px 16px;text-align:center;background:#e8ebdf;color:#273629;border-bottom:1px solid #bfc8b2;font-size:12px;line-height:1.45}.construction-banner strong{font-weight:700}.artist-page{padding:30px 0 70px}.artist-page h1{font-size:28px;margin:0 0 8px}.artist-page>p{color:#666;line-height:1.5}.artist-controls{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 12px}.artist-controls label{font-size:12px;color:#555;flex:1;min-width:180px}.artist-controls input,.artist-controls select{display:block;width:100%;height:38px;margin-top:6px;padding:7px 9px;border:1px solid #ccc;background:#fff}.artist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:13px}.artist-card{border:1px solid #ddd;padding:16px;display:flex;flex-direction:column;gap:9px}.artist-card[hidden]{display:none}.artist-card h2{font-size:16px;margin:0}.artist-card p{font-size:13px;line-height:1.5;margin:0}.artist-card .artist-medium{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#666}.artist-card a{font-size:12px;text-decoration:underline;margin-top:auto;padding-top:12px}.artist-thumbnail{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.artist-note{font-size:12px;margin-top:24px}.market-only .market-calendar{margin-top:18px}.market-legend{display:flex;flex-wrap:wrap;gap:11px 24px;margin:20px 0 25px}.market-legend-item{display:flex;align-items:center;gap:8px;font-size:12px}.market-swatch{width:12px;height:12px;border-radius:2px;background:var(--market-color)}.host-community{--market-color:#2d7650;--market-bg:#e1f0e5}.host-mountain{--market-color:#315f97;--market-bg:#e3ebf5}.host-east{--market-color:#a05e25;--market-bg:#f8eadc}.market-only .market-calendar-event,.market-list-button{background:var(--market-bg);border:0;border-left:3px solid var(--market-color);color:#202020;cursor:pointer;text-align:left}.market-only .market-calendar-event{width:100%;border-radius:2px}.market-only .market-calendar-event:hover,.market-list-button:hover{filter:brightness(.96);text-decoration:underline}.market-list-button{padding:9px 12px;font-size:12px;line-height:1.5;width:100%}.market-detail-dialog{border:1px solid #ccc;border-radius:6px;padding:24px;width:min(480px,calc(100% - 32px));box-shadow:0 14px 50px #0003;color:#222}.market-detail-dialog::backdrop{background:#0006}.market-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.market-dialog-head h2{font-size:20px;margin:0 0 10px}#market-dialog-close{border:0;background:transparent;font-size:25px;line-height:1}#market-detail-host{font-size:13px;color:#666}.market-detail-dialog dl{display:grid;grid-template-columns:75px 1fr;gap:9px 15px;font-size:13px;margin:20px 0}.market-detail-dialog dt{font-weight:700}.market-detail-dialog dd{margin:0}.market-detail-dialog>a{text-decoration:underline;font-size:13px}.food-tabs{display:flex;border-bottom:1px solid #ccc;gap:4px;margin:20px 0 25px}.food-tab{border:0;border-bottom:3px solid transparent;padding:11px 18px;background:transparent;color:#555}.food-tab.active{border-color:#2d7650;color:#222;font-weight:700}.food-tab-panel[hidden]{display:none!important}.food-tab-panel h2{font-size:19px}.food-tab-panel .food-card a{text-decoration:underline;font-size:13px}
