.dm-shell {
	max-width: var(--shell-max);
	margin: 0 auto;
	border-left: 1px solid var(--border);
	border-right: 1px solid var(--border);
	position: relative;
}

.dm-section {
	position: relative;
	border-top: 1px solid var(--border);
}

.dm-section__inner {
	padding: var(--gutter);
}

.dm-section--hero {
	background: var(--bg-subtle);
}

.dm-section--hero .dm-section__inner {
    padding-top: clamp(20px, 7vw, 30px);
    padding-bottom: clamp(24px, 6vw, 24px);
}

.dm-section--subtle {
	background: var(--bg-subtle);
}

.dm-section--dark {
	background: #0b0b0c;
	color: #fafafa;
}

.dm-section--dark .dm-lead,
.dm-section--dark .dm-meta {
	color: #a7a7ad;
}

.dm-section__corner {
	position: absolute;
	top: 0;
	font-family: var(--font-mono);
	font-size: var(--fs-200);
	line-height: 1;
	color: var(--border-strong);
	pointer-events: none;
	user-select: none;
	z-index: 2;
}

.dm-section__corner--tl {
	left: 0;
	transform: translate(-50%, -50%);
}

.dm-section__corner--tr {
	right: 0;
	transform: translate(50%, -50%);
}

.dm-grid {
	display: grid;
	gap: clamp(16px, 1.5vw, 28px);
}

.dm-grid--sites {
	grid-template-columns: repeat(var(--cols-sites), minmax(0, 1fr));
}

.dm-grid--auto {
	grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
}

.dm-grid--books {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.dm-grid--blog {
	grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
	gap: clamp(20px, 2.2vw, 32px);
	align-items: stretch;
}

.dm-grid--tools {
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.dm-grid--2 {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, 440px);
	gap: clamp(40px, 4.5vw, 80px);
	align-items: center;
}

.dm-grid--content {
	display: grid;
	grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
	gap: clamp(32px, 4vw, 72px);
	align-items: start;
}

.dm-grid--content--solo {
	grid-template-columns: minmax(0, 1fr);
	max-width: 760px;
}

.dm-grid--site-detail {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 384px);
	gap: clamp(24px, 3vw, 40px);
	align-items: start;
}

.dm-grid--tools-layout {
	display: grid;
	grid-template-columns: 236px minmax(0, 1fr);
	gap: clamp(24px, 3vw, 40px);
	align-items: start;
}

.dm-grid--tools-archive {
	display: grid;
	grid-template-columns: minmax(240px, 260px) minmax(0, 1fr) minmax(200px, 240px);
	gap: clamp(20px, 2.5vw, 32px);
	align-items: start;
}

.dm-grid--submit {
	display: grid;
	grid-template-columns: 1fr 1.02fr;
	gap: clamp(40px, 5vw, 88px);
	align-items: start;
}

.dm-grid--featured {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: clamp(24px, 3vw, 40px);
	align-items: center;
}

.dm-grid--book-pick {
	display: grid;
	grid-template-columns: 0.9fr 1.6fr;
	gap: clamp(24px, 3vw, 40px);
	align-items: center;
}

@media (max-width: 1080px) {
	.dm-grid--content,
	.dm-grid--site-detail,
	.dm-grid--tools-layout,
	.dm-grid--submit,
	.dm-grid--2,
	.dm-grid--featured,
	.dm-grid--book-pick {
		grid-template-columns: 1fr;
	}

}

@media (max-width: 1024px) {
	.dm-grid--tools-archive {
		grid-template-columns: 1fr;
	}

	.dm-grid--tools-archive > .dm-tools-feed {
		order: 1;
	}

	.dm-grid--tools-archive > .dm-tools-aside--left {
		order: 2;
	}

	.dm-grid--tools-archive > .dm-tools-aside--right {
		order: 3;
	}

	.dm-toc--mobile details {
		margin-bottom: 24px;
	}
}

@media (max-width: 980px) {
	.dm-grid--2 {
		grid-template-columns: 1fr;
	}
}
