/* Shared editorial language, matched to the current coffee guide. */
:root { --cg-paper:#fafaf6; --cg-ink:#192017; --cg-lime:#d6ff3f; --cg-line:#c9cdbf; }

/* Directory and home cards use the same type, edges and accent as the guides. */
.story-card h3,.section-head h2,.reading-row h3,.topic-tile h3,
.collection h1,.info-page h1,.article-heading h1,.article-copy h2,
.neighborhood-directory h2,.no-results h2,.area-row strong {
  font-family:Syne,sans-serif;
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.045em;
}
.collection h1,.info-page h1 { font-size:clamp(46px,5.6vw,82px); overflow-wrap:normal; }
.collection-heading { max-width:1000px; padding-top:8px; padding-bottom:36px; }
.collection-heading>p { max-width:740px; }
.heading-dot { color:var(--cg-ink); }
.collection .result-bar { border-color:var(--cg-ink); }
.story-card .story-image.type-cover { background:var(--cg-ink); color:var(--cg-lime); border-top:5px solid var(--cg-lime); padding:22px; }
.story-card .type-cover .cover-name { font:700 clamp(28px,3vw,44px)/1.02 Syne,sans-serif; letter-spacing:-.05em; }
.story-card .type-cover .micro { color:#f5f7ef; font-size:10px; font-weight:800; }
.story-card .type-cover .micro:last-child { border-color:#5c6656; }
.story-card:nth-child(3n+2) .story-image.type-cover { background:#e9eee1; color:var(--cg-ink); }
.story-card:nth-child(3n+2) .type-cover .micro { color:var(--cg-ink); }
.story-card:nth-child(3n+2) .type-cover .micro:last-child { border-color:#adb8a5; }
.story-card:nth-child(6n+3) .story-image.type-cover { background:var(--cg-lime); color:var(--cg-ink); border-top-color:var(--cg-ink); }
.story-card:nth-child(6n+3) .type-cover .micro { color:var(--cg-ink); }
.story-card:nth-child(6n+3) .type-cover .micro:last-child { border-color:#8aa226; }
.story-card h3 { font-size:clamp(24px,2.2vw,34px); }
.story-card .story-image { aspect-ratio:1.48; }
.story-card a:focus-visible { outline:3px solid var(--cg-ink); outline-offset:4px; }
.story-card a:hover h3 { text-decoration:underline; text-decoration-color:var(--cg-lime); text-decoration-thickness:4px; text-underline-offset:4px; }

/* Blog index: editorial layout with a strong image and compact story grid. */
.blog-page,.fall-blog-page { background:var(--cg-paper); color:var(--cg-ink); }
.blog-index .breadcrumbs { padding-bottom:12px; }
.blog-heading { grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr); gap:18px 44px; padding:18px 0 30px; border-bottom:1px solid var(--cg-ink); }
.blog-heading h1 { font:700 clamp(56px,7.8vw,112px)/.98 Syne,sans-serif; letter-spacing:-.065em; white-space:nowrap; }
.blog-heading>p:last-child { font-size:clamp(17px,1.45vw,22px); line-height:1.5; }
.blog-feature { min-height:0; margin-top:24px; border:0; border-top:5px solid var(--cg-lime); border-bottom:1px solid var(--cg-ink); border-radius:0; background:#f0f2e9; }
.blog-feature-media { min-height:460px; }
.blog-feature-copy { padding:clamp(30px,4vw,60px); }
.blog-feature-copy h2 { font:700 clamp(38px,4.1vw,66px)/1.05 Syne,sans-serif; letter-spacing:-.05em; }
.blog-feature .solid-button,.blog-guide-link .solid-button { border-radius:0; }
.blog-more { margin-top:56px; }
.blog-more .section-head h2 { font:700 clamp(32px,3.7vw,54px)/1.08 Syne,sans-serif; letter-spacing:-.045em; }
.blog-more .story-grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:none; gap:32px 22px; }
.blog-guide-link { margin-top:64px; border-radius:0; background:var(--cg-lime); }
.blog-guide-link h2 { font:700 clamp(32px,3.8vw,56px)/1.06 Syne,sans-serif; letter-spacing:-.045em; }

/* The blog article template shared by the new and original stories. */
.fall-story .breadcrumbs { margin:10px 0 16px; }
.fall-hero { border:0; border-top:5px solid var(--cg-lime); border-bottom:1px solid var(--cg-ink); border-radius:0; background:#f0f2e9; }
.fall-hero-copy { padding:clamp(28px,4vw,60px); }
.fall-hero h1 { font:700 clamp(42px,4.45vw,72px)/1.05 Syne,sans-serif; letter-spacing:-.055em; }
.fall-deck { font-size:clamp(17px,1.45vw,22px); }
.fall-hero-media,.guide-story .fall-hero-media,.guide-story .story-hero-art { min-height:490px; }
.story-hero-type { min-height:490px; }
.story-hero-type strong { font-size:clamp(44px,6vw,92px); line-height:1.02; }
.fall-prose .fall-lede { font-family:Syne,sans-serif; font-weight:600; letter-spacing:-.035em; }
.fall-story .section-head h2,.fall-list-heading h2,.fall-guide-cta h2,.guide-story-link h2 { font:700 clamp(30px,3.3vw,50px)/1.08 Syne,sans-serif; letter-spacing:-.045em; }
.fall-pick-grid a,.fall-table-wrap,.fall-farm,.fall-tags span,.fall-planning,.fall-guide-cta,.guide-story-link { border-radius:0; }
.fall-farm { border-top:3px solid var(--cg-ink); }
.fall-farm h2 { font:700 clamp(30px,3.4vw,52px)/1.07 Syne,sans-serif; letter-spacing:-.045em; }
.fall-farm-number { font-family:Syne,sans-serif; }
.fall-actions .solid-button,.fall-guide-cta .solid-button,.guide-story-link .solid-button { border-radius:0; }
.fall-guide-cta,.guide-story-link { background:var(--cg-lime); }

@media(max-width:900px) {
  .blog-heading { grid-template-columns:1fr; }
  .blog-heading h1 { white-space:normal; }
  .blog-more .story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fall-hero-media,.guide-story .fall-hero-media,.guide-story .story-hero-art,.story-hero-type { min-height:min(62vw,480px); }
}
@media(max-width:620px) {
  .collection h1,.info-page h1 { font-size:clamp(42px,11vw,62px); }
  .blog-heading { padding:12px 0 24px; }
  .blog-heading h1 { font-size:clamp(52px,12vw,76px); }
  .blog-feature { grid-template-columns:1fr; }
  .blog-feature-media { min-height:65vw; }
  .blog-feature-copy { padding:26px 20px 30px; }
  .blog-feature-copy h2 { font-size:clamp(34px,9vw,48px); }
  .blog-more .story-grid { grid-template-columns:1fr; }
  .fall-hero-copy { padding:27px 20px; }
  .fall-hero h1 { font-size:clamp(38px,10vw,56px); }
  .fall-hero-media,.guide-story .fall-hero-media,.guide-story .story-hero-art,.story-hero-type { min-height:68vw; }
  .story-hero-type { padding:22px; }
  .story-hero-type strong { font-size:clamp(38px,10vw,62px); }
}
