.route-filter { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto auto; align-items:end; gap:16px; padding:20px; background:#292720; color:#fff; border-radius:6px; }
.route-filter label { display:grid; gap:7px; color:#fff; font-size:13px; letter-spacing:0; }
.route-filter select { width:100%; min-width:0; height:42px; padding:8px 12px; background:#fff; color:#242424; border:1px solid #b9b9b9; border-radius:4px; font:inherit; appearance:auto; color-scheme:light; }
.route-filter select option { background:#fff; color:#242424; }
.route-filter button { min-height:42px; padding:10px 18px; background:#a84019; color:#fff; border:1px solid #fff; border-radius:4px; font-weight:700; cursor:pointer; }
.route-filter a { color:#fff; padding:10px 0; text-decoration:underline; }
.route-filter :focus-visible { outline:3px solid #44b7df; outline-offset:3px; }
.home-route-filter { padding:20px 24px; }
.route-result-count { font-size:14px; color:#48443f; margin:18px 0; }
[data-route-results] [hidden], .route-empty[hidden] { display:none !important; }
.home-feed-link { align-items:start; grid-template-columns:140px minmax(0,1fr); }
.home-feed-cover { width:140px; height:95px; object-fit:cover; flex:0 0 140px; border-radius:4px; }
.home-feed-copy, .feed-copy { min-width:0; }
.home-feed-copy p, .feed-copy p { color:#56504a; line-height:1.55; }
.home-feed-copy time, .feed-copy time { display:block; color:#655d56; font-size:13px; margin:4px 0; }
.blog-card { display:flex; gap:18px; align-items:flex-start; }
.blog-card a { display:flex; gap:18px; width:100%; }
.article-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.blog-card img { width:140px; height:95px; object-fit:cover; flex:0 0 140px; border-radius:4px; }
.blog-card h3 { font-size:20px; margin:6px 0; }
.content-links { border-top:1px solid #d4cbc2; border-bottom:1px solid #d4cbc2; padding:16px 0; margin:24px 0; display:flex; align-items:baseline; flex-wrap:wrap; gap:12px 24px; }
.content-links h2 { font-size:18px; margin:0; }
.content-links a { color:#863b20; text-decoration:underline; }
.article-gallery { scroll-margin-top:90px; }
.article-gallery figcaption { overflow-wrap:anywhere; line-height:1.5; color:#514c47; }
.article-gallery-grid img { width:100%; height:200px; object-fit:cover; }
.article-meta { color:#655d56; }
@media (max-width:760px) {
  .route-filter { grid-template-columns:1fr 1fr; gap:12px; padding:16px; }
  .route-filter label:first-child { grid-column:1/-1; }
  .route-filter > div:first-child { grid-column:1/-1; }
  .home-route-filter { padding:16px; }
  .home-feed-cover, .blog-card img { width:92px; height:70px; flex-basis:92px; }
  .home-feed-link { grid-template-columns:92px minmax(0,1fr); }
  .article-list { grid-template-columns:1fr; }
  .blog-card { gap:12px; }
  .blog-card h3 { font-size:18px; }
}
@media (max-width:480px) {
  .route-filter > div { grid-column:1/-1; }
}
