.site-header { position: relative; z-index: 30; border-bottom: 1px solid var(--yuanzi-mist); background: var(--yuanzi-paper); }
.site-header__inner { width: min(calc(100% - 40px), var(--yuanzi-wide)); min-height: 76px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.site-branding__title { margin: 0; font-family: var(--yuanzi-serif); font-size: 1.3rem; font-weight: 600; letter-spacing: 0.04em; }
.site-branding__title a { color: inherit; text-decoration: none; }
.primary-navigation ul { display: flex; align-items: center; gap: 1.5rem; list-style: none; margin: 0; padding: 0; font-size: 0.84rem; }
.primary-navigation li { margin: 0; }
.primary-navigation a { color: var(--yuanzi-ink); text-decoration: none; }
.primary-navigation a:hover, .primary-navigation .current-menu-item > a { color: var(--yuanzi-moss); }
.menu-toggle { display: none; place-items: center; width: 44px; min-height: 44px; padding: 0; border: 1px solid var(--yuanzi-mist); border-radius: 50%; background: transparent; color: var(--yuanzi-ink); }
.menu-toggle:hover { border-color: var(--yuanzi-moss); color: var(--yuanzi-moss); }
.menu-toggle:active { transform: translateY(1px); }
.site-footer { margin-top: 5rem; border-top: 1px solid var(--yuanzi-mist); color: #747971; font-size: 0.8rem; }
.site-footer__inner { width: min(calc(100% - 40px), var(--yuanzi-wide)); margin-inline: auto; padding: 1.5rem 0; display: flex; justify-content: space-between; gap: 1rem; }
.site-footer p { margin: 0; }
.featured-story { position: relative; overflow: hidden; height: clamp(340px, 34vw, 450px); min-height: 0; border-radius: 8px; background: #e7e7df; }
.featured-story__image { position: absolute; inset: 0; }
.featured-story__image img { width: 100%; height: 100%; object-fit: cover; }
.featured-story__overlay { position: absolute; inset: 0; z-index: 1; display: flex; align-items: end; padding: 44px 52px 46px; background: linear-gradient(0deg, rgba(28, 32, 29, 0.58) 0%, rgba(28, 32, 29, 0.22) 42%, rgba(28, 32, 29, 0) 76%), linear-gradient(90deg, rgba(28, 32, 29, 0.56) 0%, rgba(28, 32, 29, 0.28) 34%, rgba(28, 32, 29, 0) 70%); color: #fff; }
.featured-story:not(.featured-story--text-only) .featured-story__overlay > div { width: 100%; max-width: min(700px, 72%); }
.featured-story__title { max-width: 100%; margin: 0; font-family: var(--yuanzi-serif); font-size: clamp(2rem, 3.3vw, 3.35rem); line-height: 1.18; font-weight: 500; }
.featured-story__title a { color: #fff; text-decoration: none; transition: color 180ms ease, opacity 180ms ease; }
.featured-story__title a:hover { color: #fff; opacity: 0.82; }
.featured-story__title a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.featured-story__overlay .entry-meta { margin: 0 0 16px; color: rgba(255, 255, 255, 0.82); font-size: 13px; font-weight: 500; letter-spacing: 0.04em; white-space: nowrap; }
.featured-story--text-only { height: auto; min-height: 0; border: 1px solid var(--yuanzi-mist); background: #f4f1e9; color: var(--yuanzi-ink); }
.featured-story--text-only .featured-story__overlay { position: static; display: block; padding: clamp(2rem, 5vw, 3.5rem); background: transparent; color: var(--yuanzi-ink); }
.featured-story--text-only .featured-story__title a { color: var(--yuanzi-ink); }
.featured-story--text-only .featured-story__title a:hover { color: var(--yuanzi-ink); opacity: 0.72; }
.featured-story--text-only .featured-story__title a:focus-visible { outline-color: var(--yuanzi-ink); }
.featured-story--text-only .featured-story__overlay .entry-meta { color: var(--yuanzi-moss); }
@media (min-width: 769px) {
  .featured-story__title { text-wrap: balance; }
}
.recent-posts { margin-top: clamp(2.75rem, 6vw, 4rem); }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 24px; }
.section-heading h2 { margin: 0; font-family: var(--yuanzi-serif); font-size: 1.7rem; font-weight: 600; line-height: 1.35; }
.section-heading a { flex: 0 0 auto; color: var(--yuanzi-moss); font-size: 0.82rem; }
.post-card { display: grid; grid-template-columns: 190px minmax(0, 1fr); column-gap: 28px; padding-block: 26px; border-bottom: 1px solid var(--yuanzi-mist); }
.post-card--text-only { grid-template-columns: 1fr; }
.post-card--text-only .post-card__body { max-width: 72ch; }
.post-card__body { min-width: 0; align-self: center; }
.post-card__image { width: 190px; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 6px; }
.post-card__image img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }
.post-card .entry-meta { margin: 0 0 10px; color: var(--yuanzi-moss); font-size: 0.85rem; letter-spacing: 0.04em; }
.post-card__title { margin: 0; font-family: var(--yuanzi-serif); font-size: clamp(1.2rem, 1.35vw, 1.45rem); line-height: 1.42; font-weight: 500; overflow-wrap: anywhere; text-wrap: pretty; }
.post-card__title a { color: inherit; text-decoration: none; }
.post-card__title a:focus-visible { outline: 2px solid var(--yuanzi-moss); outline-offset: 4px; border-radius: 2px; }
@media (hover: hover) and (pointer: fine) {
  .post-card__title a { transition: color 180ms ease; }
  .post-card__title a:hover { color: var(--yuanzi-moss); }
  .post-card__image img { transition: transform 180ms ease; }
  .post-card__image:hover img { transform: scale(1.015); }
}
.entry-meta { color: var(--yuanzi-moss); font-size: 0.78rem; letter-spacing: 0.03em; }
.page-header { width: min(calc(100% - 40px), var(--yuanzi-content)); margin: 3rem auto 1.5rem; }
.page-title { font-family: var(--yuanzi-serif); font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.35; overflow-wrap: anywhere; }
.search-form { display: flex; gap: 0.5rem; }
.search-form label { flex: 1; }
.search-field, .comment-form input, .comment-form textarea { width: 100%; min-height: 44px; padding: 0.65rem 0.8rem; border: 1px solid var(--yuanzi-mist); border-radius: 4px; background: #fff; color: var(--yuanzi-ink); }
.search-submit, .comment-form input[type="submit"] { min-height: 44px; padding: 0.65rem 1rem; border: 1px solid var(--yuanzi-moss); border-radius: 4px; background: var(--yuanzi-moss); color: #fff; }
.navigation.pagination, .post-navigation { width: min(calc(100% - 40px), var(--yuanzi-content)); margin: 2rem auto; }
.navigation.pagination { padding-top: 1rem; }
.nav-links { display: flex; align-items: baseline; justify-content: space-between; gap: 1.5rem; }
.nav-previous, .nav-next { min-width: 0; }
.nav-next { text-align: right; }
.nav-subtitle { display: block; color: var(--yuanzi-moss); font-size: 0.78rem; letter-spacing: 0.04em; }
.nav-title { display: block; font-family: var(--yuanzi-serif); overflow-wrap: anywhere; }
.post-navigation a { color: inherit; text-decoration: none; }
.post-navigation a:hover { color: var(--yuanzi-moss); }
.entry-endmark { margin: 3rem 0 2rem; color: var(--yuanzi-moss); text-align: center; letter-spacing: 0.25em; }
.comments-area { width: min(calc(100% - 40px), var(--yuanzi-content)); margin: 3.5rem auto 0; padding-top: 2rem; border-top: 1px solid var(--yuanzi-mist); }
.comments-title, .comment-reply-title { margin: 0 0 1rem; font-family: var(--yuanzi-serif); font-size: 1.35rem; font-weight: 600; line-height: 1.45; }
.comment-form { margin-top: 1.5rem; }
.comment-form textarea { min-height: 9rem; resize: vertical; }
.comment-form input[type="submit"] { transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease; }
.comment-form input[type="submit"]:hover { border-color: var(--yuanzi-ink); background: var(--yuanzi-ink); }
.comment-form input[type="submit"]:active { transform: translateY(1px); }
.comment-list { margin: 1.5rem 0; padding: 0; list-style: none; }
.comment-list .children { margin-inline-start: 1.25rem; padding: 0; list-style: none; }
.comment-body { padding: 1.25rem 0; border-bottom: 1px solid var(--yuanzi-mist); }
.no-results { padding: 3rem 0; text-align: center; }
