.fc-area-map-legend__sample{display:inline-block;flex-shrink:0;border-radius:9999px;border:1.5px solid var(--ink);background:var(--paper);position:relative}.fc-area-map-legend__sample:after{content:"";position:absolute;left:50%;top:50%;border-radius:9999px;background:var(--ink);transform:translate(-50%,-50%)}.fc-area-map-legend__sample--primary{width:14px;height:14px}.fc-area-map-legend__sample--primary:after{width:4px;height:4px}.fc-area-map-legend__sample--fringe{width:12px;height:12px;border-color:color-mix(in srgb,var(--ink) 50%,transparent);opacity:.85}.fc-area-map-legend__sample--fringe:after{width:3px;height:3px;background:color-mix(in srgb,var(--ink) 50%,transparent)}@media (max-width:1023px){.fc-area-map-legend{bottom:calc(var(--floating-safe-bottom, 1rem) + 3.75rem)}}.map-pin{display:flex;flex-direction:column;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;transform:translate(-50%,-100%);transition:opacity var(--motion-fast) var(--ease-std),transform var(--motion-fast) var(--ease-std)}.map-pin--hidden{opacity:0;pointer-events:none}.map-pin__body{display:block;width:22px;height:22px;border-radius:9999px;background:var(--paper);border:1.5px solid var(--ink);box-shadow:var(--elevation-0);position:relative;transition:width var(--motion-fast) var(--ease-std),height var(--motion-fast) var(--ease-std),border-width var(--motion-fast) var(--ease-std),box-shadow var(--motion-fast) var(--ease-std)}.map-pin__body:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:9999px;background:var(--ink)}.map-pin__tail{display:block;width:0;height:0;margin-top:-1px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid var(--ink)}.map-pin--active{z-index:2}.map-pin--active .map-pin__body{width:28px;height:28px;border-width:2px;box-shadow:var(--elevation-1)}.map-pin--active .map-pin__body:after{width:7px;height:7px;margin:-3.5px 0 0 -3.5px}.map-pin--active .map-pin__tail{border-left-width:6px;border-right-width:6px;border-top-width:9px}.map-pin--fringe .map-pin__body{width:18px;height:18px;border-color:color-mix(in srgb,var(--ink) 50%,transparent)}.map-pin--fringe .map-pin__body:after{width:5px;height:5px;margin:-2.5px 0 0 -2.5px;background:color-mix(in srgb,var(--ink) 50%,transparent)}.map-pin--fringe .map-pin__tail{border-left-width:4px;border-right-width:4px;border-top-width:6px;border-top-color:color-mix(in srgb,var(--ink) 50%,transparent)}.map-pin--fringe.map-pin--active .map-pin__body{width:22px;height:22px}.map-pin-fringe-tooltip{position:absolute;z-index:25;max-width:11rem;padding:.375rem .5rem;border-radius:.375rem;border:1px solid var(--color-divider);background:var(--color-surface);box-shadow:var(--elevation-1);pointer-events:none;transform:translate(-50%,calc(-100% - .75rem));white-space:nowrap}.map-pin-fringe-tooltip__name{display:block;font-size:.75rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis}.map-pin-fringe-tooltip__meta{display:block;margin-top:.125rem;font-family:var(--font-mono,ui-monospace,monospace);font-size:var(--text-mono-xs);color:var(--color-text-muted)}.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{display:none}.guide-article-map-canvas .maplibregl-ctrl-top-right,.guide-map-modal .maplibregl-ctrl-top-right{display:flex}.guide-map-popup__photo{aspect-ratio:16/9;min-height:7.3125rem}.guide-article-map-inline .guide-article-map-canvas .maplibregl-canvas-container{border-radius:.5rem;overflow:hidden}.guide-map-popup__close{box-shadow:var(--elevation-2),0 0 0 2px var(--paper)}.guide-area-map-filters [data-category-filter-bar]{border-bottom-width:0}.guide-area-map-card-overlay{box-shadow:var(--elevation-2)}.summer-calendar{margin-top:2.5rem;margin-bottom:2.5rem}.summer-calendar-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px}.summer-calendar-kicker{margin:0;font-family:var(--font-mono,ui-monospace,monospace);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}.summer-calendar-hint{margin:0;font-size:13px;color:var(--color-text-muted)}.summer-calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding:0;list-style:none}.summer-calendar-legend li{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}.summer-calendar-dot{width:9px;height:9px;border-radius:var(--radius-full);flex:none}.summer-calendar-dot[data-category=Tradition]{background:var(--clay)}.summer-calendar-dot[data-category=Music]{background:var(--sage-2)}.summer-calendar-dot[data-category=Art]{background:var(--saffron)}.summer-calendar-dot[data-category=Cinema]{background:var(--ink-2)}.summer-calendar-dot[data-category="Food & wine"]{background:var(--plum)}.summer-calendar-month{margin-top:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);overflow:hidden}.summer-calendar-month-summary{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;list-style:none;font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--ink)}.summer-calendar-month-summary::-webkit-details-marker{display:none}.summer-calendar-month-summary:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.summer-calendar-chevron{flex:none;transition:transform .18s ease;color:var(--color-text-muted)}.summer-calendar-month[open] .summer-calendar-chevron{transform:rotate(180deg)}.summer-calendar-month-count{margin-left:auto;font-family:var(--font-mono,ui-monospace,monospace);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.summer-calendar-rows{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.summer-calendar-row{display:grid;grid-template-columns:7.5rem 1fr auto;align-items:start;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line)}.summer-calendar-row:last-child{border-bottom:none}.summer-calendar-date{font-family:var(--font-mono,ui-monospace,monospace);font-size:13px;font-weight:600;color:var(--clay-2);padding-top:2px}.summer-calendar-title-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.summer-calendar-title{font-size:15px;font-weight:500;color:var(--ink)}.summer-calendar-venue{margin-top:2px;font-size:13px;color:var(--color-text-muted)}.summer-calendar-free{display:inline-flex;align-items:center;padding:1px 8px;border-radius:var(--radius-full);background:var(--sage-pale);color:#265c33;font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.summer-calendar-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.summer-calendar-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);white-space:nowrap}.summer-calendar-add{position:relative}.summer-calendar-add-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--line-2);border-radius:var(--radius-full);background:var(--paper);font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);cursor:pointer;transition:border-color .15s ease,color .15s ease}.summer-calendar-add-btn:hover{border-color:var(--clay);color:var(--clay-2)}.summer-calendar-add-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.summer-calendar-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:flex;flex-direction:column;min-width:11rem;padding:6px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-pop)}.summer-calendar-menu-item{display:block;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:none;text-align:left;font-size:13px;color:var(--ink);text-decoration:none;cursor:pointer}.summer-calendar-menu-item:hover{background:var(--paper-2)}.summer-calendar-menu-item:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}@media (max-width:640px){.summer-calendar-row{grid-template-columns:1fr;gap:6px}.summer-calendar-meta{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.summer-calendar-menu{right:auto;left:0}}