/**
 * AIBM base: fonts, design tokens + shared utilities.
 *
 * Site-wide width: --aibm-container (content max-width) and --aibm-gutter
 * (side padding). Header, search band, mega menu, footer and all page
 * sections use these, so everything lines up.
 *
 * Font: Spoof (Polytype). Self-hosted, licensed web font files go in
 * assets/fonts/ with the exact names below. Until they exist, the
 * stack falls back to Inter, then system fonts.
 *
 * @package AIBM
 * @author  Sameer Ali N
 */

@font-face {
	font-family: "Spoof";
	src: url("../fonts/Spoof-Light.woff2") format("woff2");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Spoof";
	src: url("../fonts/Spoof-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Spoof";
	src: url("../fonts/Spoof-Medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Spoof";
	src: url("../fonts/Spoof-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--aibm-color-primary: #0F1396;      /* Header / brand blue */
	--aibm-color-accent: #38BDF8;       /* Active menu pill */
	--aibm-color-accent-text: #0B0BB6;  /* Active menu pill text */
	--aibm-color-text: #1f2933;
	--aibm-color-bg: #ffffff;
	--aibm-color-border: #e4e7eb;
	--aibm-font-body: "Spoof", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--aibm-container: 1340px;           /* Site-wide content max-width */
	--aibm-gutter: 40px;                /* Site-wide side padding (desktop) */
	--aibm-ease: cubic-bezier(.4, 0, .2, 1);
}

@media (max-width: 1099px) {
	:root {
		--aibm-gutter: 32px;
	}
}

@media (max-width: 767px) {
	:root {
		--aibm-gutter: 20px;
	}
}

/* Use this wrapper for every page section so widths match header/footer. */
.aibm-container {
	width: 100%;
	max-width: calc(var(--aibm-container) + var(--aibm-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--aibm-gutter);
	box-sizing: border-box;
}

.aibm-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.aibm-skip-link {
	position: absolute;
	left: 8px;
	top: -100px;
	z-index: 100000;
	padding: 8px 16px;
	background: var(--aibm-color-bg);
	color: var(--aibm-color-text);
}
.aibm-skip-link:focus { top: 8px; }

@media (prefers-reduced-motion: reduce) {
	.aibm-site *,
	.aibm-site *::before,
	.aibm-site *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}