		.sm-hero {
			text-align: center;
			padding: 2rem 1rem 1rem;
		}
		.sm-hero h1 {
			font-size: 2.4rem;
			font-weight: 800;
			color: #1a1d22;
			letter-spacing: -.02em;
			margin: 0 0 .35rem;
		}
		.sm-hero p {
			color: #6c757d;
			font-size: 1rem;
			margin: 0 auto;
			max-width: 580px;
		}
		.sm-section {
			margin: 2.5rem 0 0;
			padding: 0;
		}
		.sm-section-head {
			display: flex;
			justify-content: space-between;
			align-items: baseline;
			border-bottom: 1px solid #e9ecef;
			padding-bottom: .65rem;
			margin: 0 0 1rem;
			gap: 1rem;
			flex-wrap: wrap;
		}
		.sm-section-head .label {
			font-size: .72rem; text-transform: uppercase; letter-spacing: .14em;
			color: #6c757d; font-weight: 700;
		}
		.sm-section-head h2 {
			font-size: 1.3rem;
			font-weight: 800;
			color: #1a1d22;
			margin: 0;
			letter-spacing: -.01em;
		}
		.sm-section-head .count {
			font-size: .85rem;
			color: #6c757d;
			font-weight: 600;
		}
		.sm-grid {
			display: grid;
			grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
			gap: .65rem;
			list-style: none;
			padding: 0;
			margin: 0;
		}
		.sm-grid a {
			display: block;
			padding: .7rem .9rem;
			background: #fff;
			border: 1px solid #e9ecef;
			border-radius: 8px;
			text-decoration: none;
			color: #1a1d22;
			font-weight: 600;
			font-size: .92rem;
			line-height: 1.3;
			transition: border-color .12s ease, background .12s ease, transform .12s ease;
			border-left: 3px solid #6366f1;
		}
		.sm-grid a:hover {
			border-color: #adb5bd;
			border-left-color: #4338ca;
			background: #fafbfc;
			color: #1a1d22;
			transform: translateY(-1px);
		}
		.sm-grid .meta {
			display: block;
			font-size: .72rem;
			color: #868e96;
			font-weight: 500;
			margin-top: .15rem;
			letter-spacing: .04em;
		}

		/* RSS subscribe callout — distinct color so it stands out from the indigo grid. */
		.sm-subscribe {
			margin: 1.5rem 0 0;
			padding: 1.4rem 1.5rem;
			background:
				radial-gradient(circle at 20% 0%, rgba(249,115,22,.08), transparent 55%),
				#fff8f1;
			border: 1px solid #fed7aa;
			border-radius: 10px;
			display: flex;
			align-items: center;
			gap: 1.1rem;
			flex-wrap: wrap;
		}
		.sm-subscribe .rss-icon {
			width: 44px;
			height: 44px;
			background: #f97316;
			color: #fff;
			border-radius: 10px;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 1.4rem;
			flex-shrink: 0;
		}
		.sm-subscribe .rss-text {
			flex: 1;
			min-width: 220px;
		}
		.sm-subscribe .rss-text strong {
			display: block;
			color: #1a1d22;
			font-size: 1rem;
			margin-bottom: .15rem;
		}
		.sm-subscribe .rss-text span {
			color: #6c757d;
			font-size: .88rem;
		}
		.sm-subscribe a.rss-btn {
			background: #f97316;
			color: #fff;
			padding: .55rem 1.1rem;
			border-radius: 8px;
			font-weight: 700;
			font-size: .88rem;
			text-decoration: none;
			letter-spacing: .02em;
			transition: background .12s ease;
		}
		.sm-subscribe a.rss-btn:hover { background: #ea580c; }

		/* Latest article rows — list style, with date timestamp on the right. */
		.sm-articles {
			list-style: none;
			padding: 0;
			margin: 0;
			border: 1px solid #e9ecef;
			border-radius: 10px;
			overflow: hidden;
		}
		.sm-articles li {
			border-bottom: 1px solid #f1f3f5;
		}
		.sm-articles li:last-child { border-bottom: 0; }
		.sm-articles a {
			display: flex;
			justify-content: space-between;
			align-items: baseline;
			gap: 1rem;
			padding: .85rem 1.1rem;
			text-decoration: none;
			color: #1a1d22;
			background: #fff;
			transition: background .12s ease;
		}
		.sm-articles a:hover {
			background: #fafbfc;
			color: #1a1d22;
		}
		.sm-articles .headline {
			font-weight: 600;
			font-size: .98rem;
			line-height: 1.35;
			flex: 1;
		}
		.sm-articles .pub-date {
			font-size: .78rem;
			color: #868e96;
			white-space: nowrap;
			font-weight: 500;
		}

		.sm-foot-note {
			margin: 2.5rem 0 1.5rem;
			padding: 1.2rem 1.4rem;
			background: #fbfbfd;
			border: 1px solid #e9ecef;
			border-radius: 10px;
			color: #495057;
			font-size: .9rem;
			line-height: 1.55;
		}
		.sm-foot-note strong { color: #1a1d22; }
		.sm-foot-note a { color: #4338ca; text-decoration: none; font-weight: 600; }
		.sm-foot-note a:hover { text-decoration: underline; }

		.sm-empty {
			padding: 1.5rem;
			text-align: center;
			color: #868e96;
			font-size: .9rem;
			border: 1px dashed #dee2e6;
			border-radius: 10px;
			background: #fafbfc;
		}
		
