/**
 * Jarno Security Theme - Main Stylesheet
 *
 * Color Palette:
 * - Background: #12161C
 * - Panel: #181D25 / #1F252E
 * - Text: #E8E6DF (main) / #8C93A0 (dim)
 * - Accent: #C98A3B (brass) / #4C8B82 (teal)
 * - Borders: #2A303A
 *
 * Typography:
 * - Headings: Space Grotesk (600/700)
 * - Body: IBM Plex Sans (400/500)
 * - Technical: JetBrains Mono (400/500/600)
 */

/* ROOT VARIABLES */
:root {
	--color-bg: #12161C;
	--color-panel: #181D25;
	--color-panel-2: #1F252E;
	--color-text: #E8E6DF;
	--color-dim: #8C93A0;
	--color-brass: #C98A3B;
	--color-teal: #4C8B82;
	--color-line: #2A303A;

	--font-heading: 'Space Grotesk', sans-serif;
	--font-body: 'IBM Plex Sans', sans-serif;
	--font-mono: 'JetBrains Mono', monospace;

	--spacing-xs: 8px;
	--spacing-sm: 16px;
	--spacing-md: 24px;
	--spacing-lg: 32px;
	--spacing-xl: 48px;
	--spacing-2xl: 80px;
	--spacing-3xl: 120px;

	--transition: all 0.2s ease;
	--border-radius: 6px;
	--max-width: 1160px;
}

/* ===========================
   RESET AND BASE STYLES
   =========================== */

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	background-color: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-body);
	line-height: 1.6;
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a {
	color: inherit;
	text-decoration: none;
	transition: var(--transition);
}

a:hover {
	color: var(--color-brass);
}

/* SKIP LINK (Accessibility) */
.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	background: var(--color-brass);
	color: #181205;
	padding: var(--spacing-sm);
	z-index: 100;
}

.skip-link:focus {
	top: 0;
}

/* SCREEN READER TEXT */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect( 0, 0, 0, 0 );
	white-space: nowrap;
	border-width: 0;
}

/* ===========================
   TYPOGRAPHY
   =========================== */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-heading);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

h1 {
	font-size: 2.5rem;
	margin-bottom: var(--spacing-md);
}

h2 {
	font-size: 2rem;
	margin-bottom: var(--spacing-md);
}

h3 {
	font-size: 1.3rem;
	margin-bottom: var(--spacing-md);
}

h4 {
	font-size: 1.1rem;
	margin-bottom: var(--spacing-sm);
}

p {
	margin-bottom: var(--spacing-md);
}

.mono {
	font-family: var(--font-mono);
}

/* ===========================
   LAYOUT & CONTAINER
   =========================== */

#page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

#main {
	flex: 1;
}

.wrap {
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 0 var(--spacing-lg);
	position: relative;
}

.site-container {
	max-width: 100%;
	width: 100%;
}

/* Modular CSS - Base styles for all themes */
