@font-face {
	font-family: "RoosStRegisText";
	src:
		url("/static/font/RoosStRegisText-Regular.woff2") format("woff2"),
		url("/static/font/RoosStRegisText-Regular.woff") format("woff");
	font-display: swap;
}

:root {
	--bg: #ffffff;
	--bg-soft: #f5f5f5;
	--bg-muted: #e4dbd4;
	--text: #1a1a1a;
	--muted: #7a7a7a;
	--muted-strong: #3c3c3c;
	--line: rgba(72, 72, 72, 0.24);
	--line-strong: #484848;
	--accent: #1a1a1a;
	--accent-hover: #ffd494;
	--header-max: 1140px;
	--section-max: 1140px;
	--content-narrow: 800px;
	--content-copy: 750px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--bg-soft);
	color: var(--text);
	font-family: "RoosStRegisText", sans-serif;
	font-size: 14px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

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

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

/* Page Shell */
.page-shell {
	position: relative;
	min-height: 100vh;
	background: var(--bg-soft);
}

/* Shared Layout Containers (Tailwind fallbacks) */
.section-inner,
.footer-inner {
	width: min(calc(100% - 40px), var(--section-max));
	margin: 0 auto;
}

@media (max-width: 767px) {
	.section-inner,
	.footer-inner {
		width: min(calc(100% - 28px), var(--section-max));
	}
}

/* Animations (Used in Vision and Projects) */
.reveal {
	opacity: 0;
	transform: translateY(18px);
	animation: reveal-up 640ms ease forwards;
}

.delay-1 {
	animation-delay: 70ms;
}
.delay-2 {
	animation-delay: 140ms;
}
.delay-3 {
	animation-delay: 210ms;
}
.delay-4 {
	animation-delay: 280ms;
}

@keyframes reveal-up {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 767px) {
	.reveal,
	.delay-1,
	.delay-2,
	.delay-3,
	.delay-4 {
		animation-delay: 0ms;
	}
}

/* Typography Helpers (Referenced in Astro files) */
.brand-copy {
	display: none;
}

.eyebrow {
	display: block;
	margin-bottom: 18px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	opacity: 0.92;
}

/* Legacy button fallbacks if still used */
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 55px;
	padding: 0 28px;
	background: var(--accent);
	color: #ffffff;
	border: 1px solid var(--accent);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition:
		background-color 180ms ease,
		color 180ms ease;
}

.button:hover {
	background: var(--accent-hover);
	border-color: var(--accent-hover);
	color: var(--accent);
}

.fund-table {
	width: 100%;
	border-collapse: collapse;
}

.fund-table td {
	padding: 14px 0;
	border-bottom: 1px solid var(--line);
	font-family: "RoosStRegisText", sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: var(--text);
	vertical-align: top;
}

.fund-table td:first-child {
	font-weight: 600;
	padding-right: 24px;
	white-space: nowrap;
	width: 40%;
}

.fund-table tr:last-child td {
	border-bottom: 0;
}
