/**
 * =========================================================
 * FELIX SYSTEMS — BASE
 * =========================================================
 */

:root {
	--fc-black: #080A08;
	--fc-black-soft: #0D100D;
	--fc-surface: #111411;
	--fc-surface-2: #151915;
	--fc-green: #B5E200;
	--fc-green-dark: #96C900;
	--fc-cream: #F7F4EC;
	--fc-cream-light: #FAF8F2;
	--fc-text-muted: #B9BDB7;
	--fc-text-dark-muted: #626760;
	--fc-border: rgba(181, 226, 0, 0.18);
	--fc-border-light: rgba(17, 20, 17, 0.11);
	--fc-radius-sm: 8px;
	--fc-radius-md: 14px;
	--fc-radius-lg: 20px;
	--fc-page-shell: 1520px;
	--fc-container: 1360px;
	--fc-gutter: clamp(1.25rem, 2.6vw, 3rem);
	--fc-section: clamp(4rem, 7vw, 6.5rem);
	--fc-font: Inter, Manrope, Geist, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

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

html {
	width: 100%;
	max-width: 100%;
	scroll-behavior: smooth;
	overflow-x: clip;
}

body {
	width: 100%;
	max-width: 100%;
	margin: 0;
	background: #040604;
	color: var(--fc-cream);
	font-family: var(--fc-font);
	font-size: 1.0625rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

img,
svg,
video { max-width: 100%; height: auto; }

a { color: var(--fc-green); text-underline-offset: 0.2em; }
a:hover { color: var(--fc-cream); }

button,
input,
textarea,
select { font: inherit; }

:focus-visible { outline: 3px solid var(--fc-green); outline-offset: 4px; }

.fc-container {
	width: 100%;
	max-width: var(--fc-container);
	margin-inline: auto;
	padding-inline: var(--fc-gutter);
}

.fc-header,
.fc-main,
.fc-footer {
	width: min(100%, var(--fc-page-shell));
	margin-inline: auto;
	border-inline: 1px solid rgba(181, 226, 0, 0.055);
	box-shadow: 0 0 80px rgba(0, 0, 0, 0.20);
}

.fc-section {
	width: 100%;
	max-width: none;
}

.fc-main { min-height: 60vh; overflow: clip; }
.fc-section { padding-block: var(--fc-section); }
.fc-section--light { background: var(--fc-cream); color: var(--fc-black); }

.fc-eyebrow {
	margin: 0 0 1rem;
	color: var(--fc-green);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

h1,
h2,
h3 { margin-top: 0; text-wrap: balance; }

h1 {
	max-width: 13ch;
	margin-bottom: 1.5rem;
	font-size: clamp(3rem, 6vw, 5.65rem);
	line-height: 0.98;
	letter-spacing: -0.055em;
}

h2 {
	margin-bottom: 1rem;
	font-size: clamp(2.1rem, 4vw, 3.8rem);
	line-height: 1.02;
	letter-spacing: -0.045em;
}

h3 {
	font-size: clamp(1.15rem, 2vw, 1.5rem);
	line-height: 1.18;
	letter-spacing: -0.02em;
}

p { max-width: 68ch; }

.fc-section-heading {
	max-width: 720px;
	margin-bottom: clamp(1.8rem, 4vw, 3.25rem);
}

.fc-section-heading p:not(.fc-eyebrow) { color: var(--fc-text-muted); }
.fc-section--light .fc-section-heading p:not(.fc-eyebrow) { color: var(--fc-text-dark-muted); }

.fc-section-heading--split {
	display: flex;
	max-width: none;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
}

[data-reveal] {
	opacity: 1;
	transform: none;
	transition: transform 180ms ease;
}


/* v0.4.1 — fluid full-width layout safeguards */
.fc-container > *,
.fc-home section,
.fc-home section > *,
.fc-header__inner > *,
.fc-footer__inner > * {
	min-width: 0;
}

