[hidden]{display:none!important}.catalog-intro{font-size:16px;line-height:1.7;max-width:720px;margin-bottom:26px}.catalog-controls{display:grid;grid-template-columns:1.6fr 1fr 1.2fr;gap:18px}.catalog-controls label,.activity-controls label{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:700;letter-spacing:.6px}.catalog-controls input,.catalog-controls select,.activity-controls select{min-width:0;min-height:46px;width:100%;border:1px solid var(--line);border-radius:3px;padding:12px;background:var(--paper);font:inherit;font-size:13px;font-weight:400;color:var(--ink)}input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.activity-controls{margin-top:18px;max-width:340px}.catalog-summary{display:flex;align-items:center;justify-content:space-between;margin:15px 0 20px;gap:16px}.catalog-summary .status{margin:0}.text-button{border:0;border-bottom:1px solid var(--ink);background:none;padding:4px 0;font-size:12px}.places-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.place-card{border:1px solid var(--line);display:flex;flex-direction:column;background:#faf7ef;min-width:0}.place-top{height:65px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.place-top span{font-size:12px;font-weight:600}.place-top b{font-size:28px;font-weight:500;line-height:1}.place-body{padding:22px;display:flex;flex-direction:column;flex:1}.place-body>.eyebrow{margin:0 0 8px;color:#5d6b60}.place-body h3{font-size:25px;margin:0 0 8px;line-height:1.15}.address{font-size:12px;color:#68776c;margin:0 0 16px}.description{font-size:14px;line-height:1.7;margin:0 0 16px}.visit-tip{font-size:12px;line-height:1.6;padding:12px 0 0;border-top:1px solid var(--line);color:#526253;margin:0 0 22px}.place-links{display:flex;gap:20px;margin-top:auto;font-size:12px;font-weight:700}.place-links a:hover,.source-links a:hover,.sources a:hover{text-decoration:underline}.source-links{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);margin-top:20px;padding-top:14px;font-size:10px;line-height:1.6}.source-links>span{color:#647266;letter-spacing:1px;font-size:9px;text-transform:uppercase}.source-links a{overflow-wrap:anywhere}.catalog-note{font-size:12px;line-height:1.8;color:#68766b;margin:30px 0 0;max-width:970px}.empty-state{text-align:center;border:1px dashed var(--line);padding:40px}.empty-state button{background:var(--ink);color:var(--paper);border:0;padding:12px 18px}.happening,.sources{padding:55px 5% 60px;max-width:1440px;margin:auto;border-top:1px solid var(--line)}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:28px}.source-grid>div,.source-grid>a{padding:25px;border:1px solid var(--line)}.source-grid h3{font-size:22px;line-height:1.25;margin-top:12px}.source-grid p{font-size:13px;line-height:1.75}.source-grid>a:hover{background:#eee9d9}.sources a{font-size:13px;text-decoration:underline;text-underline-offset:3px}.sources h2{margin-bottom:25px}.sources .source-grid{margin-top:0}@media(max-width:1000px){.places-grid{grid-template-columns:repeat(2,1fr)}.source-grid{gap:16px}.source-grid>div,.source-grid>a{padding:20px}.catalog-controls{grid-template-columns:1.4fr 1fr}.catalog-controls label:last-child{grid-column:1/-1}}@media(max-width:620px){.places-grid,.source-grid{grid-template-columns:1fr}.catalog-controls{grid-template-columns:1fr}.catalog-controls label:last-child{grid-column:auto}.place-body{padding:22px}.place-body h3{font-size:26px}.filters{gap:8px}.filters button{padding:9px 13px}.catalog-summary{align-items:start}.catalog-summary .status{max-width:230px}.happening,.sources{padding-top:42px}.activity-controls{max-width:none}.place-top{height:58px}}
@media(max-width:620px){.hero-art{transform:none}}

.area-finder{background:#e9eee5;padding:30px;border:1px solid var(--line);margin:26px 0 30px;scroll-margin-top:24px}.area-finder h3,.stay-intro h3{font-family:'Playfair Display',serif;font-size:32px;margin:9px 0 12px}.area-finder>p:not(.eyebrow),.stay-intro p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:760px}.area-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0 16px}.area-controls label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}.area-controls select{width:100%;min-width:0;border:1px solid #acb8a8;background:#fffdf7;border-radius:0;padding:14px;font:inherit;color:var(--ink)}.area-note{font-weight:600}.area-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.area-shortcuts button{border:1px solid #8c9b88;background:transparent;padding:9px 12px;font:inherit;font-size:12px;cursor:pointer;color:var(--ink)}.area-shortcuts button:hover,.area-shortcuts button[aria-pressed=true]{background:#174c45;color:#fff}.stay-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin-top:30px;scroll-margin-top:24px}.stay-intro button,.stay-near{background:#174c45;color:#fffdf7;border:0;padding:14px 18px;font:inherit;font-size:13px;cursor:pointer}.stay-intro button{flex-shrink:0}.stay-near{width:100%;margin:12px 0 4px}.place-top.drinks{background:#dec7b8}.place-top.stays{background:#d1d8c5}.activity-controls p,.activity-controls a{font-size:13px;line-height:1.7}.activity-controls{max-width:760px}#results{scroll-margin-top:20px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #d95535;outline-offset:3px}@media(max-width:620px){.area-finder{padding:22px 18px}.area-controls{grid-template-columns:1fr}.stay-intro{align-items:flex-start;flex-direction:column;gap:14px}.area-finder h3,.stay-intro h3{font-size:28px}.area-shortcuts{gap:6px}.area-controls select{font-size:16px}header nav{gap:12px}}

.catalog-controls{grid-template-columns:1.5fr 1fr}.stpete-feature{padding:28px 0 10px;border-top:1px solid var(--line);margin-top:28px;scroll-margin-top:24px}.stpete-feature h3{font-family:"Playfair Display",serif;font-size:32px;margin:8px 0 12px}.stpete-feature p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:720px}@media(max-width:1000px){.catalog-controls label:last-child{grid-column:auto}}@media(max-width:620px){.catalog-controls{grid-template-columns:1fr}.stpete-feature h3{font-size:28px}}
.openings-feature{padding:30px 0 34px;border-bottom:1px solid var(--line);margin-top:28px;scroll-margin-top:25px}.openings-feature h3{font-family:'Playfair Display',serif;font-size:34px;margin:8px 0 12px}.opening-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.opening-card{background:#ede5d7;padding:23px;display:flex;flex-direction:column;border-top:3px solid #d95535}.opening-card h4,.radar-card h4{font-family:'Playfair Display',serif;font-size:26px;line-height:1.2;margin:12px 0}.opening-card>p:not(.eyebrow):not(.opening-label),.radar-card>p:not(.eyebrow):not(.opening-label){font-size:13px;line-height:1.75}.opening-label{font-size:10px;font-weight:700;letter-spacing:.4px;color:#93432e;margin:0 0 18px}.opening-card>.eyebrow,.radar-card>.eyebrow{font-size:9px;line-height:1.7}.opening-card button{background:none;border:0;border-top:1px solid #bbbdac;text-align:left;font:inherit;font-size:12px;font-weight:700;color:var(--ink);padding:15px 0 0;margin-top:auto;cursor:pointer}.radar-heading{margin:30px 0 18px}.radar-heading h4{font-family:'Playfair Display',serif;font-size:28px;margin:8px 0}.radar-heading>p:last-child{font-size:13px;line-height:1.7;color:#637166}.radar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.radar-card{border:1px solid var(--line);padding:22px}.radar-card a{font-size:11px;font-weight:700}.radar-card .opening-label{color:#456b5e}.map-planner{margin-top:26px;border-top:1px solid #adbeab;padding-top:26px;scroll-margin-top:20px}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.map-heading .text-button{font-size:12px;white-space:nowrap}.map-planner>p{font-size:14px;line-height:1.7}.map-scenes{margin:20px 0!important}.map-scroll{width:100%;overflow-x:auto;border:1px solid #a7bcb1;border-radius:8px;scrollbar-color:#56796f #d8e7e3}.bay-map{display:block;width:100%;min-width:650px;height:auto}.map-land{fill:#f1efdf;stroke:#95b7a6;stroke-width:2}.map-islands{fill:none;stroke:#f1efdf;stroke-width:12;stroke-linecap:round}.map-bridges{stroke:#adc1b8;stroke-width:2;stroke-dasharray:7 6;fill:none}.water-label{font-size:16px;fill:#648b82;letter-spacing:3px}.land-label{font-size:12px;fill:#acb5a1;letter-spacing:5px}.map-compass{fill:#52766a;stroke:#52766a;stroke-width:2;font-size:13px}.map-compass text{stroke:none}.map-caption{fill:#69877c;font-size:10px;letter-spacing:2px}.map-point{cursor:pointer;outline:none}.map-point rect{fill:#fffdf5;stroke:#8aa798;stroke-width:1}.map-point text{fill:#174c45;font:600 13px 'DM Sans',sans-serif;pointer-events:none}.map-dot{fill:#174c45;stroke:#fffdf5;stroke-width:2}.map-halo{fill:#174c45;opacity:.07}.map-leader{stroke:#6d8d7f;stroke-width:1.5;fill:none}.map-point:hover rect,.map-point[aria-pressed=true] rect{fill:#174c45;stroke:#174c45}.map-point:hover text,.map-point[aria-pressed=true] text{fill:white}.map-point[aria-pressed=true] .map-halo{fill:#d95535;opacity:.24}.map-point[aria-pressed=true] .map-dot{fill:#d95535}.map-point:focus-visible rect{stroke:#d95535;stroke-width:4}.map-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:17px 0 4px}.map-feedback p{font-size:14px;font-weight:700;margin:0;flex:1;min-width:200px}.map-feedback a,.map-feedback button{font:600 12px 'DM Sans',sans-serif;color:var(--ink);border:0;background:none;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.map-planner .map-footnote{font-size:11px;line-height:1.7;color:#587060}.map-scenes button{background:#fffdf5}.map-scenes button.active{background:#174c45;color:#fff}.map-scenes button{cursor:pointer}.opening-card button:hover,.radar-card a:hover{text-decoration:underline}
@media(max-width:1000px){.opening-grid{grid-template-columns:repeat(2,1fr)}header{flex-wrap:wrap;gap:15px}header nav{flex-wrap:wrap;justify-content:center}}
@media(max-width:620px){.opening-grid,.radar-grid{grid-template-columns:1fr}.openings-feature h3{font-size:28px}.openings-feature .section-title{align-items:flex-start;gap:14px}.map-heading{align-items:flex-start;flex-direction:column;gap:5px}.map-feedback{gap:15px}.map-feedback p{flex-basis:100%}.map-scenes button{padding:10px 12px}.opening-card{padding:22px}header nav{row-gap:12px}.map-scroll:focus-visible{outline:3px solid #d95535;outline-offset:3px}}
