/**
 * marketing-polish.css  shared responsive + a11y polish for marketing pages
 * Dark hero / light body rhythm stays intentional; this file only fixes reflow
 * and keyboard focus on page-owned controls (chrome is handled in React).
 */

/* Split heroes (product + about): stack on tablet/phone */
.avt-split-hero {
	display: grid;
	align-items: center;
}

/* Hero inline metrics (40+ / <15s / …) */
.avt-hero-metrics {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.avt-hero-metrics .avt-hero-metrics-div {
	width: 1px;
	height: 34px;
	flex: none;
	background: var(--section-contrast-border);
}

/* Generic grids used across product pages */
.avt-split-2 {
	display: grid;
}

.avt-cards-3 {
	display: grid;
}

.avt-cards-2 {
	display: grid;
}

.avt-proof-stats {
	display: grid;
}

.avt-go-layout {
	display: grid;
}

.avt-go-phones {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 10px;
	width: 100%;
}

/* Author connect  icon SVGs stay centered */
.avt-author-connect-icon svg {
	display: block;
}

.avt-author-connect-link {
	min-width: 0;
}

@media (max-width: 900px) {
	.avt-split-hero {
		grid-template-columns: 1fr !important;
		gap: 36px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.avt-split-hero h1 {
		font-size: clamp(32px, 8vw, 44px) !important;
	}

	.avt-stats-row {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.avt-feature-4 {
		grid-template-columns: 1fr !important;
	}

	.avt-feature-4 > div {
		text-align: left;
	}

	.avt-blog-feature {
		grid-template-columns: 1fr !important;
	}

	.avt-split-2 {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}

	.avt-cards-3 {
		grid-template-columns: 1fr !important;
	}

	.avt-cards-2 {
		grid-template-columns: 1fr !important;
	}

	.avt-proof-stats {
		grid-template-columns: 1fr !important;
	}

	.avt-go-layout {
		grid-template-columns: 1fr !important;
		gap: 36px !important;
	}

	.avt-go-phones {
		flex-direction: column !important;
		align-items: center !important;
		gap: 28px !important;
	}

	.avt-go-phones > div {
		margin-top: 0 !important;
	}

	.avt-section {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	/* About  vision / mission + values */
	.avt-vision-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.avt-values-3 {
		grid-template-columns: 1fr !important;
	}

	/* About  research & funding */
	.avt-funding-layout {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.avt-projects-grid {
		grid-template-columns: 1fr !important;
	}

	.avt-pub-stats {
		grid-template-columns: 1fr 1fr !important;
	}

	/* About  Sigma Xi / proud */
	.avt-recog-layout {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}

	.avt-recog-layout h2 {
		font-size: clamp(24px, 6.5vw, 32px) !important;
	}

	/* About  team */
	.avt-team-lead,
	.avt-team-investors,
	.avt-team-crew {
		grid-template-columns: 1fr !important;
	}

	/* Blog article  TOC + prose stack; related cards vertical */
	.avt-article {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.avt-article-header h1 {
		font-size: clamp(28px, 7.5vw, 40px) !important;
	}

	.avt-article-layout {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
		padding-top: 32px !important;
	}

	.avt-article-toc {
		position: static !important;
		width: 100%;
		max-width: 100%;
	}

	.avt-article-toc-nav {
		width: 100%;
	}

	.avt-article-related-section {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.avt-article-related {
		grid-template-columns: 1fr !important;
	}

	/* Author  banner + sidebar/main stack */
	.avt-author-banner-inner {
		padding-left: 20px !important;
		padding-right: 20px !important;
		padding-top: 32px !important;
		padding-bottom: 32px !important;
	}

	.avt-author-banner-row {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 18px !important;
	}

	.avt-author-avatar {
		width: 88px !important;
		height: 88px !important;
		border-radius: 16px !important;
	}

	.avt-author-intro h1 {
		font-size: clamp(28px, 8vw, 36px) !important;
	}

	.avt-author-cta {
		width: 100%;
	}

	.avt-author-layout {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
		padding: 32px 20px 72px !important;
	}

	.avt-author-aside {
		position: static !important;
		top: auto !important;
	}

	.avt-author-details {
		grid-template-columns: 1fr !important;
	}

	.avt-author-post {
		grid-template-columns: 1fr !important;
	}

	.avt-author-post-thumb {
		min-height: 120px !important;
	}

	.avt-author-bio {
		font-size: 16.5px !important;
	}
}

@media (max-width: 720px) {
	.avt-dash-features {
		grid-template-columns: 1fr !important;
	}

	.avt-dash-features > div {
		border-right: 0 !important;
		border-bottom: 1px solid var(--section-contrast-border);
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.avt-dash-features > div:last-child {
		border-bottom: 0;
	}

	.avt-hero-metrics {
		flex-direction: column !important;
		align-items: flex-start !important;
		text-align: left !important;
		gap: 16px !important;
	}

	.avt-hero-metrics .avt-hero-metrics-div {
		display: none !important;
	}
}

@media (max-width: 560px) {
	.avt-stats-row,
	.avt-feature-4 {
		grid-template-columns: 1fr !important;
	}

	.avt-cta-row {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.avt-cta-row > a {
		text-align: center;
		justify-content: center;
		white-space: normal;
		line-height: 1.3;
	}

	.avt-pub-stats {
		grid-template-columns: 1fr !important;
	}

	.avt-grant-row {
		flex-wrap: wrap;
	}

	.avt-recog-meta > div {
		min-width: 100% !important;
		flex: 1 1 100% !important;
	}
}

/* Focus rings for native links/buttons outside chrome */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
