:root {
	--color-blue: #2C396E;
	--color-red: #D82929;
	--color-gold: #E28A31;
	--color-blue-dark: #1d284d;
	--color-gray-100: #f8f9fc;
	--color-gray-300: #dfe3eb;
	--color-gray-600: #6c7689;
	--transition-fast: 0.18s ease-in-out;
	--shadow-sm: 0 2px 4px rgba(0,0,0,.08);
	--shadow-md: 0 4px 16px rgba(0,0,0,.12);
}

body {
	font-family: system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
	color: #222;
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
}

/* Navbar */
.navbar-brand span { letter-spacing: .5px; }
.nav-link { position: relative; }
.nav-link::after {
	content: "";
	position: absolute;
	left: 0; bottom: .25rem;
	width: 0; height: 2px;
	background: var(--color-gold);
	transition: width var(--transition-fast);
}
.nav-link:hover::after, .nav-link:focus::after { width: 100%; }

/* Hero */
.hero { min-height: 72vh; position: relative; }
.hero .carousel-item { min-height: 72vh; background-size: cover; background-position: center; filter: brightness(.6); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(rgba(44,57,110,.85), rgba(44,57,110,.65)); }
.hero-logo { max-height: 90px; }

/* Buttons */
.btn-theme-primary { background: var(--color-blue); color: #fff; border: 0; box-shadow: var(--shadow-sm); }
.btn-theme-primary:hover, .btn-theme-primary:focus { background: var(--color-blue-dark); color: #fff; box-shadow: var(--shadow-md); }

.btn-theme-secondary { background: var(--color-gold); color: #fff; border: 0; box-shadow: var(--shadow-sm); }
.btn-theme-secondary:hover, .btn-theme-secondary:focus { background: #c6741f; color:#fff; box-shadow: var(--shadow-md); }

.btn-theme-accent { background: var(--color-red); color:#fff; border:0; box-shadow: var(--shadow-sm); }
.btn-theme-accent:hover, .btn-theme-accent:focus { background: #b32020; color:#fff; box-shadow: var(--shadow-md); }

.btn-theme-primary:focus, .btn-theme-secondary:focus, .btn-theme-accent:focus { outline: 3px solid rgba(226,138,49,.45); outline-offset: 2px; }

/* Feature list */
.feature-list .feature-bullet {
	width: 14px; height: 14px; border-radius: 50%; flex-shrink:0; margin-top:3px;
	background: linear-gradient(135deg, var(--color-gold), var(--color-red));
	box-shadow: 0 0 0 3px rgba(226,138,49,.25);
}

/* Placeholder media */
.partner-video-placeholder { font-size: .85rem; letter-spacing: .5px; }

/* Footer */
footer p { opacity: .9; }

/* Utilities */
.shadow-hover { transition: transform var(--transition-fast), box-shadow var(--transition-fast); }
.shadow-hover:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }

/* Responsive tweaks */
@media (max-width: 575.98px) {
	.display-5 { font-size: 2rem; }
	.hero { min-height: 78vh; }
	.hero .carousel-item { min-height: 78vh; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* High contrast focus for accessibility */
a:focus-visible, button:focus-visible { outline: 3px solid var(--color-gold); outline-offset: 2px; }

