.coffee-skip{z-index:100;color:var(--navy);background:#fff;padding:1rem;position:fixed;top:-100px;left:1rem}.coffee-skip:focus{top:1rem}.coffee-page [hidden]{display:none!important}.coffee-page :is(section[id],article[id]){scroll-margin-top:7rem}.coffee-page p{line-height:1.7}.coffee-page h1,.coffee-page h2,.coffee-page h3{text-wrap:balance}.coffee-hero{grid-template-columns:1.08fr 1fr;align-items:center;gap:clamp(2rem,4vw,4rem);padding-block:clamp(2.5rem,5vw,5rem);display:grid}.coffee-hero h1{font:600 clamp(2.65rem, 4.1vw, 4.5rem)/1.04 var(--serif);letter-spacing:-.045em;margin:1.1rem 0 1.4rem}.coffee-hero h1 em{color:#795b30;font-weight:400}.coffee-deck{font:400 1.25rem/1.5 var(--serif);max-width:38ch}.coffee-hero-copy>p:not(.eyebrow){max-width:52ch}.coffee-byline{margin-block:1.4rem;font-size:.85rem}.coffee-byline a{text-underline-offset:.2em;font-weight:700}.coffee-byline span{color:var(--muted)}.coffee-hero .button-row{align-items:center;gap:1.3rem}.coffee-text-link{text-underline-offset:.25em;align-items:center;min-height:44px;font-size:.85rem;font-weight:700;display:inline-flex}.coffee-hero-image{background:var(--navy);align-self:stretch;min-height:480px;margin:0;position:relative}.coffee-hero-image picture{height:100%;display:block}.coffee-hero-image img{object-fit:cover;width:100%;height:100%;position:absolute}.coffee-hero-image figcaption{color:#fff;background:linear-gradient(#0000,#0c1920f0);padding:4rem 1.5rem 1.3rem;font-size:.75rem;line-height:1.6;position:absolute;bottom:0;left:0;right:0}.coffee-section-heading{max-width:760px;margin-bottom:2rem}.coffee-section-heading h2,.coffee-method h2{font:600 clamp(2rem, 3.4vw, 3rem)/1.12 var(--serif);letter-spacing:-.025em;margin:.6rem 0 1rem}.coffee-section-heading>p:last-child{color:var(--muted)}.coffee-featured{background:var(--navy);color:var(--cream);padding-block:3.7rem}.coffee-featured .eyebrow{color:#d8b772}.coffee-featured .coffee-section-heading>p:last-child{color:#c2cbd9}.coffee-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;display:grid}.coffee-featured-grid article{border-top:1px solid #5b6475;flex-direction:column;padding-top:1.2rem;display:flex}.coffee-featured-label{text-transform:uppercase;letter-spacing:.13em;color:#d8b772;font-size:.66rem;font-weight:700}.coffee-featured h3{font:600 1.8rem/1.2 var(--serif);margin:.35rem 0}.coffee-featured h3 a{text-decoration:none}.coffee-featured h3 a:hover{text-underline-offset:.2em;text-decoration:underline}.coffee-featured-area{color:#c2cbd9;margin:.5rem 0;font-size:.8rem}.coffee-featured blockquote{font:italic 400 1.15rem/1.65 var(--serif);margin:1rem 0 1.4rem}.coffee-featured .coffee-text-link{color:#e1c88f;margin-top:auto}.coffee-directory{padding-block:4.5rem}.coffee-controls{justify-content:space-between;align-items:end;gap:1rem;margin-block:2rem 1rem;display:flex}.coffee-controls .filter-row{margin:0}.coffee-type-filter{gap:.5rem;font-size:.8rem;font-weight:700;display:grid}.coffee-type-filter select{min-height:44px;color:var(--navy);font:inherit;background:#fff;border:1px solid #8f98a8;border-radius:0;padding:.65rem}.coffee-result-count{color:var(--muted);margin-bottom:1.5rem;font-size:.8rem}.coffee-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.coffee-card{background:var(--paper);border:1px solid var(--line);flex-direction:column;padding:1.6rem;display:flex}.coffee-card-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:0 0 .8rem;font-size:.65rem;font-weight:700}.coffee-card h3{font:600 1.65rem/1.18 var(--serif);margin:0 0 .8rem}.coffee-kind{background:var(--cream);border:1px solid var(--line);align-self:start;padding:.35rem .55rem;font-size:.68rem}.coffee-card>p:not(.coffee-card-meta){font-size:.88rem}.coffee-address{border-top:1px solid var(--line);padding-top:.8rem;font-weight:700}.coffee-personal-note{border-left:2px solid var(--gold);font-family:var(--serif);padding-left:.85rem}.coffee-visit-note{color:#5d5140;background:#f7f4ec;margin-bottom:1.5rem;padding:.8rem}.coffee-card-links{margin-top:auto;padding-top:.5rem;display:grid}.coffee-card-links a{text-underline-offset:.2em;align-items:center;min-height:44px;font-size:.78rem;font-weight:600;display:flex}.coffee-empty{border:1px solid var(--line);background:#fff;padding:2rem}.coffee-neighborhoods{background:#eeeae0;padding-block:4rem}.coffee-neighborhood-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;display:grid}.coffee-neighborhood-grid article{border-top:2px solid #9c7a40;padding-top:1.2rem}.coffee-neighborhood-grid span{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}.coffee-neighborhood-grid h3{font:600 1.6rem/1.2 var(--serif)}.coffee-neighborhood-grid p{font-size:.9rem}.coffee-neighborhood-grid a{text-underline-offset:.2em;align-items:center;min-height:44px;font-size:.82rem;font-weight:700;display:inline-flex}.coffee-method{grid-template-columns:1fr 1fr;gap:4rem;padding-block:4.5rem;display:grid}.coffee-method p{font-size:.9rem}.coffee-questions{padding-top:1rem}.coffee-questions>h3{font:600 1.5rem var(--serif)}.coffee-questions details{border-bottom:1px solid var(--line);padding-block:1.1rem}.coffee-questions summary{cursor:pointer;font-size:.92rem;font-weight:600;line-height:1.6}.coffee-questions details p{padding-left:1rem}@media (width<=1000px){.coffee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coffee-featured-grid{gap:1.5rem}}@media (width<=900px){.coffee-hero{grid-template-columns:1fr}.coffee-hero-image{min-height:340px}.coffee-hero h1{font-size:clamp(2.7rem,7vw,4rem)}.coffee-method{gap:2rem}}@media (width<=640px){.coffee-featured-grid,.coffee-grid,.coffee-neighborhood-grid,.coffee-method{grid-template-columns:1fr}.coffee-controls{flex-direction:column;align-items:stretch;gap:1.3rem}.coffee-hero-image{min-height:300px}.coffee-featured,.coffee-directory,.coffee-neighborhoods,.coffee-method{padding-block:2.8rem}.coffee-card{padding:1.4rem}}@media (prefers-reduced-motion:reduce){html:has(.coffee-page){scroll-behavior:auto}}@media print{.coffee-controls,.coffee-result-count,.coffee-empty,.coffee-skip,.coffee-page .lead-section{display:none!important}.coffee-card{break-inside:avoid}.coffee-page [data-coffee-card][hidden]{display:flex!important}}
