body.prove-home { overflow-x: hidden; background: var(--prove-bg); }
.prove-home a { text-decoration-thickness: 1px; text-underline-offset: 4px; }

/* Hero */
.prove-hero-shell {
	--prove-hero-edge: 0px;
	width: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
}
.prove-hero {
	position: relative;
	display: flex;
	min-height: clamp(640px, 82svh, 780px);
	flex-direction: column;
	overflow: hidden;
	border-radius: 0;
	background: var(--prove-mineral);
	color: var(--prove-white);
	isolation: isolate;
}
.prove-hero__media { position: absolute; z-index: -3; inset: 0; overflow: hidden; }
.prove-hero__image,
.prove-hero__media > video,
.prove-hero__media > picture,
.prove-hero__media > picture > img { width: 100%; height: 100%; }
.prove-hero__image,
.prove-hero__media > video,
.prove-hero__media > picture > img { object-fit: cover; object-position: var(--prove-media-position, center center); }
.prove-hero__media > video { position: absolute; inset: 0; }
.prove-hero__media > picture { display: block; }
.prove-hero__media .prove-video { position: absolute; inset: 0; width: 100%; height: 100%; }
.prove-hero__media .prove-video video { width: 100%; height: 100%; object-fit: cover; object-position: var(--prove-media-position, center center); }
.prove-hero__image { position: absolute; inset: 0; }
.prove-hero__placeholder { position: absolute; inset: 0; min-height: 100%; border: 0; border-radius: 0; background: var(--prove-surface-dark); color: rgba(255,255,255,.5); }
.prove-hero__overlay {
	position: absolute;
	z-index: -2;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			rgba(10, 18, 23, .36) 0%,
			rgba(10, 18, 23, .30) 22%,
			rgba(10, 18, 23, .12) 42%,
			rgba(10, 18, 23, 0) 64%
		),
		linear-gradient(
			180deg,
			rgba(10, 18, 23, .64) 0,
			rgba(10, 18, 23, .44) 76px,
			rgba(10, 18, 23, .20) 132px,
			rgba(10, 18, 23, 0) 210px
		),
		radial-gradient(
			circle at 24% 42%,
			rgba(10, 18, 23, .22) 0%,
			rgba(10, 18, 23, .14) 20%,
			rgba(10, 18, 23, .06) 38%,
			rgba(10, 18, 23, 0) 58%
		);
}
.prove-hero.has-placeholder .prove-hero__overlay { background: rgba(53,68,78,.88); }
.prove-hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	width: min(calc(100vw - (2 * var(--prove-gutter))), var(--prove-container));
	margin: 0 auto;
	padding: clamp(48px, 7vh, 80px) 0 clamp(84px, 8vh, 104px);
	align-items: center;
	flex: 1;
}
.prove-hero__copy { width: min(100%, 820px); }
.prove-hero h1 {
	text-shadow: 0 1px 2px rgba(8,14,18,.72), 0 3px 10px rgba(8,14,18,.26);
}
.prove-hero__copy .prove-eyebrow {
	color: rgba(255,255,255,.96);
	text-shadow: 0 1px 1px rgba(8,14,18,.72);
}
.prove-hero__description {
	color: rgba(255,255,255,.96);
	text-shadow: 0 1px 2px rgba(8,14,18,.66);
}
.prove-hero__actions .prove-button {
	box-shadow: none;
}
.prove-hero__actions .prove-button--ghost {
	text-shadow: none;
}
.prove-eyebrow,
.prove-section-label {
	display: flex;
	margin: 0 0 24px;
	align-items: center;
	gap: 12px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.prove-eyebrow::before { width: 8px; height: 8px; border-radius: 50%; background: var(--prove-flora); content: ""; flex: 0 0 auto; }
.prove-eyebrow--light, .prove-section-label--light { color: rgba(255,255,255,.86); }
.prove-section-label span { min-width: 28px; color: var(--prove-terra); font-size: 11px; }
.prove-section-label--light span { color: var(--prove-flora); }
.prove-hero h1 {
	max-width: 16.5ch;
	margin: 0;
	font-size: clamp(44px, 5.8vw, 84px);
	font-weight: 800;
	line-height: .95;
	letter-spacing: -.045em;
	text-wrap: balance;
	hyphens: none;
}
.prove-hero__description { max-width: 60ch; margin: 24px 0 0; color: rgba(255,255,255,.88); font-size: clamp(18px, 1.35vw, 22px); font-weight: 500; line-height: 1.5; text-wrap: pretty; }
.prove-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.prove-hero .prove-button--ghost { border: 0; background: var(--prove-white); color: var(--prove-mineral); }
.prove-hero .prove-button--ghost:hover { background: #f3f5f4; color: var(--prove-mineral); }
.prove-hero__explore { position: absolute; right: max(calc(var(--prove-gutter) - var(--prove-hero-edge)), calc((100vw - var(--prove-container)) * .5 - var(--prove-hero-edge))); bottom: 28px; display: inline-flex; min-height: 44px; align-items: center; gap: 10px; color: rgba(255,255,255,.82); font-size: 13px; font-weight: 700; text-decoration: none; }
.prove-hero__explore span { color: var(--prove-flora); font-size: 18px; }

/* Shared section structure */
.prove-home-section { padding-block: var(--prove-section-y); }
.prove-section-heading--split { display: grid; margin-bottom: clamp(48px, 5vw, 64px); grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr); align-items: end; gap: clamp(40px, 5vw, 64px); }
.prove-about h2, .prove-impact h2, .prove-map-section h2, .prove-method h2, .prove-news h2, .prove-cta-section h2 {
	max-width: 22ch;
	margin: 0;
	font-size: clamp(36px, 4.6vw, 64px);
	font-weight: 800;
	line-height: .98;
	letter-spacing: -.04em;
	text-wrap: balance;
	hyphens: none;
}
.prove-section-heading--split > p { max-width: 62ch; margin: 0; color: var(--prove-text-muted); font-size: clamp(16px, calc(.4vw + 15px), 18px); line-height: 1.6; text-wrap: pretty; }

/* About */
.prove-about { background: var(--prove-white); }
.prove-about__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; gap: clamp(48px, 7vw, 104px); }
.prove-about__visual {
	width: min(100%, 600px);
	min-width: 0;
	height: clamp(520px, 48vw, 680px);
	min-height: 0;
	align-self: center;
}
.prove-about-marquee {
	--prove-about-marquee-gap: clamp(16px, 1.6vw, 24px);
	--prove-about-marquee-item-height: clamp(220px, 20vw, 292px);
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 0;
	overflow: hidden;
	border-radius: 0;
	background: var(--prove-white);
}
.prove-about-marquee__viewport {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 0;
	overflow: hidden;
	contain: layout paint;
	border-radius: 0;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 9%, #000 91%, transparent 100%);
	mask-image: linear-gradient(to bottom, transparent 0, #000 9%, #000 91%, transparent 100%);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
}
.prove-about-marquee__track {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	width: 100%;
	flex-direction: column;
	transform: translate3d(0, 0, 0);
	will-change: transform;
}
.prove-about-marquee__group {
	display: grid;
	width: 100%;
	flex: 0 0 auto;
	gap: var(--prove-about-marquee-gap);
	padding-bottom: var(--prove-about-marquee-gap);
}
.prove-about-marquee__item {
	position: relative;
	width: 100%;
	height: var(--prove-about-marquee-item-height);
	margin: 0;
	overflow: hidden;
	border-radius: var(--prove-radius-lg);
	background: var(--prove-surface-muted);
}
.prove-about-marquee__image,
.prove-about-marquee__item > .prove-media-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	border-radius: inherit;
}
.prove-about-marquee__image {
	object-fit: cover;
	object-position: center;
}
.prove-about-marquee__placeholder {
	background: var(--prove-surface-muted);
}
.prove-about-marquee__pause {
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 4;
	display: inline-grid;
	width: 44px;
	height: 44px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: var(--prove-radius-pill);
	background: var(--prove-mineral);
	color: var(--prove-white);
	cursor: pointer;
	transition: transform var(--prove-duration-ui) var(--prove-ease), background-color var(--prove-duration-ui) var(--prove-ease);
}
.prove-about-marquee__pause:hover { transform: translateY(-1px); }
.prove-about-marquee__pause:focus-visible { outline: 3px solid var(--prove-flora); outline-offset: 3px; }
.prove-about-marquee__pause svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.prove-about-marquee__play-icon { display: none; }
.prove-about-marquee.is-paused .prove-about-marquee__pause-icon { display: none; }
.prove-about-marquee.is-paused .prove-about-marquee__play-icon { display: block; }

.prove-media-frame { position: relative; overflow: hidden; border-radius: var(--prove-radius-lg); background: var(--prove-surface-muted); }
.prove-media-frame--portrait { aspect-ratio: 4 / 5; }
.prove-media-frame__image { width: 100%; height: 100%; object-fit: cover; transition: transform var(--prove-duration-ui) var(--prove-ease); }
.prove-media-frame:hover .prove-media-frame__image { transform: scale(1.02); }
.prove-about__copy { max-width: 720px; }
.prove-about__copy > p:not(.prove-section-label) { max-width: 60ch; margin: 28px 0 0; color: var(--prove-text-muted); font-size: clamp(16px, calc(.4vw + 15px), 18px); line-height: 1.6; text-wrap: pretty; }
.prove-about__copy .prove-text-link { margin-top: 28px; }

/* Impact — editorial Bento grid */
.prove-impact { background: var(--prove-bg-soft); }
.prove-impact-bento {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-auto-rows: minmax(220px, auto);
	gap: 20px;
}
.prove-metric-card,
.prove-impact-cta {
	min-width: 0;
	min-height: 220px;
	border: 0;
	border-radius: var(--prove-radius-lg);
}
.prove-metric-card {
	display: flex;
	padding: clamp(24px, 2.4vw, 36px);
	overflow: hidden;
	flex-direction: column;
	justify-content: space-between;
	color: var(--prove-mineral);
	transition: transform var(--prove-duration-ui) var(--prove-ease);
}
.prove-metric-card:hover,
.prove-impact-cta:hover { transform: translateY(-3px); }
.prove-metric-card--feature { grid-column: 1 / 8; grid-row: 1 / 3; min-height: 460px; }
.prove-metric-card--stack-a { grid-column: 8 / 13; grid-row: 1 / 2; }
.prove-metric-card--stack-b { grid-column: 8 / 13; grid-row: 2 / 3; }
.prove-metric-card--wide { grid-column: 1 / 7; grid-row: 3 / 4; min-height: 250px; }
.prove-impact-cta { grid-column: 7 / 13; grid-row: 3 / 4; }
.prove-metric-card__topline {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}
.prove-metric-card__index {
	font-size: 19px;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1;
}
.prove-metric-card__icon {
	width: clamp(40px, 4vw, 58px);
	height: clamp(40px, 4vw, 58px);
	flex: 0 0 auto;
	background: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}
.prove-metric-card__icon--meals { -webkit-mask-image: url('../svg/impact/meals.svg'); mask-image: url('../svg/impact/meals.svg'); }
.prove-metric-card__icon--health { -webkit-mask-image: url('../svg/impact/heart.svg'); mask-image: url('../svg/impact/heart.svg'); }
.prove-metric-card__icon--education { -webkit-mask-image: url('../svg/impact/education.svg'); mask-image: url('../svg/impact/education.svg'); }
.prove-metric-card__icon--community { -webkit-mask-image: url('../svg/impact/community.svg'); mask-image: url('../svg/impact/community.svg'); }
.prove-metric-card__content {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
}
.prove-metric-card__value {
	display: grid;
	min-width: 0;
	max-width: 100%;
	gap: 5px;
	font-weight: 800;
	letter-spacing: -.045em;
	line-height: .94;
	text-wrap: balance;
	hyphens: none;
}
.prove-metric-card__value-prefix {
	display: block;
	font-size: clamp(18px, 1.4vw, 22px);
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.05;
	text-wrap: balance;
}
.prove-metric-card__value-main {
	display: block;
	max-width: 100%;
	font-size: clamp(48px, 5.2vw, 76px);
	line-height: .9;
	word-break: normal;
	overflow-wrap: normal;
	text-wrap: balance;
}
.prove-metric-card--feature .prove-metric-card__value-main { font-size: clamp(64px, 7.4vw, 108px); }
.prove-metric-card--feature.prove-metric-card--value-medium .prove-metric-card__value-main { font-size: clamp(56px, 6.4vw, 92px); }
.prove-metric-card--feature.prove-metric-card--value-long .prove-metric-card__value-main { font-size: clamp(46px, 5.3vw, 76px); }
.prove-metric-card--value-medium:not(.prove-metric-card--feature) .prove-metric-card__value-main { font-size: clamp(42px, 4.3vw, 62px); }
.prove-metric-card--value-long:not(.prove-metric-card--feature) .prove-metric-card__value-main { font-size: clamp(34px, 3.6vw, 52px); line-height: .94; }
.prove-metric-card h3 {
	max-width: 34ch;
	margin: 22px 0 0;
	font-size: clamp(19px, .55vw + 17px, 22px);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.015em;
	text-wrap: pretty;
}
.prove-metric-card__context {
	display: inline-flex;
	margin-top: 18px;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.15;
}
.prove-metric-card--flora { background: var(--prove-flora); color: var(--prove-mineral); }
.prove-metric-card--agua { background: var(--prove-agua); color: var(--prove-white); }
.prove-metric-card--sol { background: var(--prove-sol); color: var(--prove-mineral); }
.prove-metric-card--mineral { background: var(--prove-mineral); color: var(--prove-white); }
.prove-impact-cta {
	display: flex;
	padding: clamp(28px, 3vw, 40px);
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	background: var(--prove-terra);
	color: var(--prove-white);
	font-size: clamp(26px, 2.6vw, 38px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -.035em;
	text-decoration: none;
	text-wrap: balance;
	transition: transform var(--prove-duration-ui) var(--prove-ease), background-color var(--prove-duration-ui) ease;
}
.prove-impact-cta > span { max-width: 18ch; }
.prove-impact-cta .prove-icon { width: 30px; height: 30px; flex: 0 0 auto; transition: transform var(--prove-duration-ui) var(--prove-ease); }
.prove-impact-cta:hover .prove-icon { transform: translate(3px, -3px); }
.prove-impact__link { margin-top: 32px; }

/* Map */
.prove-map-section {
	display: grid;
	padding: var(--prove-section-y) max(var(--prove-gutter), calc((100vw - var(--prove-container)) / 2));
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
	align-items: center;
	gap: clamp(48px, 7vw, 96px);
	background: var(--prove-mineral);
	color: var(--prove-white);
}
.prove-map-section__copy > p:not(.prove-section-label) { max-width: 58ch; margin: 28px 0 0; color: rgba(255,255,255,.76); font-size: clamp(16px, calc(.4vw + 15px), 18px); line-height: 1.6; text-wrap: pretty; }
.prove-map-section__copy .prove-text-link { margin-top: 28px; }
.prove-text-link--light { color: var(--prove-white); }
.prove-map-section__visual { min-width: 0; }
.prove-map-canvas { position: relative; display: grid; min-height: 500px; padding: clamp(20px, 3vw, 40px); place-items: center; border: 0; border-radius: var(--prove-radius-xl); background: rgba(255,255,255,.06); }
.prove-brazil-map { display: block; width: min(100%, 560px); height: auto; overflow: visible; }
.prove-map-state { fill: var(--prove-white); fill-opacity: 1; stroke: var(--prove-mineral); stroke-width: 1.25; stroke-opacity: 1; opacity: 1; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round; }
.prove-map-state-label { position: absolute; right: 20px; bottom: 16px; margin: 0; color: rgba(255,255,255,.82); font-size: 13px; font-weight: 700; }
.prove-territory-list { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 20px 0 0; padding: 0; list-style: none; }
.prove-territory-list li { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.78); font-size: 14px; }
.prove-territory-list li span { display: inline-grid; min-width: 34px; min-height: 28px; padding: 0 6px; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: var(--prove-radius-sm); color: var(--prove-flora); font-size: 11px; font-weight: 700; }

/* Methodology */
.prove-method { background: var(--prove-white); }
.prove-method__layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr); align-items: stretch; gap: 24px; }
.prove-support-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 16px; }
.prove-capability-card { display: flex; min-height: 142px; padding: 26px; flex-direction: column; justify-content: space-between; border: 0; border-radius: var(--prove-radius-md); background: var(--prove-bg-soft); }
.prove-implementation-card__icon {
	display: block;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	/* Same approved muted appearance, composited into an opaque color so Lucide stroke crossings do not darken. */
	color: rgb(107 118 126);
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	opacity: 1;
	fill-opacity: 1;
	stroke-opacity: 1;
	mix-blend-mode: normal;
	filter: none;
	shape-rendering: geometricPrecision;
	overflow: visible;
}
.prove-implementation-card__icon * {
	opacity: 1;
	fill-opacity: 1;
	stroke-opacity: 1;
	mix-blend-mode: normal;
	filter: none;
}
.prove-capability-card h3 { max-width: 24ch; margin: 24px 0 0; font-size: clamp(20px, 1.3vw, 24px); font-weight: 700; line-height: 1.18; letter-spacing: -.02em; text-wrap: balance; }
.prove-method__media {
	position: relative;
	min-height: 0;
	overflow: hidden;
	border-radius: var(--prove-radius-lg);
	background: var(--prove-surface-muted);
}
.prove-method__media > .prove-media-frame,
.prove-method__media > .prove-media-placeholder,
.prove-method__media > .prove-method__video {
	width: 100%;
	height: 100%;
	min-height: 100%;
	aspect-ratio: auto;
	border-radius: inherit;
}
.prove-method__video {
	display: block;
	object-fit: cover;
	object-position: 50% 48%;
	background: var(--prove-surface-muted);
}
.prove-method__video-placeholder { margin: 0; }
.prove-method__free {
	position: absolute;
	z-index: 2;
	right: 20px;
	bottom: 20px;
	left: 20px;
	margin: 0;
	padding: 14px 18px;
	border-radius: var(--prove-radius-md);
	background: var(--prove-flora);
	color: var(--prove-mineral);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
}
.prove-method-grid-cta {
	display: flex;
	min-height: 142px;
	padding: 26px;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	border: 0;
	border-radius: var(--prove-radius-md);
	background: var(--prove-mineral);
	color: var(--prove-white);
	font-size: clamp(20px, 1.3vw, 24px);
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: -.02em;
	text-decoration: none;
	text-wrap: balance;
	transition: background-color var(--prove-duration-ui) ease, transform var(--prove-duration-ui) var(--prove-ease);
}
.prove-method-grid-cta span { max-width: 16ch; }
.prove-method-grid-cta .prove-icon { width: 24px; height: 24px; }
.prove-method-grid-cta:hover { background: var(--prove-flora); color: var(--prove-mineral); transform: translateY(-2px); }

/* News / publications */
.prove-news { background: var(--prove-bg-soft); }
.prove-news__heading {
	display: grid;
	margin-bottom: clamp(44px, 5vw, 68px);
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 32px 56px;
}
.prove-news__heading-copy { min-width: 0; }
.prove-news h2 { max-width: 17ch; }
.prove-news__intro {
	max-width: 62ch;
	margin: 24px 0 0;
	color: var(--prove-text-muted);
	font-size: clamp(16px, calc(.4vw + 15px), 18px);
	line-height: 1.6;
	text-wrap: pretty;
}
.prove-news__all {
	align-self: end;
	margin-bottom: 4px;
	white-space: nowrap;
}
.prove-news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
	gap: clamp(24px, 2.4vw, 36px);
}
.prove-news-card { min-width: 0; }
.prove-news-card__media {
	display: flex;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 4 / 3;
	align-items: center;
	justify-content: center;
	border-radius: var(--prove-radius-lg);
	background: var(--prove-surface-muted);
	color: var(--prove-text-muted);
	text-decoration: none;
}
.prove-news-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--prove-duration-ui) var(--prove-ease);
}
.prove-news-card:hover .prove-news-card__media img { transform: scale(1.025); }
.prove-news-card__placeholder {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	color: var(--prove-mineral);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.prove-news-card__body {
	display: flex;
	min-height: 214px;
	padding-top: 20px;
	flex-direction: column;
}
.prove-news-card__meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px 20px;
	color: var(--prove-mineral);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.prove-news-card__category { display: inline-flex; align-items: center; gap: 8px; color: var(--prove-mineral); }
.prove-news-card__category::before { width: 6px; height: 6px; border-radius: 50%; background: var(--prove-terra); content: ""; flex: 0 0 auto; }
.prove-news-card__reading { text-align: right; white-space: nowrap; }
.prove-news-card h3 {
	max-width: 28ch;
	margin: 20px 0 24px;
	font-size: clamp(19px, 1.55vw, 24px);
	font-weight: 700;
	line-height: 1.16;
	letter-spacing: -.022em;
	text-wrap: balance;
}
.prove-news-card h3 a { color: inherit; text-decoration: none; }
.prove-news-card h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .16em; }
.prove-news-card__read {
	display: inline-flex;
	min-height: 44px;
	margin-top: auto;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	color: var(--prove-mineral);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}
.prove-news-card__read .prove-icon { width: 18px; height: 18px; transition: transform var(--prove-duration-ui) var(--prove-ease); }
.prove-news-card__read:hover { text-decoration: underline; text-underline-offset: .18em; }
.prove-news-card__read:hover .prove-icon { transform: translateX(3px); }
.prove-news-card__read--demo { color: var(--prove-mineral); cursor: default; opacity: .72; }

/* CTA */
.prove-cta-section { background: var(--prove-flora); color: var(--prove-mineral); }
.prove-cta-section__inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(300px, 4fr); align-items: end; gap: clamp(48px, 7vw, 96px); }
.prove-cta-section .prove-section-label span { color: var(--prove-mineral); }
.prove-cta-section__copy p { max-width: 56ch; margin: 0 0 28px; font-size: clamp(16px, calc(.4vw + 15px), 18px); line-height: 1.6; text-wrap: pretty; }

@media (max-width: 1199px) {
	.prove-impact-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(220px, auto); }
	.prove-metric-card--feature { grid-column: 1 / -1; grid-row: auto; min-height: 340px; }
	.prove-metric-card--stack-a,
	.prove-metric-card--stack-b,
	.prove-metric-card--wide,
	.prove-impact-cta { grid-column: auto; grid-row: auto; min-height: 240px; }
	.prove-metric-card--feature .prove-metric-card__value-main { font-size: clamp(58px, 8vw, 88px); }
	.prove-metric-card--feature.prove-metric-card--value-medium .prove-metric-card__value-main { font-size: clamp(50px, 7vw, 76px); }
	.prove-metric-card--feature.prove-metric-card--value-long .prove-metric-card__value-main { font-size: clamp(42px, 6vw, 64px); }
	.prove-map-section { grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr); }
}

@media (max-width: 1020px) {
	.prove-about__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
	.prove-about__visual { width: 100%; height: clamp(500px, 60vw, 620px); min-height: 0; }
	.prove-about-marquee { --prove-about-marquee-item-height: clamp(200px, 24vw, 250px); --prove-about-marquee-duration: 48s; }
	.prove-map-section { grid-template-columns: 1fr; }
	.prove-map-section__visual { width: min(100%, 720px); }
	.prove-method__layout { grid-template-columns: 1fr; gap: 32px; }
	.prove-method__media { width: min(100%, 560px); min-height: 0; aspect-ratio: 4 / 5; }
	.prove-method__media > .prove-media-frame,
	.prove-method__media > .prove-media-placeholder,
	.prove-method__media > .prove-method__video { height: 100%; min-height: 0; aspect-ratio: auto; }
	.prove-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.prove-news-card:nth-child(3):last-child {
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
		align-items: stretch;
		gap: 28px;
	}
	.prove-news-card:nth-child(3):last-child .prove-news-card__media { height: 100%; min-height: 280px; aspect-ratio: auto; }
	.prove-news-card:nth-child(3):last-child .prove-news-card__body { min-height: 280px; padding-top: 8px; }
}

@media (max-width: 767px) {
	.prove-hero-shell { --prove-hero-edge: 0px; width: 100%; margin: 0; padding: 0; }
	.prove-hero {
		min-height: max(760px, 100svh);
		border-radius: 0;
		background: var(--prove-mineral);
	}
	.prove-hero > .prove-global-header--hero { flex: 0 0 auto; }
	.prove-hero__content {
		width: min(calc(100vw - (2 * var(--prove-gutter))), var(--prove-container));
		margin: 0 auto;
		padding: 44px 0 86px;
		align-items: center;
		flex: 1 1 auto;
	}
	.prove-hero__media {
		position: absolute;
		z-index: -3;
		inset: 0;
		width: 100%;
		height: 100%;
		min-height: 0;
	}
	.prove-hero__image,
	.prove-hero__media > video,
	.prove-hero__media > picture,
	.prove-hero__media > picture > img,
	.prove-hero__media .prove-video,
	.prove-hero__media .prove-video video { width: 100%; height: 100%; }
	.prove-hero__media > video,
	.prove-hero__media .prove-video,
	.prove-hero__image { position: absolute; inset: 0; }
	.prove-hero__image,
	.prove-hero__media > video,
	.prove-hero__media > picture > img,
	.prove-hero__media .prove-video video { object-fit: cover; object-position: var(--prove-media-position-mobile, center center); }
	.prove-hero__overlay {
		display: block;
		background:
			linear-gradient(
				180deg,
				rgba(10, 18, 23, .70) 0,
				rgba(10, 18, 23, .48) 66px,
				rgba(10, 18, 23, .20) 116px,
				rgba(10, 18, 23, 0) 176px
			),
			linear-gradient(
				180deg,
				rgba(10, 18, 23, .28) 20%,
				rgba(10, 18, 23, .12) 44%,
				rgba(10, 18, 23, 0) 68%
			);
	}
	.prove-hero h1 { text-shadow: 0 1px 2px rgba(8,14,18,.72), 0 3px 10px rgba(8,14,18,.26); }
	.prove-hero__copy .prove-eyebrow { text-shadow: 0 1px 1px rgba(8,14,18,.72); }
	.prove-hero__description { text-shadow: 0 1px 2px rgba(8,14,18,.66); }
	.prove-hero__actions .prove-button { box-shadow: none; }
	.prove-hero__actions .prove-button--ghost { text-shadow: none; }
	.prove-hero h1 { max-width: 15ch; font-size: clamp(44px, 13vw, 62px); }
	.prove-hero__description { margin-top: 22px; font-size: 17px; }
	.prove-hero__actions { align-items: stretch; flex-direction: column; }
	.prove-hero__actions .prove-button { width: 100%; }
	.prove-hero__explore { z-index: 2; right: calc(var(--prove-gutter) - var(--prove-hero-edge)); bottom: 16px; }
	.prove-home-section { padding-block: clamp(72px, 18vw, 96px); }
	.prove-section-heading--split { grid-template-columns: 1fr; align-items: start; gap: 28px; }
	.prove-about__grid { grid-template-columns: 1fr; gap: 40px; }
	.prove-about__visual { width: min(100%, 560px); height: clamp(360px, 104vw, 460px); min-height: 0; }
	.prove-about-marquee {
		--prove-about-marquee-gap: 14px;
		--prove-about-marquee-item-height: clamp(164px, 48vw, 210px);
		height: 100%;
		min-height: 0;
		border-radius: 0;
	}
	.prove-about-marquee__viewport {
		-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 7%, #000 93%, transparent 100%);
		mask-image: linear-gradient(to bottom, transparent 0, #000 7%, #000 93%, transparent 100%);
	}
	.prove-about-marquee__pause { right: 12px; bottom: 12px; }
	.prove-about__copy { max-width: none; }
	.prove-impact-bento { grid-template-columns: 1fr; grid-auto-rows: auto; gap: 16px; }
	.prove-metric-card--feature,
	.prove-metric-card--stack-a,
	.prove-metric-card--stack-b,
	.prove-metric-card--wide,
	.prove-impact-cta { grid-column: 1; grid-row: auto; min-height: 230px; }
	.prove-metric-card { padding: 26px; }
	.prove-metric-card--feature { min-height: 300px; }
	.prove-metric-card__icon { width: 44px; height: 44px; }
	.prove-metric-card__value-main,
	.prove-metric-card--feature .prove-metric-card__value-main { font-size: clamp(46px, 14vw, 66px); }
	.prove-metric-card--value-medium:not(.prove-metric-card--feature) .prove-metric-card__value-main,
	.prove-metric-card--feature.prove-metric-card--value-medium .prove-metric-card__value-main { font-size: clamp(40px, 12vw, 56px); }
	.prove-metric-card--value-long:not(.prove-metric-card--feature) .prove-metric-card__value-main,
	.prove-metric-card--feature.prove-metric-card--value-long .prove-metric-card__value-main { font-size: clamp(34px, 10vw, 48px); }
	.prove-metric-card h3 { margin-top: 18px; }
	.prove-impact-cta { min-height: 190px; padding: 28px 26px; font-size: clamp(25px, 8vw, 34px); }
	.prove-map-section { padding: clamp(72px, 18vw, 96px) var(--prove-gutter); gap: 40px; }
	.prove-map-canvas { min-height: 400px; padding: 16px; border-radius: var(--prove-radius-lg); }
	.prove-territory-list { display: grid; grid-template-columns: 1fr; }
	.prove-method__layout { grid-template-columns: 1fr; gap: 28px; }
	.prove-support-grid { grid-template-columns: 1fr; }
	.prove-capability-card,
	.prove-method-grid-cta { min-height: 128px; }
	.prove-method__media { width: min(100%, 520px); aspect-ratio: 4 / 5; }
	.prove-method__free { right: 14px; bottom: 14px; left: 14px; padding: 13px 16px; }
	.prove-news__heading { grid-template-columns: 1fr; align-items: start; gap: 24px; }
	.prove-news__all { margin-bottom: 0; justify-self: start; }
	.prove-news-grid { grid-template-columns: 1fr; gap: 36px; }
	.prove-news-card:nth-child(3):last-child { display: block; grid-column: auto; }
	.prove-news-card:nth-child(3):last-child .prove-news-card__media { height: auto; min-height: 0; aspect-ratio: 4 / 3; }
	.prove-news-card:nth-child(3):last-child .prove-news-card__body { min-height: 0; padding-top: 18px; }
	.prove-news-card__body { min-height: 0; padding-top: 18px; }
	.prove-news-card h3 { margin: 18px 0 20px; }
	.prove-cta-section__inner { grid-template-columns: 1fr; align-items: start; gap: 36px; }
	.prove-cta-section .prove-button { width: 100%; }
}

@media (max-width: 480px) {
	.prove-map-canvas { min-height: 340px; }
	.prove-hero__content { width: calc(100vw - (2 * var(--prove-gutter))); padding-inline: 0; }
}

@media (hover: none) {
	.prove-media-frame:hover .prove-media-frame__image,
	.prove-news-card:hover .prove-news-card__media img,
	.prove-button:hover,
	.prove-method-grid-cta:hover { transform: none; }
}



/* 0.4.5 — local project photography keeps the existing Home media geometry. */
.prove-about-marquee__item .prove-project-photo__image,
.prove-news-card__media .prove-project-photo__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--prove-media-position, center center);
}
@media (max-width: 767px) {
	.prove-about-marquee__item .prove-project-photo__image,
	.prove-news-card__media .prove-project-photo__image {
		object-position: var(--prove-media-position-mobile, var(--prove-media-position, center center));
	}
}



/* 0.4.6 — real Home video treatment and square outer marquee shell. */
.prove-hero__video { display:block; width:100%; height:100%; object-fit:cover; object-position:var(--prove-media-position, 50% 48%); background:var(--prove-mineral); }
.prove-about-marquee,
.prove-about-marquee__viewport { border-radius:0; }
@media (max-width: 767px) {
	.prove-hero__video { object-position:var(--prove-media-position-mobile, 50% 50%); }
	.prove-method__video { object-position:50% 48%; }
}

/* 0.5.0 — photos use the shared media radius; marquee viewport remains deliberately square. */
.prove-media-frame { border-radius: var(--prove-media-radius); }
.prove-about-marquee, .prove-about-marquee__viewport { border-radius: 0; }
.prove-about-marquee__item,
.prove-news-card__media { border-radius: var(--prove-media-radius); }
/* The moving marquee shell remains intentionally square; only its individual photographs are rounded. */
.prove-about-marquee,
.prove-about-marquee__viewport { border-radius: 0; }

/* 0.5.44 — Notícias: sem conteúdos demonstrativos. */
.prove-news-empty {
	grid-column: 1 / -1;
	padding: clamp(26px, 3vw, 38px);
	border-radius: var(--prove-radius-lg);
	background: var(--prove-bg-soft);
	color: var(--prove-mineral);
}
.prove-news-empty p { margin: 0; max-width: 54ch; font-size: 17px; line-height: 1.6; }


/* 0.5.47 — Notícias externas sem miniatura local usam imagem remota em fallback. */
.prove-news-card__media .prove-news-remote-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* 0.5.52 — Home: títulos de notícias menores, mantendo alinhamento entre cards. */
.prove-news-grid { align-items: stretch; }
.prove-news-card {
	display: flex;
	height: 100%;
	flex-direction: column;
}
.prove-news-card__media { flex: 0 0 auto; }
.prove-news-card__body {
	flex: 1 1 auto;
}
.prove-news-card__meta { min-height: 30px; }
.prove-news-card h3 {
	min-height: calc(1.16em * 4);
}
@media (max-width: 1020px) {
	.prove-news-card h3 { min-height: calc(1.16em * 4); }
}
@media (max-width: 767px) {
	.prove-news-card__meta,
	.prove-news-card h3 { min-height: 0; }
}


/* 0.5.54 — Cards de notícias da home alinhados ao visual da biblioteca. */
.prove-news-grid {
	align-items: stretch;
}
.prove-news-card--library {
	display: flex;
	height: 100%;
	min-width: 0;
	flex-direction: column;
	border-radius: var(--prove-radius-lg);
	background: var(--prove-bg-soft);
	overflow: hidden;
}
.prove-news-card--library .prove-library-card__media {
	display: block;
	flex: 0 0 auto;
	aspect-ratio: 4 / 3;
	background: #ecece7;
}
.prove-news-card--library .prove-library-card__image,
.prove-news-card--library .prove-news-remote-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.prove-news-card--library .prove-library-card__placeholder {
	background: var(--prove-agua);
}
.prove-news-card--library .prove-library-card__body {
	display: flex;
	min-height: 270px;
	flex: 1 1 auto;
	flex-direction: column;
	padding: clamp(22px, 2.6vw, 30px);
}
.prove-news-card--library .prove-library-card__meta {
	min-height: 18px;
}
.prove-news-card--library h3 {
	margin: 0 0 14px;
	font-size: clamp(23px, 1.7vw, 29px);
	line-height: 1.06;
	letter-spacing: -.035em;
	text-wrap: balance;
}
.prove-news-card--library p {
	margin: 0 0 24px;
	color: rgba(53,68,78,.84);
	font-size: 15px;
	line-height: 1.55;
}
.prove-news-card__title-link {
	color: inherit;
	text-decoration: none;
}
.prove-news-card__title-link:hover,
.prove-news-card__title-link:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .16em;
}
.prove-news-card--library .prove-library-card__action {
	margin-top: auto;
}
@media (min-width: 1021px) {
	.prove-news-card--library h3 {
		min-height: calc(1.06em * 4);
	}
	.prove-news-card--library p {
		min-height: calc(1.55em * 3);
	}
}
@media (max-width: 767px) {
	.prove-news-card--library .prove-library-card__body,
	.prove-news-card--library h3,
	.prove-news-card--library p {
		min-height: 0;
	}
}


/* 0.5.55 — Normalização definitiva dos cards de notícias da Home. */
.prove-news .prove-news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: clamp(24px, 2.4vw, 36px);
}
.prove-news .prove-news-card--library {
	display: flex;
	height: 100%;
	min-width: 0;
	flex-direction: column;
	border: 0;
	border-radius: var(--prove-radius-lg);
	background: var(--prove-white);
	color: var(--prove-mineral);
	overflow: hidden;
	box-shadow: none;
}
.prove-news .prove-news-card--library .prove-library-card__media {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	flex: 0 0 auto;
	border-radius: 0;
	background: #ecece7;
	overflow: hidden;
}
.prove-news .prove-news-card--library .prove-library-card__image,
.prove-news .prove-news-card--library .prove-news-remote-image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	transition: transform var(--prove-duration-ui) var(--prove-ease);
}
.prove-news .prove-news-card--library:hover .prove-library-card__image,
.prove-news .prove-news-card--library:hover .prove-news-remote-image {
	transform: scale(1.02);
}
.prove-news .prove-news-card--library .prove-library-card__placeholder {
	position: absolute;
	inset: 0;
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	background: var(--prove-agua);
	color: var(--prove-white);
}
.prove-news .prove-news-card--library .prove-library-card__placeholder span {
	display: grid;
	width: 58px;
	height: 58px;
	place-items: center;
	border-radius: 50%;
	background: var(--prove-sol);
	color: var(--prove-mineral);
}
.prove-news .prove-news-card--library .prove-library-card__placeholder svg {
	width: 25px;
	height: 25px;
}
.prove-news .prove-news-card--library .prove-library-card__body {
	display: flex;
	min-height: 250px;
	padding: clamp(22px, 2.6vw, 30px);
	flex: 1 1 auto;
	flex-direction: column;
}
.prove-news .prove-news-card--library .prove-library-card__meta {
	display: flex;
	min-height: 18px;
	gap: 8px 14px;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 18px;
	color: rgba(53,68,78,.72);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .075em;
	text-transform: uppercase;
}
.prove-news .prove-news-card--library .prove-library-card__meta span + span::before {
	content: "•";
	margin-right: 14px;
	color: var(--prove-flora);
}
.prove-news .prove-news-card--library h3 {
	min-height: calc(1.08em * 4);
	margin: 0 0 18px;
	font-size: clamp(20px, 1.45vw, 25px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.03em;
	text-wrap: balance;
}
.prove-news .prove-news-card--library .prove-news-card__title-link {
	color: inherit;
	text-decoration: none;
}
.prove-news .prove-news-card--library .prove-library-card__action {
	display: inline-flex;
	width: fit-content;
	gap: 9px;
	align-items: center;
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid rgba(53,68,78,.16);
	color: var(--prove-mineral);
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}
.prove-news .prove-news-card--library .prove-library-card__action svg {
	width: 16px;
	height: 16px;
	transition: transform 180ms ease;
}
.prove-news .prove-news-card--library .prove-library-card__action:hover svg,
.prove-news .prove-news-card--library .prove-library-card__action:focus-visible svg {
	transform: translate(3px, -2px);
}
@media (max-width: 1020px) {
	.prove-news .prove-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.prove-news .prove-news-card:nth-child(3):last-child {
		display: flex;
		grid-column: auto;
		grid-template-columns: none;
		gap: 0;
	}
}
@media (max-width: 767px) {
	.prove-news .prove-news-grid { grid-template-columns: 1fr; }
	.prove-news .prove-news-card--library .prove-library-card__media { aspect-ratio: 16 / 11; }
	.prove-news .prove-news-card--library .prove-library-card__body,
	.prove-news .prove-news-card--library h3 { min-height: 0; }
}


/* 0.5.74 — Background videos nunca exibem controles/ícone nativo de play no layout. */
.prove-hero__video,
.prove-method__video {
	pointer-events:none;
}
.prove-hero__video::-webkit-media-controls,
.prove-method__video::-webkit-media-controls,
.prove-hero__video::-webkit-media-controls-start-playback-button,
.prove-method__video::-webkit-media-controls-start-playback-button {
	display:none !important;
	-webkit-appearance:none;
}
