/**
 * =========================================================
 * FELIX SYSTEMS — GLOBAL COMPONENTS
 * =========================================================
 */

.fc-skip-link {
	position: absolute;
	z-index: 9999;
	top: 0;
	left: 0;
	transform: translateY(-120%);
	padding: 0.75rem 1rem;
	background: var(--fc-green);
	color: var(--fc-black);
	font-weight: 800;
}
.fc-skip-link:focus { transform: translateY(0); }

.fc-header {
	position: sticky;
	z-index: 100;
	top: 0;
	border-bottom: 1px solid var(--fc-border);
	background: rgba(8, 10, 8, 0.92);
	backdrop-filter: blur(16px);
}

.fc-header__inner {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto auto;
	min-height: 82px;
	align-items: center;
	gap: clamp(1rem, 3vw, 2rem);
}

.fc-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	color: var(--fc-cream);
	text-decoration: none;
}

.fc-brand__mark {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border: 1px solid var(--fc-border);
	border-radius: 10px;
	background: rgba(181, 226, 0, 0.07);
	color: var(--fc-green);
	font-size: 0.8rem;
	font-weight: 900;
	letter-spacing: -0.08em;
}

.fc-brand__copy { display: flex; flex-direction: column; min-width: 0; }
.fc-brand__name { color: var(--fc-cream); font-size: 1rem; font-weight: 800; letter-spacing: 0.04em; }
.fc-brand__tagline { color: var(--fc-text-muted); font-size: 0.68rem; letter-spacing: 0.11em; text-transform: uppercase; }

.fc-nav-toggle {
	display: none;
	align-items: center;
	gap: 0.6rem;
	border: 1px solid var(--fc-border);
	border-radius: var(--fc-radius-sm);
	background: transparent;
	color: var(--fc-cream);
	padding: 0.65rem 0.85rem;
}

.fc-nav-toggle__icon,
.fc-nav-toggle__icon::before,
.fc-nav-toggle__icon::after {
	display: block;
	width: 18px;
	height: 1px;
	background: currentColor;
	content: "";
}
.fc-nav-toggle__icon { position: relative; }
.fc-nav-toggle__icon::before { position: absolute; top: -5px; }
.fc-nav-toggle__icon::after { position: absolute; top: 5px; }

.fc-nav__list,
.fc-footer__nav {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 1.7vw, 1.5rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.fc-nav a,
.fc-footer a {
	position: relative;
	color: var(--fc-cream);
	font-size: 0.96rem;
	text-decoration: none;
}

.fc-nav a::after {
	position: absolute;
	right: 0;
	bottom: -8px;
	left: 0;
	height: 1px;
	transform: scaleX(0);
	background: var(--fc-green);
	content: "";
	transform-origin: left;
	transition: transform 180ms ease;
}
.fc-nav a:hover::after,
.fc-nav .current-menu-item > a::after { transform: scaleX(1); }
.fc-nav a:hover,
.fc-nav .current-menu-item > a { color: var(--fc-green); }

.fc-button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	border: 1px solid var(--fc-green);
	border-radius: 9px;
	background: var(--fc-green);
	color: var(--fc-black);
	padding: 0.78rem 1.2rem;
	font-size: 0.86rem;
	font-weight: 850;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}
.fc-button:hover { transform: translateY(-1px); background: var(--fc-cream); color: var(--fc-black); }
.fc-button--ghost { background: transparent; color: var(--fc-cream); }
.fc-button--ghost:hover { background: var(--fc-green); color: var(--fc-black); }
.fc-button--small { min-height: 42px; padding: 0.65rem 1rem; }

.fc-actions { display: flex; flex-wrap: wrap; gap: 0.85rem; }
.fc-text-link { color: currentColor; font-size: 0.86rem; font-weight: 800; letter-spacing: 0.06em; text-decoration: none; }
.fc-text-link:hover { color: var(--fc-green-dark); }

.fc-badge {
	display: inline-flex;
	width: fit-content;
	border: 1px solid var(--fc-border);
	border-radius: 999px;
	background: rgba(181, 226, 0, 0.07);
	color: var(--fc-green);
	padding: 0.25rem 0.55rem;
	font-size: 0.78rem;
	font-weight: 800;
}

.fc-footer {
	border-top: 1px solid var(--fc-border);
	background: #060806;
}

.fc-footer__inner {
	display: grid;
	grid-template-columns: 1.3fr 1.4fr auto;
	align-items: center;
	gap: 2rem;
	padding-block: 2rem;
}
.fc-footer__brand p,
.fc-footer__meta p { margin: 0.55rem 0 0; color: var(--fc-text-muted); font-size: 0.84rem; }
.fc-footer__meta { text-align: right; }
