:root{--ink:#243133;--slate:#637071;--cream:#f5f1e9;--rust:#973b31;--line:#c5cac6;--directory-photo-size:min(272px,calc(100vw - 48px))}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.6}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:4px}img{display:block;max-width:100%}figure{margin:0}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{font-weight:400}h1,h2{letter-spacing:.01em;line-height:1.18}strong{font-weight:600}
.skip-link{position:absolute;left:16px;top:-100px;z-index:100;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:8px}
.site-header{padding:20px clamp(22px,4vw,70px);display:flex;align-items:center;justify-content:space-between;background:#e9ddc9;gap:28px}.brand{flex-shrink:0;font-size:1.2rem;letter-spacing:.09em;white-space:nowrap;line-height:1.4}.brand span{display:block;font:italic .9rem Georgia;letter-spacing:0;color:#5e625c}.site-header nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:stretch;font: .875rem/1.3 Arial,sans-serif}.site-header nav a{padding:11px 12px;min-height:44px;border:1px solid #24313326;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:2px}.site-header nav a:hover{background:#24313310}.site-header nav a[aria-current=page]{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.hero{min-height:min(770px,calc(100svh - 105px));position:relative;color:white;background:#344247;overflow:hidden}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111c1f33,#101a1e1f 43%,#0c171e61),url('/assets/pears-mill.jpg') center/cover;transform:scale(1.07);pointer-events:none}.hero-content{position:relative;min-height:inherit;max-width:1600px;margin:auto;padding:clamp(38px,5vw,86px) clamp(24px,5vw,86px);display:flex;flex-direction:column;justify-content:space-between;gap:40px}.hero h1{align-self:flex-end;margin:0;max-width:100%;text-align:right;white-space:nowrap;font-size:clamp(3rem,6.8vw,8rem);line-height:1.16;letter-spacing:.04em;text-shadow:0 1px 3px #17222788}.hero h1 span{display:block;margin:0 0 .13em;font-size:.52em;font-style:italic;letter-spacing:.015em}.hero-aside{align-self:flex-end;display:flex;flex-direction:column;text-align:right;gap:clamp(32px,7vh,105px);text-shadow:0 2px 14px #18252b99}.hero-aside p{font-size:clamp(1.3rem,2.5vw,2.65rem);line-height:1.4;margin:0}.hero-aside h2{font-size:clamp(1.35rem,2.35vw,2.5rem);font-style:italic;line-height:1.3;margin:0}
.home-intro{padding:clamp(56px,8vw,120px) 8vw;max-width:1450px;margin:auto}.eyebrow{font:.875rem/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:var(--rust)}.home-intro h2,.section-top h2,.closing-band h2{font-size:clamp(2.1rem,4.8vw,5rem);margin:.35em 0;line-height:1.2}.home-intro p{font-size:1.25rem;line-height:1.6;max-width:620px}.text-link{display:inline-flex;align-items:center;margin-top:24px;border-bottom:1px solid currentColor;min-height:44px;padding:8px 0;font:.9rem Arial,sans-serif}.directory{background:#dce1dd;padding:clamp(45px,7vw,90px) 8vw}.section-top{max-width:1200px;margin:0 auto 36px}.section-top h2{font-size:clamp(2rem,4vw,3.8rem)}.card-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;border-top:1px solid #aeb9b3}.directory-card{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:28px 12px 28px 0;border-bottom:1px solid #aeb9b3}.directory-card:hover{color:var(--rust)}.directory-card strong{display:block;font-size:clamp(1.45rem,2vw,2rem);font-weight:400;line-height:1.3}.directory-card em{display:block;margin-top:10px;font:.95rem/1.5 Arial,sans-serif;font-style:normal;color:#4c5957}.card-index{font:.875rem Arial,sans-serif;color:var(--rust);padding-top:8px}.closing-band{background:#343f40;color:var(--cream);padding:60px 8vw}.closing-band .eyebrow{color:#e4bcb0}.closing-band div{display:flex;gap:20px 40px;flex-wrap:wrap}.closing-band a{border-bottom:1px solid #c29e93;padding:10px 0;min-height:44px;font:.95rem/1.5 Arial,sans-serif}
.page-heading{background:var(--slate);color:white;padding:clamp(48px,7vw,100px) 8vw}.page-heading .eyebrow{color:#f5dfd2}.page-heading h1{font-size:clamp(2.65rem,6.4vw,6.5rem);line-height:1.2;letter-spacing:.015em;margin:.22em 0 .4em}.page-heading p{max-width:840px;font-size:clamp(1.125rem,1.7vw,1.65rem);line-height:1.6;margin:0}.page-image{margin:0;background:#465355;padding:32px 8vw}.page-image img{width:100%;height:auto}.page-image figcaption,.page-photo-pair figcaption,.drink-photo-pair figcaption{margin-top:10px;text-align:left;font:1rem/1.5 Georgia,serif}.page-photo-pair{display:flex;flex-wrap:wrap;justify-content:space-evenly;gap:32px;padding:clamp(28px,4vw,60px) 24px}.page-photo-pair figure{width:var(--directory-photo-size);flex:0 0 var(--directory-photo-size)}.page-photo-pair img{width:100%;height:var(--directory-photo-size);aspect-ratio:1;object-fit:cover}.food-page .page-photo-pair figure:nth-child(2) img{clip-path:inset(0 .8% 0 0)}
.listings{padding:clamp(44px,6vw,90px) 8vw;background:var(--cream)}.browse-note{font:1rem/1.6 Arial,sans-serif;max-width:700px;margin:20px 0 0}.group-links{display:flex;flex-wrap:wrap;gap:8px 20px;max-width:1200px;margin:0 auto 30px;font:1rem/1.4 Arial,sans-serif}.group-links a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid currentColor;padding:8px 0}.listing-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.listing{background:transparent;min-width:0;border-top:1px solid currentColor}.listing>div{min-width:0;padding:24px}.listing h3{font-size:1.55rem;line-height:1.3;margin:0 0 12px}.listing p{font:1rem/1.5 Arial,sans-serif;margin:16px 0}.listing .listing-meta{margin:16px 0}.listing-meta a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:8px 0;border-bottom:1px solid currentColor;font:inherit;overflow-wrap:anywhere}.listing-meta a:hover{text-decoration:underline}.listing h3 a{font:inherit;border:0}.listing img{width:var(--directory-photo-size);height:var(--directory-photo-size);aspect-ratio:1;object-fit:cover}.listing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:14px}.listing-actions a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;border-bottom:1px solid currentColor;font:.95rem/1.4 Arial,sans-serif;max-width:100%;overflow-wrap:anywhere}.listing-actions a:hover{text-decoration:underline}.business-description{font:1rem/1.65 Arial,sans-serif}.business-description summary{cursor:pointer;min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.business-description[open] summary{margin-bottom:8px}.listing-group{grid-column:1/-1;margin:22px 0 0;padding-top:26px;border-top:1px solid currentColor;font-size:2.1rem;line-height:1.3}.listing-group:not(:first-child){margin-top:36px}.social-district{max-width:1200px;margin:64px auto 0;padding-top:30px;border-top:1px solid currentColor}.social-district h2{font-size:clamp(1.5rem,3vw,2.65rem);margin:0 0 18px}.social-district p{max-width:770px;font-size:1.25rem;line-height:1.6;margin:0}.next-page{padding:30px 8vw;background:#e4e8e3;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.next-page a{display:inline-flex;align-items:center;min-height:44px;font-size:1.25rem}.next-page .back-top{font:1rem/1.5 Arial,sans-serif}
footer{background:#293638;color:var(--cream);padding:50px 8vw;display:grid;grid-template-columns:2fr 1fr;gap:30px}footer strong{font-weight:400;letter-spacing:.08em;font-size:1.3rem}footer p{font-style:italic}.footer-links{display:grid;gap:4px;font:1rem/1.5 Arial,sans-serif}.footer-links a{display:flex;align-items:center;min-height:44px}footer small{grid-column:1/-1;color:#c9d2ce;font:.875rem/1.5 Arial,sans-serif}
/* Preserve each category's established color. */
.food-page .page-heading,.food-page .page-photo-pair,.food-page .listings,.food-page .next-page{background:#6f7b7b;color:white}.food-page .eyebrow{color:#fff0e7}
.art-page .page-heading,.art-page .page-photo-pair,.art-page .listings,.art-page .next-page{background:#d6b690;color:var(--ink)}.art-page .eyebrow{color:#593f36}
.drinks-page .page-heading,.drinks-page .page-image,.drinks-page .listings,.drinks-page .next-page{background:#683840;color:#f7f1e9}.drinks-page .eyebrow{color:#f1cbb9}
.shopping-page .page-heading,.shopping-page .listings,.shopping-page .next-page{background:#527c70;color:white}.shopping-page .eyebrow{color:#fff0d9}
.cannabis-page .page-heading,.cannabis-page .page-photo-pair,.cannabis-page .page-image,.cannabis-page .listings,.cannabis-page .next-page{background:#ff914d;color:var(--ink)}.cannabis-page .eyebrow{color:var(--ink)}.cannabis-page .page-image figure{width:var(--directory-photo-size);margin:auto}.cannabis-page .page-image img{width:var(--directory-photo-size);height:var(--directory-photo-size);object-fit:contain}
.nearby-page .page-heading,.nearby-page .page-photo-pair,.nearby-page .listings,.nearby-page .next-page,.nearby-page footer{background:#593a2e;color:white}.nearby-page .eyebrow{color:#f4ded2}
.summer-page .listing-grid,.shopping-page .listing-grid{display:flex;flex-direction:column;gap:32px}.summer-page .listing,.shopping-page .listing.has-photo{display:grid;grid-template-columns:var(--directory-photo-size) minmax(0,1fr);align-items:start;gap:clamp(26px,4vw,64px)}.summer-page .listing:first-child{border-top:0;padding-top:0}.summer-page .listing>div,.shopping-page .listing>div{padding:0}.summer-page .listing h3{font-size:clamp(1.7rem,3vw,2.35rem);margin:0}.summer-page .listing p{max-width:790px;font:1.1rem/1.6 Arial,sans-serif;margin:16px 0 18px}
.drink-photo-pair{display:flex;justify-content:space-evenly;gap:30px}.drink-photo-pair figure{width:var(--directory-photo-size);flex:0 0 var(--directory-photo-size)}.drink-crop{position:relative;overflow:hidden}.drink-crop.brewery{aspect-ratio:615/370}.drink-crop.wine{aspect-ratio:445/370}.drink-crop img{position:absolute;top:0;height:auto;max-width:none;margin:0}.drink-crop.brewery img{width:178.8618%;left:-.813%}.drink-crop.wine img{width:247.191%;left:-147.191%}
.explore-page .page-image,.history-page .page-image{max-height:none;background:#e6e3d8;color:var(--ink);padding:0}.explore-page .page-image img,.history-page .page-image img{width:min(100%,1536px);height:auto;margin:auto}.history-map figcaption{padding:16px 8vw 24px;margin:0}.history-map figcaption a{text-decoration:underline;text-underline-offset:4px}.history-story{padding:clamp(40px,6vw,90px) 8vw;max-width:1200px;margin:auto}.walking-stops{max-width:760px;margin:0 auto 60px;padding:24px 0 30px;border-bottom:1px solid var(--line)}.walking-stops h2{font-size:2.25rem;margin:0 0 16px}.walking-stops p{font:1rem/1.65 Arial,sans-serif}.walking-stops>div{display:flex;flex-wrap:wrap;gap:8px 24px}.walking-stops a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--rust);font:1rem/1.5 Arial,sans-serif;padding:8px 0}.history-section{max-width:760px;margin:0 auto 60px}.history-section h2,.history-markers h2{font-size:clamp(1.9rem,3.6vw,3rem);margin:0 0 24px;line-height:1.25}.history-section p{font-size:1.125rem;line-height:1.75;margin:0 0 22px}.history-map-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px}.history-map-links a{font:1rem/1.5 Arial,sans-serif;border-bottom:1px solid var(--rust);padding:10px 0;min-height:44px}.history-video{aspect-ratio:16/9;width:100%;margin:32px 0 12px;background:var(--ink)}.history-video iframe{display:block;width:100%;height:100%;border:0}.history-section .history-video-link{font:1rem/1.5 Arial,sans-serif;margin:0 0 32px}.history-video-link a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--rust)}.history-markers{margin:60px auto;max-width:960px}.history-markers>p{font:1rem/1.6 Arial,sans-serif}.marker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:28px}.marker-grid img{width:100%;height:360px;object-fit:contain;background:transparent}.marker-grid figcaption{font:1rem/1.5 Georgia,serif;margin-top:10px}.history-sources{max-width:760px;margin:40px auto;font:1rem/1.6 Arial,sans-serif}.history-sources summary{padding:10px 0;min-height:44px;cursor:pointer}.history-sources a{text-decoration:underline}.history-sources li{padding:8px 0}.history-acknowledgement{max-width:760px;margin:52px auto 0;padding-top:28px;border-top:1px solid var(--line)}.history-acknowledgement p{font:italic 1.0625rem/1.7 Georgia,serif;margin:0}
@media(max-width:1100px){.site-header{flex-direction:column;align-items:flex-start;gap:14px}.brand span{display:inline;margin-left:10px}.site-header nav{width:100%;justify-content:flex-start}}
@media(max-width:800px){.hero{min-height:600px}.hero h1{font-size:clamp(2.4rem,8.5vw,4.8rem)}.card-grid{grid-template-columns:1fr}.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading h1{font-size:clamp(2.4rem,7.5vw,4.2rem)}.summer-page .listing,.shopping-page .listing.has-photo{grid-template-columns:1fr;gap:22px}}
@media(max-width:650px){.site-header{padding:16px 20px;gap:14px}.site-header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.site-header nav a{padding:8px 5px;font-size:.875rem;line-height:1.35;min-height:44px}.hero::before{background-position:right center}.hero{min-height:560px}.hero-content{padding:32px 24px 45px}.hero h1{font-size:clamp(1.9rem,9.8vw,3.7rem);letter-spacing:.025em}.hero-aside p{font-size:1.45rem}.hero-aside h2{font-size:1.45rem}.page-heading{padding:36px 24px}.page-heading h1{font-size:clamp(2.2rem,8vw,3rem)}.page-heading p{font-size:1.125rem}.page-photo-pair,.drink-photo-pair{flex-direction:column;align-items:center;gap:32px}.page-photo-pair figure,.drink-photo-pair figure{flex-basis:auto}.listings,.directory,.history-story,.home-intro{padding-left:24px;padding-right:24px}.directory-card{grid-template-columns:28px minmax(0,1fr);gap:12px}.directory-card strong{font-size:1.5rem}.listing-group{font-size:1.85rem}.section-top h2{font-size:2.1rem}.history-section{margin-bottom:44px}.history-section p{font-size:1.0625rem}.marker-grid{grid-template-columns:1fr}.marker-grid img{height:auto;max-height:520px}.next-page{padding:24px}.next-page a{font-size:1.125rem}.history-map figcaption{padding-left:24px;padding-right:24px}footer{display:block;padding:40px 24px}.footer-links{margin:24px 0}footer small{display:block}.home-intro h2{font-size:2.2rem}}
@media(max-width:359px){.site-header nav{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:9.6vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:540px){.listing-grid{grid-template-columns:1fr}}

/* Use the same text size for every Google Maps link. */
body a[href^="https://www.google.com/maps/"]{font-size:1rem}

/* Keep the four category photo galleries in three columns on wider screens. */
@media(min-width:651px){
  :is(.food-page,.art-page,.cannabis-page,.nearby-page) .page-photo-pair{display:grid;grid-template-columns:repeat(3,minmax(0,272px));justify-content:space-evenly;gap:32px}
  :is(.food-page,.art-page,.cannabis-page,.nearby-page) .page-photo-pair figure{width:100%;min-width:0}
  :is(.food-page,.art-page,.cannabis-page,.nearby-page) .page-photo-pair img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
}

.history-photo-text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:28px;align-items:start;margin-bottom:22px}
.history-photo-text img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:right center}
.history-photo-text figcaption{font:1rem/1.5 Georgia,serif;margin-top:10px;text-align:left}
.history-photo-text p{margin-bottom:0}
@media(max-width:650px){.history-photo-text{grid-template-columns:1fr;gap:22px}}

.history-photo-text img.history-photo-natural{aspect-ratio:auto}
