@media screen and (max-width: 1280px) {
	.site-shell {
		width: min(100%, calc(100% - 28px));
	}

	.hero-shell {
		grid-template-columns: 1fr;
	}

	.page-banner {
		flex-direction: column;
		align-items: flex-start;
	}

	.page-banner-meta {
		justify-items: start;
	}

	.page-banner-connection {
		text-align: left;
	}

	.feedContainer {
		grid-template-columns: minmax(0, 1fr) 320px;
	}
}

@media screen and (max-width: 1040px) {
	.site-nav {
		border-radius: 28px;
		padding: 16px 18px;
	}

	.site-nav-toggle {
		display: inline-flex;
	}

	.site-nav-links {
		display: none;
		position: absolute;
		top: calc(100% + 12px);
		left: 0;
		right: 0;
		padding: 14px;
		border-radius: 24px;
		background: rgba(6, 11, 18, 0.98);
		backdrop-filter: blur(16px);
		border: 1px solid rgba(255, 255, 255, 0.08);
		box-shadow: var(--shadow);
	}

	.site-nav-links.is-open {
		display: grid;
		gap: 8px;
	}

	.feedContainer,
	.feature-grid,
	.download-grid,
	.tool-grid,
	.site-footer {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 780px) {
	.hero-shell,
	.page-banner,
	.page-content-shell,
	.page-shell,
	.site-footer {
		padding: 22px;
	}

	.hero-actions,
	.download-meta {
		flex-direction: column;
	}

	.hero-button,
	input[type="submit"],
	button,
	.submitButton,
	.widget-actions a {
		width: 100%;
	}

	.hero-stats-grid {
		grid-template-columns: 1fr;
	}

	ul.linkbuttons {
		grid-template-columns: 1fr;
	}

	.catchrate-search {
		grid-template-columns: 1fr;
	}

	.account-form ul {
		grid-template-columns: 1fr;
	}

	.account-form .submit-row {
		align-items: stretch;
	}
}

@media screen and (max-width: 600px) {
	.site-shell {
		width: min(100%, calc(100% - 16px));
		margin-top: 14px;
	}

	.site-nav {
		padding: 14px 16px;
	}

	.site-brand-mark {
		width: 58px;
		height: 58px;
		border-radius: 18px;
	}

	.site-brand-copy strong {
		font-size: 15px;
	}

	.site-brand-copy small {
		font-size: 10px;
		letter-spacing: 0.09em;
	}

	.hero-copy h1 {
		font-size: 34px;
	}

	.hero-copy p,
	.page-lead,
	p,
	td,
	th,
	label {
		font-size: 14px;
	}

	th,
	td {
		padding: 12px;
	}
}
