/* Editorial index, scoped so individual article layouts stay unchanged. */
body.media-index-page { background: #fbfaf7; }
body.media-index-page::after { display: none; }
.media-index-page h1, .media-index-page h2, .media-index-page h3 { font-family: var(--font-jp) !important; font-weight: 600; letter-spacing: .015em; }
.media-index-page [hidden] { display: none !important; }
.media-index-main { padding-top: 6.5rem; }
.media-index-container { max-width: 1200px; }
.media-index-crumbs { display: flex; gap: .65rem; margin-bottom: 1.75rem; color: #59665f; font-size: .75rem; }
.media-index-crumbs a { text-decoration: underline; text-underline-offset: .25em; }
.media-index-intro { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 2.5rem; }
.media-index-intro h1 { margin: 0 0 .65rem; font-size: clamp(1.65rem, 3.2vw, 2.5rem); line-height: 1.5; }
.media-index-intro p { color: #59665f; font-size: .95rem; line-height: 1.9; }
.media-index-text-link { display: inline-flex; align-items: center; gap: 1.5rem; min-height: 2.75rem; font-size: .85rem; font-weight: 600; white-space: nowrap; }
.media-index-page a:focus-visible, .media-index-page button:focus-visible, .media-index-page input:focus-visible { outline: 3px solid #a1793c; outline-offset: 4px; }
.media-index-featured { margin-bottom: 4rem; }
.media-index-featured > h2, .media-index-library-heading h2 { margin: 0; font-size: 1.2rem; line-height: 1.6; }
.media-index-featured > h2 { margin-bottom: 1.25rem; }
.media-index-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; align-items: stretch; }
.media-index-feature { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.media-index-feature-copy { display: flex; flex: 1; flex-direction: column; align-items: start; min-width: 0; }
.media-index-feature-image, .media-index-article-image { overflow: hidden; background: #eeeee8; border-radius: .5rem; }
.media-index-feature-image { width: 100%; aspect-ratio: 16/10; flex: 0 0 auto; }
.media-index-feature-image img, .media-index-article-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.media-index-feature h3 { margin: .6rem 0 .65rem; font-size: clamp(1rem, 1.4vw, 1.15rem); line-height: 1.75; overflow-wrap: anywhere; text-wrap: pretty; }
.media-index-meta { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; color: #375b4e; font-size: .7rem; line-height: 1.6; }
.media-index-meta time { color: #6d756f; font-size: .67rem; font-variant-numeric: tabular-nums; }
.media-index-feature-description { margin-top: auto; color: #59665f; font-size: .85rem; line-height: 1.85; }
.media-index-read { display: flex; align-items: center; gap: .8rem; margin-top: .8rem; color: #254b3e; font-size: .75rem; font-weight: 600; }
.media-index-library { margin-bottom: 4rem; scroll-margin-top: 6rem; }
.media-index-library-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
#media-index-count { color: #59665f; font-size: .75rem; line-height: 1.7; text-align: right; }
.media-index-tools { margin-bottom: 2rem; }
.media-index-search { display: flex; align-items: center; gap: 1.25rem; margin-bottom: 1.15rem; }
.media-index-search label { color: #4f5d55; font-size: .8rem; white-space: nowrap; }
.media-index-search-field { display: flex; align-items: center; gap: .7rem; width: min(100%, 30rem); padding: 0 1rem; background: #fff; border: 1px solid #cfd6ce; border-radius: .4rem; color: #5b6b60; }
.media-index-search-field svg { flex: 0 0 auto; }
.media-index-search-field input { min-width: 0; width: 100%; min-height: 3rem; padding: .65rem 0; background: transparent; border: 0; border-radius: 0; color: #172a22; font: 400 1rem/1.6 var(--font-jp); }
.media-index-search-field input::placeholder { color: #788178; font-size: .85rem; }
.media-index-search-field:focus-within { border-color: #2b5944; }
.media-index-filters { display: flex; flex-wrap: wrap; gap: .5rem; }
.media-index-filters button { min-height: 2.75rem; padding: .65rem 1.1rem; border: 0; border-radius: 2rem; background: #eeeee7; color: #425348; font: 500 .8rem/1.5 var(--font-jp); cursor: pointer; }
.media-index-filters button[aria-pressed="true"] { background: #214b3a; color: #fff; }
.media-index-article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.25rem 1.5rem; }
.media-index-article, .media-index-article a { min-width: 0; }
.media-index-article a { display: block; height: 100%; }
.media-index-article-image { aspect-ratio: 16/10; margin-bottom: .85rem; }
.media-index-article h3 { margin: .5rem 0 0; font-size: 1rem; line-height: 1.8; overflow-wrap: anywhere; }
.media-index-more-wrap { margin-top: 2.5rem; text-align: center; }
.media-index-more { display: inline-flex; align-items: center; justify-content: center; gap: 2.5rem; min-width: 15rem; min-height: 3.25rem; padding: .8rem 1.5rem; border: 1px solid #b8c5b9; border-radius: .4rem; background: transparent; color: #214b3a; font: 600 .9rem/1.5 var(--font-jp); cursor: pointer; }
.media-index-empty { padding: 2rem 1rem; background: #fff; text-align: center; color: #526057; font-size: .9rem; line-height: 1.9; }
.media-index-empty p + p { margin-top: .35rem; font-size: .8rem; }
.media-index-empty button { min-height: 2.75rem; margin-top: 1rem; padding: .6rem 1rem; border: 0; border-radius: .4rem; background: #214b3a; color: #fff; font: 500 .85rem/1.5 var(--font-jp); cursor: pointer; }
.media-index-next { display: flex; justify-content: space-between; align-items: center; gap: 2rem; margin-bottom: 4rem; padding: 2rem; background: #f0f0e9; border-radius: .65rem; }
.media-index-next h2 { margin: 0 0 .5rem; font-size: 1.1rem; line-height: 1.6; }
.media-index-next p { max-width: 30rem; color: #59665f; font-size: .85rem; line-height: 1.9; }
.media-index-next-links { flex: 0 0 auto; display: grid; gap: .65rem; }
.media-index-next-links a { display: flex; justify-content: space-between; gap: 2rem; align-items: center; min-height: 2.75rem; padding: .65rem 1rem; background: #fff; border-radius: .35rem; color: #254b3e; font-size: .8rem; font-weight: 600; }
.media-index-page .sub-cta h2 { font-size: clamp(1.2rem, 2.6vw, 1.8rem); }
@media (hover: hover) {
 .media-index-feature:hover h3, .media-index-article a:hover h3 { text-decoration: underline; text-underline-offset: .25em; }
 .media-index-feature:hover img, .media-index-article a:hover img { transform: scale(1.025); }
 .media-index-filters button:not([aria-pressed="true"]):hover, .media-index-more:hover { background: #e2e8df; }
}
@media (max-width: 700px) {
 .media-index-main { padding-top: 5.5rem; }
 .media-index-container { padding-inline: 1.25rem; }
 .media-index-crumbs { margin-bottom: 1.25rem; font-size: .68rem; }
 .media-index-intro { align-items: start; margin-bottom: 1.75rem; }
 .media-index-intro h1 { font-size: 1.6rem; margin-bottom: .5rem; }
 .media-index-intro p { font-size: .8rem; }
 .media-index-intro > .media-index-text-link { display: none; }
 .media-index-featured { margin-bottom: 2.5rem; }
 .media-index-featured > h2, .media-index-library-heading h2 { font-size: 1.05rem; }
 .media-index-featured > h2 { margin-bottom: .85rem; }
 .media-index-feature-grid { grid-template-columns: 1fr; gap: 1.25rem; }
 .media-index-feature { display: grid; grid-template-columns: 30% minmax(0, 1fr); align-items: start; gap: 1rem; }
 .media-index-feature-image { aspect-ratio: 4/3; }
 .media-index-feature-copy { display: block; }
 .media-index-feature h3 { margin: .35rem 0 0; font-size: 1rem; line-height: 1.7; }
 .media-index-feature-description, .media-index-read { display: none; }
 .media-index-feature .media-index-meta { gap: .25rem .65rem; }
 .media-index-search { display: block; margin-bottom: 1rem; }
 .media-index-search label { display: block; margin-bottom: .5rem; font-size: .75rem; }
 .media-index-search-field { width: 100%; }
 .media-index-filters { gap: .45rem; }
 .media-index-filters button { padding: .6rem .85rem; font-size: .75rem; }
 .media-index-tools { margin-bottom: 1.5rem; }
 .media-index-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1rem; }
 .media-index-article-image { margin-bottom: .65rem; border-radius: .35rem; }
 .media-index-article h3 { margin-top: .35rem; font-size: .88rem; line-height: 1.8; }
 .media-index-article .media-index-meta { font-size: .65rem; gap: .2rem .5rem; }
 .media-index-article .media-index-meta time { font-size: .6rem; }
 .media-index-library { margin-bottom: 2.5rem; }
 .media-index-library-heading { align-items: start; margin-bottom: 1.1rem; }
 #media-index-count { font-size: .68rem; }
 .media-index-more-wrap { margin-top: 1.75rem; }
 .media-index-next { display: block; padding: 1.4rem; margin-bottom: 2.5rem; }
 .media-index-next h2 { font-size: 1rem; }
 .media-index-next p { font-size: .8rem; }
 .media-index-next-links { margin-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
 .media-index-feature-image img, .media-index-article-image img { transition: none; }
}

/* Keep compact title and featured-card spacing after removing duplicate captions. */
.media-index-intro h1:only-child { margin-bottom: 0; }
.media-index-feature-copy .media-index-read { margin-top: auto; padding-top: .75rem; }
