:root {
	--primary-text: hsl(0, 0%, 93%);

	/* --primary-text: #ececec; */
	--secondary-text: hsl(210, 10%, 23%);

	/* --secondary-text: #343A40; */
	--dark-secondary-text: hsl(0, 0%, 15%);

	/* --dark-secondary-text: #252525; */
	--tertiary-text: hsl(204, 70%, 46%);

	/* --tertiary-text: #2384c6; */
	--icon: hsl(0, 0%, 93%);

	/* --icon: #ececec; */
	--background: hsl(0, 0%, 8%);

	/* --background: #151515; */
	--section-primary: hsl(0, 0%, 15%);

	/* --section-primary: #252525; */
	--section-secondary: hsl(210, 10%, 23%);

	/* --section-secondary: #343a40; */
	--section-dark: hsl(0, 0%, 11%);

	/* --section-dark: #1c1c1c; */
	--section-light: hsl(0, 0%, 93%);

	/* --section-light: #ececec; */
	--accent: hsl(204, 70%, 46%);

	/* --accent: #2384c6; */
	--secondary-btn: hsl(0, 0%, 93%);

	/* --secondary-btn: #ececec; */
	--font-body: 'Roboto', sans-serif;
	--font-head: 'Lato', sans-serif;
	--font-lead: 'Philosopher', sans-serif;
	--background: #101010;
	--background-alt: #1a1a1a;
	--highlight: #5a9cff;
	--error: #e26262;
	--placeholder-color: #888;
	--border-color: #444;
}

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

body {
	font-family: var(--font-body);
	background-color: var(--background);
	color: var(--primary-text);
	font-weight: 300;
	line-height: 1.5;
}

/* Navigation */
.site-header {
	background: var(--section-dark);
	padding: 1rem 0;
}

.logo {
	font-family: var(--font-head);
	font-size: 1.5rem;
}

.logo img {
	width: 100%;
	max-width: 200px;
}

.logo .by-line {
	font-size: 1.25rem;
	line-height: 1;
	width: 100%;
	display: block;
}

@media (min-width: 1024px) {
	.logo .by-line {
		max-width: 200px;
	}
}

.main-nav ul,
.footer-nav ul {
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-left: 0;
	margin: 0;
	gap: 2rem;
}

.main-nav a {
	color: var(--primary-text);
	text-decoration: none;
}

.main-nav a:hover {
	color: color-mix(in hsl, var(--primary-text) 85%, black 15%);
	text-decoration: none;
}

.power-icon {
	font-size: 1.5rem;
	color: var(--accent);
}

.power-icon img {
	max-width: 30px;
}

/* Hero */
.hero-section {
	background: var(--background);
	padding: 4rem 0;
	background-image: url('../imgs/wdbToBlueFissionMockupHeroBG.png');
	background-position: center center;
	background-size: cover;
}

.hero-text {
	position: relative;
	max-width: calc(100% - 0);
	z-index: 2;
	text-shadow: #101010;
}

.hero-img {
	position: absolute;
	right: 0;
	bottom: calc(100% - (320px + 1.5rem));
	z-index: 1;
}

.hero-img img {
	max-width: 150px;
	height: auto;
	position: relative;
	display: block;
}

@media (min-width: 640px) {
	.hero-section {
		padding: 2rem 0;
	}

	.hero-text {
		max-width: calc(100% - 0px);
		text-align: center;
		padding-right: 0;
		z-index: 2;
	}

	.hero-img {
		margin-top: 2rem;
		bottom: calc(100% - (264px + 3rem));
		z-index: 1;
	}

	.hero-img img {
		max-width: 180px;
	}
}

@media (min-width: 768px) {
	.hero-text {
		max-width: calc(100% - 275px);
		z-index: 2;
	}

	.hero-img {
		bottom: calc(100% - (290px + 1.5rem));
		z-index: 1;
	}

	.hero-img img {
		max-width: 240px;
	}
}

@media (min-width: 1024px) {

	.hero-text {
		max-width: calc(100% - 310px);
		z-index: 2;
	}

	.hero-img {
		position: absolute;
		right: 0;
		bottom: calc(100% - (265px + 1.5rem));
		z-index: 1;
	}

	.hero-img img {
		max-width: 300px;
	}
}

/* Services */
.service-card {
	background: var(--section-dark);

	/* padding: 2rem; */
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.service-card h3 {
	margin: 1rem 0 0.5rem;
}

.service-icon {
	font-size: 2rem;
	color: var(--icon);
}

.service-icon img {
	width: 2.5rem;
}

.service-img img {
	max-width: 100%;
	padding: 3rem;
}

/* Case Studies */
.case-card {
	background: var(--section-dark);
	padding: 1rem;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-radius: 0.25rem 0.25rem 0 0;
}

.case-card h3 {
	margin: 0 0 0.5rem;
	text-align: left;
}

.case-study-image {
	background-color: var(--frame-bg, #1e1f22);

	/* Dark panel background */
	border: 2px solid var(--frame-border, #2a2c30);

	/* Subtle edge */
	padding: 0.5rem;
	border-radius: 0.5rem;
	position: relative;
	box-shadow: 0 0 0 1px #3c3f44 inset, 0 2px 5px rgba(0, 0, 0, 0.25);
	margin-bottom: 1rem;
}

.case-study-image img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--img-border, #d0d0d0);
	border-radius: 0.25rem;
	background-color: #fafafa;
	padding: 0.5rem;
}

.case-study-frame-caption {
	margin-top: 0.75rem;
	font-size: 0.875rem;
	color: var(--text-muted, #a8a8a8);
	font-family: 'Mulish', sans-serif;
	text-align: center;
	letter-spacing: 0.015em;
}

.case-study-image::before,
.case-study-image::after {
	content: '{';
	position: absolute;
	color: var(--bracket-color, #6c6f74);
	font-size: 3rem;
	font-family: 'DM Serif Display', serif;
	line-height: 1;
	opacity: 0.4;
}

.case-study-image::after {
	content: '}';
}

.case-study-image::before {
	left: -1.5rem;
	top: 0;
}

.case-study-image::after {
	right: -1.5rem;
	bottom: 0;
}

.case-category {
	font-size: 0.75rem;
	border-radius: 1rem;
	padding: 0.5rem;
	margin-top: 1rem;
}

.case-link {
	width: 100%;
	padding: 0.5rem;
	margin: 1rem 0 0;
}

/* Testimonials */
.testimonial-img img {
	max-width: 80%;
	height: auto;
	display: block;
}

/* .testimonial-text {
	/* May Need Values, Otherwise Remove /
} */

blockquote {
	font-style: italic;
	border-left: 4px solid var(--accent);
	padding-left: 1rem;
}

/* Footer */
.site-footer {
	background: var(--background);
	padding: 1rem 0;
	font-size: 0.9rem;
}
