/* ============================================
   GenX UAV — Industrial Precision Design Tokens
   ============================================ */

/* --- Google Fonts: Inter 400/500/600/700/900 --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&display=swap');

:root {
	/* Industrial Precision Palette */
	--genx-primary:        #002046;
	--genx-primary-hover:  #001830;
	--genx-primary-pressed:#001020;
	--genx-accent:         #ff6600;
	--genx-accent-hover:   #e55c00;
	--genx-surface:        #f5f5f0;
	--genx-surface-dark:   #001830;
	--genx-bg:             #f5f5f0;
	--genx-bg-white:       #ffffff;
	--genx-soft:           #f5f5f0;
	--genx-border:         rgba(0,32,70,0.12);
	--genx-border-solid:   #dde0e6;
	--genx-text:           #002046;
	--genx-muted:          #6b7280;
	--genx-text-inverse:   #ffffff;
	--genx-success:        #16a34a;
	--genx-warning:        #f59e0b;
	--genx-error:          #dc2626;

	/* Typography */
	--genx-font-heading: 'Inter', 'Segoe UI', sans-serif;
	--genx-font-body:    'Inter', 'Segoe UI', sans-serif;
	--genx-font-mono:    'Inter', ui-monospace, monospace;

	/* Radius */
	--genx-radius:      6px;
	--genx-radius-sm:   4px;
	--genx-radius-md:   8px;
	--genx-radius-lg:   12px;
	--genx-radius-xl:   16px;
	--genx-radius-full: 9999px;

	/* Shadows */
	--genx-shadow-sm: 0 1px 3px rgba(0,32,70,0.08);
	--genx-shadow:    0 4px 16px rgba(0,32,70,0.10);
	--genx-shadow-lg: 0 8px 32px rgba(0,32,70,0.14);
	--genx-shadow-xl: 0 16px 48px rgba(0,32,70,0.18);

	/* Layout */
	--genx-shell:       min(1440px, calc(100vw - 36px));
	--genx-section-pad: 56px;
	--genx-gutter:      18px;

	/* Aliases used by theme-override.css and front-page templates */
	--color-primary:        #002046;
	--color-primary-hover:  #001830;
	--color-accent:         #ff6600;
	--color-bg-light:       #f5f5f0;
	--color-bg-dark:        #001830;
	--color-bg-white:       #ffffff;
	--color-border:         rgba(0,32,70,0.12);
	--color-text-primary:   #002046;
	--color-text-secondary: #6b7280;
	--color-text-tertiary:  #9ca3af;
	--color-text-inverse:   #ffffff;
	--color-success:        #16a34a;
	--color-warning:        #f59e0b;
	--color-error:          #dc2626;
	--gradient-brand:       linear-gradient(135deg, #002046, #ff7627);
	--font-heading: 'Inter', sans-serif;
	--font-body:    'Inter', sans-serif;
	--sp-2:4px;  --sp-4:4px;   --sp-8:8px;   --sp-12:12px;
	--sp-16:16px;--sp-20:20px; --sp-24:24px; --sp-32:32px;
	--sp-40:40px;--sp-48:48px; --sp-64:64px; --sp-80:80px; --sp-120:120px;
	--radius-sm:4px; --radius-md:8px; --radius-lg:12px; --radius-xl:16px; --radius-full:9999px;
	--shadow-sm:0 1px 3px rgba(0,32,70,0.08);
	--shadow-md:0 4px 16px rgba(0,32,70,0.10);
	--shadow-lg:0 8px 32px rgba(0,32,70,0.14);
	--shadow-xl:0 16px 48px rgba(0,32,70,0.18);
	--max-width:1440px; --section-padding:56px; --gutter:18px;
}

/* --- Reset --- */
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }

body {
	margin: 0;
	font-family: var(--genx-font-body);
	color: var(--genx-text);
	background-color: var(--genx-surface);
	background-image: radial-gradient(circle, rgba(0,32,70,0.07) 1px, transparent 1px);
	background-size: 28px 28px;
	line-height: 1.6;
	overflow-x: hidden;
}

img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; transition:color 0.2s; }
ul,ol { list-style:none; padding:0; margin:0; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
input,select,textarea { font-family:inherit; }

h1,h2,h3,h4,h5,h6 {
	font-family: var(--genx-font-heading);
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 0 0 16px;
}

p,ul,ol,dl { margin: 0 0 16px; }

.screen-reader-text { position:absolute; left:-9999px; }
