/*
 * Home page.
 *
 * Only the pieces the shared sections.css does not already cover: the industry
 * card grid, case-study cards, the testimonial carousel and the two-row
 * partner marquee. Everything else reuses the shared classes.
 */

/* ------------------------------------------------------------ industries -- */

/* 2 columns on phones, 4 on desktop — matching the original grid. */
.gvd-home__industries {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

@media (min-width: 1024px) {
	.gvd-home__industries { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
}

.gvd-home__industry {
	align-items: center;
	text-align: center;
}

.gvd-home__industry:hover { transform: translateY(-4px); }

.gvd-home__industry .gvd-card__title { font-size: 0.875rem; }

@media (min-width: 640px) {
	.gvd-home__industry .gvd-card__title { font-size: 1rem; }
}

/* "Explore" only appears on hover, as in the original. */
.gvd-home__industry .gvd-more {
	margin-top: 0;
	font-size: 0.75rem;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.gvd-home__industry:hover .gvd-more { opacity: 1; }

/* --------------------------------------------------------- case studies -- */

.gvd-home__study {
	padding: 0;
	overflow: hidden;
}

.gvd-home__study:hover { transform: translateY(-4px); }

.gvd-home__studymedia {
	display: block;
	height: 10rem;
	overflow: hidden;
}

.gvd-home__studymedia img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.gvd-home__study:hover .gvd-home__studymedia img { transform: scale(1.05); }

.gvd-home__studybody {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 2rem;
}

.gvd-home__study .gvd-card__title { font-size: 1.25rem; margin-bottom: 0.75rem; }
.gvd-home__study:hover .gvd-card__title { color: #2563eb; }

.gvd-home__studyquote {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-bottom: 1.25rem;
	color: #6b7280;
	font-size: 0.875rem;
	font-style: italic;
	line-height: 1.7;
}

.gvd-home__studyfoot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: auto;
}

.gvd-home__studytag {
	padding: 0.25rem 0.75rem;
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.1);
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 600;
}

.gvd-home__study .gvd-more {
	margin-top: 0;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.gvd-home__study:hover .gvd-more { opacity: 1; }

/* --------------------------------------------------------- testimonials -- */

.gvd-home__quotes {
	position: relative;
	max-width: 56rem;
	margin-inline: auto;
}

.gvd-home__quote {
	display: none;
	margin: 0;
	padding: 2rem;
	border: 1px solid rgba(229, 231, 235, 0.7);
	border-radius: 1rem;
	background: #f5f6f8;
	text-align: center;
	animation: gvd-quote-in 0.5s ease;
}

@media (min-width: 640px) {
	.gvd-home__quote { padding: 3rem; }
}

.gvd-home__quote.is-active { display: block; }

@keyframes gvd-quote-in {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.gvd-home__quote { animation: none; }
}

.gvd-home__quotemark {
	display: block;
	margin: 0 auto 1.5rem;
	color: rgba(37, 99, 235, 0.3);
}

.gvd-home__quote blockquote {
	margin: 0 0 2rem;
	padding: 0;
	border: 0;
	color: #1a1a2e;
	font-size: 1.125rem;
	font-style: italic;
	line-height: 1.7;
}

@media (min-width: 640px) {
	.gvd-home__quote blockquote { font-size: 1.25rem; }
}

.gvd-home__quoteauthor {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	color: #1a1a2e;
}

.gvd-home__quoterole { display: block; color: #6b7280; font-size: 0.875rem; }

.gvd-home__quotenav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 2rem;
}

.gvd-home__dot {
	width: 0.625rem;
	height: 0.625rem;
	padding: 0;
	border: 0;
	border-radius: 9999px;
	background: #d1d5db;
	cursor: pointer;
	transition: background-color 0.3s ease, width 0.3s ease;
}

.gvd-home__dot:hover { background: #9ca3af; }
.gvd-home__dot.is-active { width: 2rem; background: #2563eb; }

/* -------------------------------------------------------------- partners -- */

.gvd-home__partners {
	padding-block: 4rem;
	background: #f5f6f8;
	border-block: 1px solid #f3f4f6;
	overflow: hidden;
}

@media (min-width: 1024px) { .gvd-home__partners { padding-block: 5rem; } }

.gvd-home__partnersintro { margin-bottom: 2.5rem; }

.gvd-home__rows { position: relative; display: grid; gap: 1.25rem; }

/* Feathered edges so logos fade rather than clip at the viewport. */
.gvd-home__fade {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 10;
	width: 4rem;
	pointer-events: none;
}

@media (min-width: 640px) { .gvd-home__fade { width: 7rem; } }

.gvd-home__fade--left { left: 0; background: linear-gradient(to right, #f5f6f8, transparent); }
.gvd-home__fade--right { right: 0; background: linear-gradient(to left, #f5f6f8, transparent); }

.gvd-home__row {
	display: flex;
	width: max-content;
	animation: gvd-marquee 60s linear infinite;
}

.gvd-home__row--reverse { animation-name: gvd-marquee-reverse; }

.gvd-home__rows:hover .gvd-home__row { animation-play-state: paused; }

@keyframes gvd-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-33.333%); }
}

@keyframes gvd-marquee-reverse {
	from { transform: translateX(-33.333%); }
	to { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
	.gvd-home__row {
		animation: none;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
	}
	/* Without the animation the tripled copies are just noise. */
	.gvd-home__row .gvd-home__logo:nth-child(n + 16) { display: none; }
}

.gvd-home__logo { flex-shrink: 0; margin-inline: 0.75rem; }

@media (min-width: 640px) { .gvd-home__logo { margin-inline: 1rem; } }

.gvd-home__logo img {
	display: block;
	width: 10rem;
	height: 4rem;
	padding: 0 1.25rem;
	border: 1px solid rgba(229, 231, 235, 0.7);
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	object-fit: contain;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

@media (min-width: 640px) {
	.gvd-home__logo img { width: 13rem; height: 5rem; }
}

.gvd-home__logo img:hover {
	border-color: rgba(37, 99, 235, 0.3);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

/* ------------------------------------------------------------------- map -- */


