.news-detail-page .back-link { margin-bottom: 24px; }
.news-detail-page .detail-hero .eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; width: fit-content; max-width: 100%; margin: 0 0 6px; padding: 8px 12px; border: 1px solid #ffffff30; border-radius: 8px; color: #eef2df; font: 700 11px/1.5 Arial, sans-serif; letter-spacing: 1px; }
.news-detail-page .detail-hero .eyebrow time { white-space: nowrap; font-weight: 400; letter-spacing: 0; }
.news-detail-page .detail-hero .eyebrow[hidden] { display: none; }
.news-index-page .detail-hero .eyebrow {
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #f3e6d5;
}
.news-detail-page .detail-content { width: min(100% - 40px, 960px); padding: 28px 0 56px; }
.news-detail-page .detail-main { padding: 24px; border-radius: 20px; border-color: #dce2d5; background: #fffdf8; }
.news-detail-page .detail-main > h2[hidden] { display: none; }
.news-detail-page .news-detail-photo { display: block; width: 100%; height: clamp(230px, 34vw, 400px); object-fit: cover; border-radius: 14px; }
.news-detail-page .news-image-caption { margin: 10px 0 0; font: 400 12px/1.5 Arial, sans-serif; color: #657063; }
.news-detail-page .detail-sections { gap: 22px; margin-top: 24px; }
.news-detail-page .news-article-section { padding: 24px; border: 1px solid #e0e5d9; border-radius: 14px; background: #fcfcf7; }
.news-detail-page .news-article-section h2 { margin: 0 0 14px; color: var(--forest); font: 700 clamp(22px, 2.5vw, 28px)/1.3 Arial, sans-serif; letter-spacing: -.3px; }
.news-detail-page .news-article-section p,
.news-detail-page .news-article-section li { font: 400 16px/1.75 Arial, sans-serif; }
.news-detail-page .news-article-section p { margin: 0 0 14px; color: #435249; }
.news-detail-page .news-article-section p:last-child { margin-bottom: 0; }
.news-detail-page .news-article-highlights { background: #edf3e4; border-color: #d2dfc4; border-top: 3px solid #7d9a63; }
.news-detail-page .news-article-section ul { padding: 0 0 0 20px; margin: 0; }
.news-detail-page .news-article-section li { padding: 0 0 12px 6px; margin: 0 0 12px; border-bottom: 1px solid #d2dfc4; }
.news-detail-page .news-article-section li::marker { color: var(--green); }
.news-detail-page .news-article-section li:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.news-detail-page .news-material-link { justify-self: start; margin: 0; min-height: 48px; padding: 14px 20px; background: var(--forest); color: white; border: 1px solid var(--forest); border-radius: 10px; font: 700 14px/1.4 Arial, sans-serif; text-align: center; }
.news-detail-page .news-material-link:hover { background: var(--green); border-color: var(--green); }
.news-detail-page .news-material-link:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
.news-index-page .detail-main {
  padding: 28px;
  border: 1px solid #dce2d5;
  border-radius: 20px;
  background: #ffffff;
}
.news-index-page .detail-main > h2 { display: block; margin: 0 0 14px; color: var(--forest); font: 400 36px/1.2 Georgia, serif; letter-spacing: -.6px; }
.news-index-page .news-index-intro { margin: 0; font: 400 16px/1.7 Arial, sans-serif; color: #536158; }
.news-index-page .detail-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.news-index-card { display: flex; flex-direction: column; min-width: 0; padding: 0; border: 1px solid #d8dfd0; border-radius: 16px; overflow: hidden; background: #fffdf7; }
.news-index-image { position: relative; }
.news-index-image img { display: block; width: 100%; height: 220px; object-fit: cover; }
.news-index-image > span { position: absolute; top: 16px; left: 16px; padding: 7px 11px; border-radius: 20px; background: #fbfaf4f2; color: var(--forest); font: 700 10px/1.4 Arial, sans-serif; letter-spacing: 1px; }
.news-index-copy { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.news-index-copy time { display: block; margin: 0; color: #68725f; font: 600 11px/1.4 Arial, sans-serif; }
.news-index-page .news-index-copy h2 { margin: 12px 0; color: var(--forest); font: 700 22px/1.3 Arial, sans-serif; letter-spacing: -.3px; }
.news-index-copy p { margin: 0 0 22px; color: #536158; font: 400 14px/1.65 Arial, sans-serif; }
.news-index-link { align-self: start; margin-top: auto; min-height: 44px; padding: 10px 16px; border: 1px solid #ccd8c2; border-radius: 9px; background: #edf2e5; color: var(--forest); font: 700 12px/1.4 Arial, sans-serif; }
.news-index-link:hover { background: var(--forest); color: white; }
.news-index-link:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
@media(max-width:700px) {
  .news-detail-page .detail-content { width: calc(100% - 28px); margin: 0 auto; }
  .news-detail-page .detail-main { padding: 18px; }
  .news-detail-page .news-article-section { padding: 20px 16px; }
  .news-detail-page .detail-sections { gap: 16px; }
  .news-detail-page .news-material-link { width: 100%; text-align: center; }
  .news-index-page .detail-main { padding: 18px; border-radius: 16px; }
  .news-index-page .detail-sections { grid-template-columns: 1fr; }
  .news-index-copy { padding: 18px; }
}

@media (max-width: 700px) {
  .news-index-page .detail-main > h2 { font-size: 28px; letter-spacing: -.3px; }
}
