/* VoltForge custom layer */
:root {
	--vf-bg: #141a24;
	--vf-panel: rgba(255,255,255,0.055);
	--vf-panel-strong: rgba(255,255,255,0.1);
	--vf-line: rgba(255,255,255,0.16);
	--vf-text: #f4f7fb;
	--vf-muted: #b8c2d2;
	--vf-hot: #72f2ff;
	--vf-warm: #ffb454;
	--vf-good: #74f7a4;
}

body {
	background-color: var(--vf-bg);
}

#banner.vf-banner {
	background-image: linear-gradient(135deg, rgba(17, 23, 35, 0.86), rgba(49, 61, 88, 0.72)), url("../../images/bg.jpg");
	background-size: cover;
	background-position: center;
}

#banner .inner .logo .icon:before,
.icon.solid.fa-bolt:before,
.icon.solid.fa-hammer:before,
.icon.solid.fa-mobile-alt:before,
.icon.solid.fa-tools:before,
.icon.solid.fa-server:before,
.icon.solid.fa-code:before,
.icon.solid.fa-screwdriver:before,
.icon.solid.fa-cogs:before,
.icon.solid.fa-home:before,
.icon.solid.fa-envelope:before,
.icon.solid.fa-globe:before,
.icon.brands.fa-instagram:before {
	font-family: inherit !important;
	font-weight: normal !important;
}

#banner .inner .logo .icon:before,
.icon.solid.fa-bolt:before { content: "⚡" !important; }
.icon.solid.fa-hammer:before { content: "🔨" !important; }
.icon.solid.fa-mobile-alt:before { content: "📱" !important; }
.icon.solid.fa-tools:before { content: "🛠" !important; }
.icon.solid.fa-server:before { content: "🗄" !important; }
.icon.solid.fa-code:before { content: "</>" !important; font-size: .72em; }
.icon.solid.fa-screwdriver:before { content: "🔧" !important; }
.icon.solid.fa-cogs:before { content: "⚙" !important; }
.icon.solid.fa-home:before { content: "⌂" !important; }
.icon.solid.fa-envelope:before { content: "✉" !important; }
.icon.solid.fa-globe:before { content: "◎" !important; }
.icon.brands.fa-instagram:before { content: "◉" !important; }

#header h1 a,
#menu h2,
.major,
#banner h2 {
	letter-spacing: 0.13em;
}

#banner h2 {
	font-size: 3rem;
}

.vf-kicker {
	color: var(--vf-hot);
	font-size: 0.78rem !important;
	font-weight: 700;
	letter-spacing: 0.2em;
	margin: 0 0 0.85rem 0 !important;
	text-transform: uppercase;
}

.vf-hero-actions {
	margin-top: 1.85rem;
}

.button.primary,
input[type="submit"] {
	background: linear-gradient(135deg, var(--vf-hot), var(--vf-warm));
	box-shadow: 0 0 0 2px rgba(255,255,255,0.08), 0 0 30px rgba(114, 242, 255, 0.16);
	color: #10151f !important;
	font-weight: 800;
}

.vf-mini-grid,
.vf-status-grid,
.vf-card-grid,
.vf-service-list,
.vf-two-col {
	display: grid;
	gap: 1rem;
}

.vf-mini-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 1.5rem 0;
}

.vf-mini-grid span,
.vf-status-grid div,
.vf-card,
.vf-service-list article,
.vf-featured {
	background: var(--vf-panel);
	border: 1px solid var(--vf-line);
	border-radius: 1rem;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 12px 30px rgba(0,0,0,0.16);
}

.vf-mini-grid span {
	color: var(--vf-text);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	padding: 0.8rem 0.9rem;
	text-align: center;
	text-transform: uppercase;
}

.vf-status-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 1.5rem 0;
}

.vf-status-grid div {
	padding: 1rem;
}

.vf-status-grid strong,
.vf-status-grid span {
	display: block;
}

.vf-status-grid strong {
	color: var(--vf-hot);
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	margin-bottom: 0.35rem;
	text-transform: uppercase;
}

.vf-status-grid span {
	color: var(--vf-text);
	font-weight: 700;
}

.vf-online {
	color: var(--vf-good) !important;
}

.vf-steps {
	background: var(--vf-panel);
	border: 1px solid var(--vf-line);
	border-radius: 1rem;
	list-style-position: inside;
	margin: 1.5rem 0;
	padding: 1.2rem 1.35rem;
}

.vf-steps li {
	margin: 0.45rem 0;
}

.vf-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 1rem 0 0.8rem 0;
}

.vf-tags span {
	background: rgba(114, 242, 255, 0.1);
	border: 1px solid rgba(114, 242, 255, 0.28);
	border-radius: 999px;
	color: #c9fbff;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	padding: 0.25rem 0.65rem;
	text-transform: uppercase;
}

.vf-why {
	padding: 5rem 0 3rem 0;
}

.vf-card-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vf-card {
	padding: 1.4rem;
}

.vf-card .icon,
.vf-service-list .icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 999px;
	background: rgba(114, 242, 255, 0.12);
	border: 1px solid rgba(114, 242, 255, 0.25);
	margin-bottom: 1rem;
}

.vf-card h3,
.vf-service-list h3 {
	color: #fff;
	font-size: 1rem;
	margin-bottom: 0.65rem;
}

.vf-card p,
.vf-service-list p,
.vf-service-list li,
.vf-two-col li {
	color: var(--vf-muted);
}

.vf-page-header {
	background-image: linear-gradient(135deg, rgba(22, 28, 41, 0.92), rgba(54, 68, 98, 0.72)), url("../../images/bg.jpg");
	background-position: center;
	background-size: cover;
	padding: 8rem 0 3rem 0;
}

.vf-service-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 2rem;
}

.vf-service-list article {
	padding: 1.75rem;
}

.vf-service-list ul {
	margin-bottom: 0;
}

.vf-two-col {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 2rem 0;
}

.vf-featured {
	margin-top: 2rem;
	padding: 1.75rem;
}

.vf-request-form select {
	appearance: none;
	background-color: rgba(255,255,255,0.035);
	border: solid 2px rgba(255,255,255,0.125);
	border-radius: 5px;
	color: inherit;
	display: block;
	outline: 0;
	padding: 0 1em;
	text-decoration: none;
	width: 100%;
	height: 2.75em;
}

.vf-request-form select:focus {
	border-color: var(--vf-hot);
}

.vf-request-form option {
	background: #232a34;
	color: #fff;
}

#footer code {
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 0.35rem;
	padding: 0.1rem 0.35rem;
}

@media screen and (max-width: 980px) {
	.vf-card-grid,
	.vf-service-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 736px) {
	#banner h2 {
		font-size: 2.15rem;
	}
	.vf-mini-grid,
	.vf-status-grid,
	.vf-card-grid,
	.vf-service-list,
	.vf-two-col {
		grid-template-columns: 1fr;
	}
	.vf-page-header {
		padding-top: 6rem;
	}
}

a.special:not(.button):before {
	content: "→" !important;
	font-family: inherit !important;
	font-weight: 900 !important;
	line-height: 1.7em !important;
	text-indent: 0 !important;
}

/* VoltForge v1.0.3 project mock gallery */
.vf-mock-gallery article .image {
	background: rgba(0,0,0,0.18);
	border: 1px solid rgba(255,255,255,0.08);
	box-shadow: 0 1rem 2.5rem rgba(0,0,0,0.22);
	overflow: hidden;
}

.vf-mock-gallery article .image img {
	aspect-ratio: 16 / 9;
	height: auto;
	object-fit: cover;
	transition: transform 220ms ease, filter 220ms ease;
}

.vf-mock-gallery article .image:hover img {
	filter: brightness(1.08) contrast(1.06);
	transform: scale(1.025);
}

/* VoltForge CMS additions */
.vf-flash {
	border-radius: 0.6rem;
	font-weight: 700;
	margin: 0 0 1.5rem 0;
	padding: 0.9rem 1.1rem;
}
.vf-flash-success { background: rgba(116, 247, 164, 0.14); border: 1px solid rgba(116, 247, 164, 0.4); color: #b9ffd2; }
.vf-flash-error   { background: rgba(255, 120, 120, 0.14); border: 1px solid rgba(255, 120, 120, 0.4); color: #ffc9c9; }
.vf-flash-info    { background: rgba(114, 242, 255, 0.12); border: 1px solid rgba(114, 242, 255, 0.35); color: #c9fbff; }

#menu .links a.active { color: var(--vf-hot); }

.vf-service-detail .icon.solid {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.4rem;
	height: 3.4rem;
	border-radius: 999px;
	background: rgba(114, 242, 255, 0.12);
	border: 1px solid rgba(114, 242, 255, 0.25);
	margin-bottom: 1.2rem;
}
.vf-service-detail ul,
.vf-article ul,
.vf-article ol { color: var(--vf-muted); }
.vf-service-list h3 a { border-bottom: none; color: #fff; }
.vf-service-list h3 a:hover { color: var(--vf-hot); }

.vf-project-hero {
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 1rem;
	box-shadow: 0 1rem 2.5rem rgba(0,0,0,0.28);
	overflow: hidden;
}
.vf-article :is(h2, h3) { color: #fff; }
.vf-article p, .vf-article li { color: var(--vf-muted); }
