/* Weekend hiking journal: local typography and quiet editorial surfaces. */
body { background: var(--c-bg); color: var(--c-text); }
.site-header, .site-footer { background: transparent; }
.header-inner { padding-block: 20px; }
.brand { letter-spacing: -.025em; }
.header-search { font-weight: 650; padding: 8px 14px; border: 1px solid var(--c-accent); border-radius: 4px; text-decoration: none; }
.main { padding-block: 36px 48px; }
.home .hero { position: relative; padding-block: 12px 32px; border-bottom: 1px solid var(--c-border); }
.home h1 { font-size: clamp(2.25rem, 5vw, 4.5rem); max-width: 16ch; line-height: 1.08; letter-spacing: -.04em; font-weight: 650; }
.journal-kicker { margin-top: 20px; color: var(--c-muted); font-size: .875rem; letter-spacing: .06em; }
.journal-search { display: flex; justify-content: space-between; align-items: center; gap: 20px; max-width: 560px; min-height: 56px; padding: 14px 20px; background: var(--c-surface); border: 1px solid var(--c-accent); border-radius: 4px; text-decoration: none; font-weight: 600; }
.home .blocks { gap: 40px; }
.block > h2 { font-size: 1.375rem; letter-spacing: -.02em; }
.cards { gap: 12px; }
.card { padding: 16px; border: 1px solid var(--c-border); box-shadow: none; }
.card-title { font-size: 1.0625rem; line-height: 1.4; }
.card-text { font-size: .875rem; line-height: 1.55; }
.block-categories .card { background: transparent; border-top: 2px solid var(--c-accent); }
.block-latest .cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.article { max-width: 760px; margin-inline: auto; }
.article .page-header, .article .article-grid { max-width: 100%; }
.article h1 { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.18; letter-spacing: -.035em; }
.prose { max-width: 64ch; line-height: 1.8; }
.toc { border-inline-start: 3px solid var(--c-accent); }
.prose table { width: 100%; }
.prose th { background: var(--c-surface); }
.search-form { padding: 16px; background: var(--c-surface); border: 1px solid var(--c-accent); border-radius: 4px; max-width: 760px; }
.search-form > * { min-width: 0; max-width: 100%; }
.site-nav ul { flex-wrap: wrap; overflow: visible; }
.site-nav a { white-space: normal; font-size: .875rem; }
.site-footer { margin-top: 32px; }
@media (max-width: 719px) {
  .shell { width: calc(100% - 32px); }
  .main { padding-top: 24px; }
  .header-inner { gap: 12px; }
  .brand { max-width: 180px; font-size: 1rem; }
  .site-nav ul { gap: 4px 16px; }
  .home .hero { padding-top: 0; }
  .home .blocks { gap: 28px; }
  .search-form { flex-direction: column; }
  .search-form input, .search-form button { width: 100%; }
}
