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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--vareno-bg);
	color: var(--vareno-ink);
	font-family: var(--font-sans);
	font-size: 1rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

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

a {
	color: inherit;
	text-decoration: none;
}

.vareno-container {
	width: min(var(--container-max), 100% - var(--container-pad) * 2);
	margin-inline: auto;
}

.vareno-section {
	padding-block: var(--section-gap);
}

.vareno-hud {
	font-family: var(--font-mono);
	font-size: var(--hud-size);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--vareno-ink-muted);
}

.vareno-display-xl,
.vareno-display-lg,
.vareno-display-md {
	font-family: var(--font-serif);
	font-weight: 400;
	line-height: 0.95;
	letter-spacing: -0.03em;
	margin: 0.35em 0;
}

.vareno-display-xl { font-size: var(--display-xl); }
.vareno-display-lg { font-size: var(--display-lg); }
.vareno-display-md { font-size: var(--display-md); }

.vareno-lead {
	font-size: var(--lead-size);
	color: var(--vareno-ink-muted);
	max-width: 42ch;
}

/* Links & buttons */
.vareno-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
}

.vareno-link__arrow { transition: transform 0.25s var(--ease-out); }
.vareno-link:hover .vareno-link__arrow { transform: translateX(4px); }

.vareno-btn {
	border: 1px solid rgba(255, 255, 255, 0.2);
	padding: 0.65rem 1rem;
}

/* Hero */
.vareno-hero__grid {
	display: grid;
	gap: 2rem;
	align-items: end;
}

.vareno-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-block: 1.5rem;
}

.vareno-hero__placeholder,
.vareno-hero__media img {
	width: 100%;
	min-height: 50vh;
	object-fit: cover;
	border-radius: 2px;
	background: linear-gradient(135deg, #1a1917, #2a2620);
}

@media (min-width: 1024px) {
	.vareno-hero__grid {
		grid-template-columns: 1.1fr 0.9fr;
		min-height: calc(100vh - var(--header-height));
	}
}

/* Grids */
.vareno-project-grid {
	display: grid;
	gap: 2.5rem;
}

.vareno-project-card__link {
	display: grid;
	gap: 0.5rem;
}

.vareno-project-card__title {
	font-family: var(--font-serif);
	font-size: 1.75rem;
	margin: 0;
	letter-spacing: 0.05em;
}

.vareno-project-card__media {
	overflow: hidden;
	border-radius: 2px;
}

.vareno-project-card__media img {
	transition: transform 0.8s var(--ease-out);
}

.vareno-project-card:hover .vareno-project-card__media img {
	transform: scale(1.04);
}

.vareno-split {
	display: grid;
	gap: 2rem;
}

.vareno-service-grid,
.vareno-stats-grid,
.vareno-journal-grid,
.vareno-approach-grid {
	display: grid;
	gap: 1.5rem;
}

@media (min-width: 768px) {
	.vareno-project-grid { grid-template-columns: repeat(2, 1fr); }
	.vareno-split { grid-template-columns: 1fr 1fr; }
	.vareno-service-grid { grid-template-columns: repeat(2, 1fr); }
	.vareno-stats-grid { grid-template-columns: repeat(4, 1fr); }
	.vareno-journal-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Footer */
.vareno-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.vareno-footer__grid {
	display: grid;
	gap: 2rem;
	padding-block: 3rem;
}

.vareno-footer__links {
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.35rem;
}

.vareno-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	padding-block: 1.5rem;
	display: grid;
	gap: 0.35rem;
}

@media (min-width: 900px) {
	.vareno-footer__grid { grid-template-columns: repeat(4, 1fr); }
}

/* Forms */
.vareno-form {
	display: grid;
	gap: 1rem;
	max-width: 40rem;
	margin-block: 2rem;
}

.vareno-form label {
	display: grid;
	gap: 0.35rem;
	font-size: 0.875rem;
}

.vareno-form input,
.vareno-form select,
.vareno-form textarea {
	background: var(--vareno-bg-elevated);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: inherit;
	padding: 0.75rem;
	font: inherit;
}

.vareno-prose {
	max-width: 65ch;
}

.vareno-prose p { margin-block: 1em; }

[data-reveal].is-visible {
	opacity: 1;
	transform: none;
}
