:root {
	--kp-saffron: #f28c1b;
	--kp-blue: #0f2f66;
	--kp-gold: #d4af37;
	--kp-dark: #1f2937;
	--kp-light: #f8fafc;
	--kp-gradient: linear-gradient(135deg, #0f2f66 0%, #f28c1b 100%);
	--kp-shadow: 0 12px 30px rgba(15, 47, 102, 0.16);
}

* { box-sizing: border-box; }
body {
	font-family: 'Hind', sans-serif;
	background: radial-gradient(circle at top right, #fff8eb 0%, #ffffff 40%, #f2f6ff 100%);
	color: #233044;
	scroll-behavior: smooth;
}
html[lang="mr"] body { font-family: 'Tiro Devanagari Marathi', serif; }

.top-notice {
	background: var(--kp-gradient);
	color: #fff;
	text-align: center;
	padding: 0.4rem 1rem;
	font-size: 0.9rem;
}

.kp-navbar {
	background: rgba(15, 47, 102, 0.95);
	backdrop-filter: blur(8px);
	box-shadow: var(--kp-shadow);
}
.kp-navbar .navbar-brand, .kp-navbar .nav-link { color: #fff; }
.kp-navbar .nav-link:hover { color: #ffd27a; }
.logo-sm { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }

.hero {
	min-height: 84vh;
	background: linear-gradient(100deg, rgba(8,26,58,0.85), rgba(242,140,27,0.65)), url('/assets/images/hero.jpg') center/cover no-repeat;
	display: flex;
	align-items: center;
	color: #fff;
	position: relative;
}
.hero h1 { font-size: clamp(2rem, 4vw, 4rem); font-weight: 700; }
.hero p { font-size: 1.1rem; max-width: 740px; }

.kp-card {
	background: #fff;
	border: none;
	border-radius: 1rem;
	box-shadow: var(--kp-shadow);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	overflow: hidden;
}
.kp-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 18px 36px rgba(17, 24, 39, 0.2);
}

.section-title {
	position: relative;
	display: inline-block;
	margin-bottom: 1.5rem;
}
.section-title::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -8px;
	width: 60%;
	height: 4px;
	background: var(--kp-gradient);
	border-radius: 999px;
}

.icon-pill {
	width: 54px;
	height: 54px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	color: #fff;
	background: var(--kp-gradient);
}

.kp-footer {
	background: #0b1f45;
	color: #fff;
}
.kp-footer a { color: #ffe1a9; text-decoration: none; }
.kp-footer a:hover { color: #fff; }
.social-icon {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(255,255,255,0.12);
}

.floating-btn {
	position: fixed;
	right: 20px;
	width: 48px;
	height: 48px;
	border: none;
	border-radius: 50%;
	color: #fff;
	display: grid;
	place-items: center;
	box-shadow: var(--kp-shadow);
	z-index: 99;
}
.floating-btn.whatsapp { bottom: 132px; background: #1fae4b; }
.floating-btn.call { bottom: 76px; background: var(--kp-blue); }
.floating-btn.top { bottom: 20px; background: var(--kp-saffron); }

.stats-counter {
	background: #fff;
	border-radius: 1rem;
	padding: 1.25rem;
	box-shadow: var(--kp-shadow);
	text-align: center;
}

.fade-in {
	opacity: 0;
	transform: translateY(18px);
	transition: all 0.6s ease;
}
.fade-in.show {
	opacity: 1;
	transform: translateY(0);
}

body.dark {
	background: #0f172a;
	color: #e5e7eb;
}
body.dark .kp-card,
body.dark .stats-counter,
body.dark .accordion-item,
body.dark .table,
body.dark .form-control,
body.dark .form-select {
	background: #1e293b;
	color: #e5e7eb;
}

@media (max-width: 768px) {
	.hero { min-height: 72vh; }
	.floating-btn { right: 12px; }
}

