@font-face {
	font-family: "Flama Semicondensed";
	src: url("assets/flama-semicondensed-medium.woff2") format("woff2");
	font-weight: 500;
	font-display: swap;
}
@font-face {
	font-family: "Flama";
	src: url("assets/flama-book.woff2") format("woff2");
	font-weight: 400;
	font-display: swap;
}
@font-face {
	font-family: "Flama";
	src: url("assets/flama-medium.woff2") format("woff2");
	font-weight: 500;
	font-display: swap;
}

:root {
	--palette-black: #000;
	--palette-white: #fff;
	--palette-grey-100: #f2f2f2;
	--palette-grey-600: #5c5c5c;
	--palette-grey-300: #a6a6a6;
	--palette-lime: #cfff48;

	--surface: var(--palette-white);
	--surface-muted: var(--palette-grey-100);
	--surface-inverse: var(--palette-black);
	--text: var(--palette-black);
	--text-muted: var(--palette-grey-600);
	--text-inverse: var(--palette-white);
	--text-inverse-muted: var(--palette-grey-300);
	--focus: var(--palette-lime);
	--surface-hover: var(--palette-grey-300);
	--action-hover: var(--palette-lime);
	--text-on-action-hover: var(--palette-black);

	--font-display: "Flama Semicondensed", "Arial Narrow", sans-serif;
	--font-text: "Flama", "Helvetica Neue", sans-serif;

	--space-xs: 0.5rem;
	--space-s: 1rem;
	--space-m: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	--space-l: clamp(2.5rem, 1.5rem + 4vw, 5rem);
	--gutter: clamp(1rem, 0.5rem + 3vw, 3rem);
	--measure: 40rem;
	--max: 80rem;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--surface);
	color: var(--text);
	font-family: var(--font-text);
	font-size: 1.0625rem;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-underline-offset: 0.2em;
}

a:focus-visible {
	outline: 3px solid var(--focus);
	outline-offset: 3px;
}

.intro {
	background: var(--surface-inverse);
	color: var(--text-inverse);
	padding: var(--space-l) var(--gutter);
}

.intro__inner {
	max-width: var(--max);
	margin: 0 auto;
}

.intro__logo {
	width: 6rem;
	margin-bottom: var(--space-l);
}

.intro__eyebrow {
	margin: 0 0 var(--space-xs);
	font-family: var(--font-display);
	font-size: 0.9375rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text-inverse-muted);
}

.intro__title {
	margin: 0 0 var(--space-m);
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(2.75rem, 1.5rem + 6vw, 6.5rem);
	line-height: 0.95;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	max-width: 12ch;
}

.intro__text {
	max-width: var(--measure);
}

.intro__text p {
	margin: 0 0 var(--space-s);
}

.intro__text strong {
	font-weight: 500;
}

.intro__note {
	margin: var(--space-m) 0 0;
	font-size: 0.9375rem;
	color: var(--text-inverse-muted);
}

.propostas {
	max-width: var(--max);
	margin: 0 auto;
	padding: var(--space-l) var(--gutter);
	display: grid;
	gap: var(--space-l);
}

.proposta {
	display: grid;
	gap: var(--space-m);
	align-items: center;
}

@media (min-width: 60rem) {
	.proposta {
		grid-template-columns: 3fr 2fr;
	}
}

.proposta__imagens {
	display: grid;
	grid-template-columns: 3fr 1fr;
	gap: var(--space-xs);
	align-items: end;
	padding: var(--space-s);
	background: var(--surface-muted);
	transition: background-color 0.2s ease;
}

.proposta__imagens:hover {
	background: var(--surface-hover);
}

.proposta__imagens img {
	width: 100%;
	box-shadow: 0 1px 3px rgb(0 0 0 / 0.15);
}

.proposta__nome {
	margin: 0 0 var(--space-xs);
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(1.75rem, 1.25rem + 2vw, 2.75rem);
	line-height: 1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.proposta__texto p {
	margin: 0 0 var(--space-s);
	max-width: var(--measure);
}

.proposta__links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-xs) var(--space-s);
}

.proposta__links a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0 var(--space-s);
	background: var(--surface-inverse);
	color: var(--text-inverse);
	font-family: var(--font-display);
	font-size: 0.9375rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.proposta__links a + a {
	background: transparent;
	color: var(--text);
	box-shadow: inset 0 0 0 2px var(--text);
}

.proposta__links a:hover {
	background: var(--action-hover);
	color: var(--text-on-action-hover);
	box-shadow: none;
}

.rodape {
	padding: var(--space-m) var(--gutter);
	border-top: 1px solid var(--surface-muted);
	font-size: 0.9375rem;
	color: var(--text-muted);
	text-align: center;
}

.rodape p {
	margin: 0;
}

@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
	}
}

@media (min-width: 60rem) {
	.intro__inner {
		display: grid;
		grid-template-columns: 1fr minmax(0, var(--measure));
		column-gap: var(--space-l);
		align-items: end;
	}

	.intro__logo,
	.intro__eyebrow {
		grid-column: 1 / -1;
	}

	.intro__title {
		margin-bottom: 0;
		grid-row: 3;
	}

	.intro__text {
		grid-column: 2;
		grid-row: 3;
	}
}
