.hsm-series-archive {
	max-width: 1180px;
	margin: 0 auto;
	padding: 28px 20px 60px;
}
.hsm-series-header { margin-bottom: 28px; }
.hsm-series-header h1 { margin: 8px 0; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.1; }
.hsm-series-label,
.hsm-series-kicker,
.hsm-series-episode {
	margin: 0;
	color: #8b1e1e;
	font-weight: 700;
	letter-spacing: .02em;
}
.hsm-series-subtitle { max-width: 850px; font-size: 1.25rem; line-height: 1.6; }
.hsm-series-banner { margin: 0 0 24px; }
.hsm-series-banner img { display: block; width: 100%; max-height: 420px; object-fit: cover; border-radius: 6px; }
.hsm-series-banner figcaption { margin-top: 6px; color: #666; font-size: .85rem; }
.hsm-series-intro { max-width: 850px; font-size: 1.1rem; line-height: 1.75; }
.hsm-series-list ol { list-style: none; margin: 30px 0 0; padding: 0; }
.hsm-series-list li { margin: 0; padding: 0; }
.hsm-series-card { display: grid; grid-template-columns: minmax(180px, 30%) 1fr; gap: 24px; padding: 24px 0; border-top: 1px solid #ddd; }
.hsm-series-card h2 { margin: 4px 0 10px; line-height: 1.25; }
.hsm-series-thumb img { display: block; width: 100%; height: auto; border-radius: 4px; }
.hsm-series-meta { color: #666; font-size: .9rem; }
.hsm-series-box { margin: 32px 0; padding: 22px; border: 1px solid #ddd; border-right: 5px solid #8b1e1e; background: #f8f8f8; }
.hsm-series-box h2 { margin: 4px 0 8px; }
.hsm-series-description { margin: 0 0 18px; }
.hsm-series-nav { display: grid; grid-template-columns: 1fr auto 1fr; gap: 18px; align-items: center; }
.hsm-series-nav > span:last-child { text-align: left; }
.hsm-series-all { font-weight: 700; white-space: nowrap; }
.hsm-series-contents { margin-top: 18px; border-top: 1px solid #ddd; padding-top: 14px; }
.hsm-series-contents summary { cursor: pointer; font-weight: 700; }
.hsm-series-contents ol { margin: 12px 1.25rem 0 0; padding: 0; columns: 2; column-gap: 32px; }
.hsm-series-contents li { break-inside: avoid; margin-bottom: 7px; }
@media (max-width: 720px) {
	.hsm-series-card { grid-template-columns: 1fr; gap: 12px; }
	.hsm-series-nav { grid-template-columns: 1fr; }
	.hsm-series-nav > span:last-child { text-align: right; }
	.hsm-series-contents ol { columns: 1; }
}
