/* =====================================================================
   alliantstudios.com - Hex Noir (approved direction, mockup 03)

   Loaded on every page that is not a mockup (body.omega-site).
   Stacks carry "hx hx-<role>" in their Options tab; content inside a
   stack is plain HTML, so rules target elements by position.

   Contents
     1. Tokens + base
     2. Header, nav, dropdown
     3. Page title (Simple Title stack)
     4. Home: hero, quote, boxes, services, blog, stats
     5. Content stacks: about, lede, service, features, clients, contact,
        products, product, article, section heads
     6. Portfolio grid + project pages
     7. Team members stack + single team member
     8. Blog index + single post (Dopplehaus #dh-blog / #dh-single)
     9. Gravity Forms
    10. Footer, utilities, responsive
   ===================================================================== */

/* 1. Tokens + base ---------------------------------------------------- */
body.omega-site {
	--primary-font: "Sora", sans-serif;
	--alt-font: "Sora", sans-serif;
	--hx-bg: #0e0e10;
	--hx-bg-2: #141417;
	--hx-panel: rgba(255, 255, 255, 0.04);
	--hx-panel-2: rgba(255, 255, 255, 0.07);
	--hx-line: rgba(255, 255, 255, 0.1);
	--hx-red: #e0262b;
	--hx-red-dk: #b3141a;
	--hx-text: #b8b8c0;
	--hx-mute: #8a8a93;
	--hx-white: #fff;
	--hx-mono: "JetBrains Mono", ui-monospace, monospace;
	--hx-radius: 14px;
	--hx-glow: 0 10px 40px rgba(224, 38, 43, 0.35);
	--omega-nav-bg: transparent;
	--omega-nav-sticky-bg: rgba(14, 14, 16, 0.86);
	--omega-nav-link: #fff;
	--omega-nav-sticky-link: #fff;
	background: var(--hx-bg);
	color: var(--hx-text);
}

.omega-site .hx,
.omega-site .hx p,
.omega-site .hx li {
	color: var(--hx-text);
}

.omega-site .hx h1,
.omega-site .hx h2,
.omega-site .hx h3,
.omega-site .hx h4,
.omega-site .hx h5 {
	color: var(--hx-white);
	letter-spacing: -0.03em;
}

.omega-site .hx h2 {
	font-size: clamp(2rem, 3.6vw, 3.2rem);
	font-weight: 300;
	line-height: 1.1;
	margin-bottom: 1.2rem;
}

.omega-site .hx h3 {
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	font-weight: 600;
	line-height: 1.25;
	margin-bottom: 0.8rem;
}

.omega-site .hx a {
	color: var(--hx-white);
	text-decoration: underline;
	text-decoration-color: var(--hx-red);
	text-underline-offset: 4px;
	transition: color 0.2s;
}

.omega-site .hx a:hover,
.omega-site .hx a:focus {
	color: var(--hx-red);
}

.omega-site .hx strong {
	color: var(--hx-white);
}

/* A link alone in the last paragraph of a column reads as a pill button. */
.omega-site .hx-boxes .row > div p:last-child a,
.omega-site .hx-project .row > div:last-child p:nth-last-child(2) a {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	border-radius: 999px;
	background: var(--hx-red);
	color: #fff;
	text-decoration: none;
	font-family: var(--hx-mono);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	box-shadow: var(--hx-glow);
	transition: transform 0.2s, background 0.2s;
}

.omega-site .hx-boxes .row > div p:last-child a:hover,
.omega-site .hx-project .row > div:last-child p:nth-last-child(2) a:hover {
	background: var(--hx-red-dk);
	color: #fff;
	transform: translateY(-2px);
}

/* Theme buttons inside stacks: pill, mono, red glow. */
.omega-site .hx .btn {
	border-radius: 999px !important;
	font-family: var(--hx-mono) !important;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 12px !important;
}

/* 2. Header, nav, dropdown ------------------------------------------- */
body.omega-site header .navbar-nav .nav-link {
	font-family: var(--hx-mono);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #fff;
}

body.omega-site header .navbar-nav .nav-item.active > .nav-link,
body.omega-site header .navbar-nav .nav-link:hover {
	color: var(--hx-red) !important;
}

/* The nav always has its bottom border, just transparent until it goes sticky.
   Adding the border only on .sticky-active made it start from currentColor (white)
   and fade through white during the parent's 0.3s "transition: all", which showed
   as a white flash along the bottom of the nav while scrolling. */
body.omega-site header nav.navbar[data-header-hover] {
	border-bottom: 1px solid transparent;
}

body.omega-site header.sticky.sticky-active nav.navbar[data-header-hover] {
	backdrop-filter: blur(14px);
	border-bottom-color: var(--hx-line);
}

body.omega-site header .navigation-drop-arrow {
	color: #fff;
}

body.omega-site header .dropdown-menu {
	background: rgba(14, 14, 16, 0.96) !important;
	border: 1px solid var(--hx-line) !important;
	border-radius: 12px !important;
	backdrop-filter: blur(14px);
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5) !important;
	padding: 0.6rem 0 !important;
}

body.omega-site header .dropdown-menu .menu-link,
body.omega-site header .dropdown-menu .menu-link div {
	color: var(--hx-text) !important;
	font-size: 14px;
}

body.omega-site header .dropdown-menu .menu-link:hover div {
	color: #fff !important;
}

body.omega-site .navbar-collapse {
	background-color: transparent;
}

/* 3. Page title (Simple Title stack + every template that calls it) -- */
.omega-site .simple-title {
	background-color: var(--hx-bg) !important;
	position: relative;
}

.omega-site .simple-title .opacity-light {
	opacity: 1 !important;
	background:
		radial-gradient(55% 80% at 15% 70%, rgba(224, 38, 43, 0.25), transparent 70%),
		linear-gradient(180deg, rgba(14, 14, 16, 0.55) 0%, rgba(14, 14, 16, 0.35) 55%, var(--hx-bg) 100%) !important;
}

.omega-site .simple-title h1 {
	font-family: "Sora", sans-serif;
	font-weight: 300 !important;
	font-size: clamp(2.6rem, 5.4vw, 4.8rem);
	letter-spacing: -0.04em;
	line-height: 1.04;
	text-shadow: none !important;
}

.omega-site .simple-title h1::before {
	content: "// alliant studios";
	display: block;
	font-family: var(--hx-mono);
	font-size: 0.8rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--hx-red);
	margin-bottom: 1rem;
}

.omega-site .simple-title h1 + span {
	font-family: var(--hx-mono);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.85rem;
	color: var(--hx-text) !important;
	margin-top: 0.8rem;
}

/* 4. Home ------------------------------------------------------------- */
.omega-site .hx-hero {
	background-color: var(--hx-bg);
}

.omega-site .hx-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(60% 60% at 18% 58%, rgba(224, 38, 43, 0.22), transparent 70%),
		linear-gradient(180deg, rgba(14, 14, 16, 0) 60%, var(--hx-bg) 100%);
}

.omega-site .hx-hero .container {
	position: relative;
	z-index: 2;
}

.omega-site .hx-hero h2 {
	font-size: clamp(2.8rem, 6vw, 5.6rem);
	font-weight: 300;
	letter-spacing: -0.045em;
	line-height: 1.02;
	margin-left: 0 !important;
}

.omega-site .hx-hero h2::first-line {
	color: var(--hx-red);
}

.omega-site .hx-hero p {
	font-weight: 400 !important;
	font-size: 1.1rem;
	line-height: 1.7;
	color: #d6d6dc !important;
	max-width: 36em;
	margin-left: 0 !important;
	margin-top: 1.4rem !important;
}

.omega-site .hx-hero .btn {
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18), var(--hx-glow) !important;
}

.omega-site .hx-hero .the-button-right {
	background: transparent !important;
	border-color: rgba(255, 255, 255, 0.4) !important;
	box-shadow: none !important;
	margin-left: 6px;
}

/* Quote */
.omega-site .hx-quote .row {
	justify-content: center;
	text-align: center;
}

.omega-site .hx-quote blockquote {
	border: 0;
	margin: 0 0 1.2rem;
	padding: 0;
}

.omega-site .hx-quote blockquote p {
	color: #fff;
	font-size: clamp(1.6rem, 3vw, 2.6rem);
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: -0.02em;
}

.omega-site .hx-quote blockquote + p {
	font-family: var(--hx-mono);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--hx-red);
}

/* Two boxes */
.omega-site .hx-boxes .row > div {
	margin-bottom: 24px;
}

.omega-site .hx-boxes img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: var(--hx-radius);
	border: 1px solid var(--hx-line);
	filter: grayscale(0.6) brightness(0.85);
	transition: filter 0.4s;
	margin-bottom: 1.6rem;
}

.omega-site .hx-boxes .row > div:hover img {
	filter: none;
}

/* Services: glass cards with numbered eyebrows (no images) */
.omega-site .hx-services {
	background-color: transparent !important;
	background-image: radial-gradient(50% 40% at 85% 10%, rgba(224, 38, 43, 0.14), transparent 70%);
}

.omega-site .hx-services h2 {
	font-size: clamp(2.2rem, 4vw, 3.6rem);
	font-weight: 300;
	letter-spacing: -0.04em;
	width: 100%;
	text-align: left !important;
}

.omega-site .hx-services .row,
.omega-site .hx-products .row {
	counter-reset: hxsvc;
}

.omega-site .hx-services .single-service,
.omega-site .hx-products .single-service {
	margin-bottom: 24px !important;
}

.omega-site .hx-services .feature-box,
.omega-site .hx-products .feature-box {
	background: var(--hx-panel) !important;
	border: 1px solid var(--hx-line);
	border-radius: var(--hx-radius);
	backdrop-filter: blur(8px);
	transition: border-color 0.25s, transform 0.25s;
	counter-increment: hxsvc;
	text-align: left !important;
	align-items: flex-start !important;
}

.omega-site .hx-services .feature-box:hover,
.omega-site .hx-products .feature-box:hover {
	border-color: rgba(224, 38, 43, 0.6);
	transform: translateY(-4px);
}

.omega-site .hx-services .feature-box-icon {
	display: none;
}

.omega-site .hx-services .feature-box-content {
	text-align: left !important;
	align-items: flex-start !important;
}

.omega-site .hx-services .feature-box h3,
.omega-site .hx-products .feature-box h3 {
	font-size: 1.2rem;
	font-weight: 600;
	margin-top: 0 !important;
}

.omega-site .hx-services .feature-box h3::before {
	content: counter(hxsvc, decimal-leading-zero);
	display: block;
	font-family: var(--hx-mono);
	font-size: 0.75rem;
	color: var(--hx-red);
	letter-spacing: 0.1em;
	margin-bottom: 2rem;
}

.omega-site .hx-services .feature-box h3 a,
.omega-site .hx-products .feature-box h3 a {
	color: #fff !important;
	text-decoration: none;
}

.omega-site .hx-services .feature-box p,
.omega-site .hx-products .feature-box p {
	color: var(--hx-text);
	font-size: 0.95rem;
	line-height: 1.6;
}

.omega-site .hx-services .the-cta-link,
.omega-site .hx-products .the-cta-link {
	background: transparent !important;
	color: #fff !important;
	border: 1px solid var(--hx-line) !important;
	border-radius: 999px;
	font-family: var(--hx-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 0.6rem 1.1rem;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s;
}

.omega-site .hx-services .feature-box:hover .the-cta-link,
.omega-site .hx-products .feature-box:hover .the-cta-link {
	background: var(--hx-red) !important;
	border-color: var(--hx-red) !important;
}

/* Product cards (CFA Custom Solutions) keep their images */
.omega-site .hx-products .feature-box-icon img {
	border-radius: 10px;
}

.omega-site .hx-products .feature-box,
.omega-site .hx-products .feature-box-content {
	text-align: left !important;
}

/* Blog Posts stack */
.omega-site .hx-blog {
	background: transparent;
}

/* Stats (reusable Fun Facts stack) */
.omega-site .hx-stats {
	border-top: 1px solid var(--hx-line);
	background: linear-gradient(180deg, rgba(224, 38, 43, 0.06), transparent);
}

.omega-site .hx-stats .row > div {
	border-left: 1px solid var(--hx-line);
	padding-left: 1.6rem;
}

.omega-site .hx-stats h3 {
	font-size: clamp(2.6rem, 5vw, 4.4rem);
	font-weight: 600;
	letter-spacing: -0.04em;
	color: #fff;
	text-shadow: 0 0 28px rgba(224, 38, 43, 0.65);
	margin-bottom: 0.2rem;
}

.omega-site .hx-stats p {
	font-family: var(--hx-mono);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* 5. Content stacks --------------------------------------------------- */
.omega-site .hx-about img {
	display: block;
	max-width: 260px;
	margin: 0 auto;
	filter: drop-shadow(0 20px 60px rgba(224, 38, 43, 0.35));
}

.omega-site .hx-about p,
.omega-site .hx-lede p,
.omega-site .hx-service .row > div:first-child p,
.omega-site .hx-article p,
.omega-site .hx-product p {
	font-size: 1.08rem;
	line-height: 1.8;
}

.omega-site .hx-lede .row,
.omega-site .hx-form .row,
.omega-site .hx-article .row {
	justify-content: center;
}

.omega-site .hx-lede .row > div > p:first-child {
	font-size: clamp(1.2rem, 1.8vw, 1.45rem);
	line-height: 1.6;
	color: #e4e4e8;
}

.omega-site .hx ul:not([class]) {
	padding-left: 0;
	list-style: none;
}

.omega-site .hx-service ul:not([class]) li,
.omega-site .hx-lede ul:not([class]) li,
.omega-site .hx-article ul:not([class]) li,
.omega-site .hx-product ul:not([class]) li {
	position: relative;
	padding-left: 1.6rem;
	margin-bottom: 0.7rem;
	line-height: 1.7;
}

.omega-site .hx-service ul:not([class]) li::before,
.omega-site .hx-lede ul:not([class]) li::before,
.omega-site .hx-article ul:not([class]) li::before,
.omega-site .hx-product ul:not([class]) li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 8px;
	height: 8px;
	transform: rotate(45deg);
	background: var(--hx-red);
	box-shadow: 0 0 10px rgba(224, 38, 43, 0.7);
}

/* Service page: copy left, sticky form card right */
.omega-site .hx-service .row > div:first-child h2:first-child {
	margin-bottom: 1.6rem;
}

.omega-site .hx-service .row > div:first-child img {
	float: right;
	width: 42%;
	margin: 0.4rem 0 1rem 1.6rem;
	border-radius: 10px;
	border: 1px solid var(--hx-line);
}

.omega-site .hx-service .row > div:last-child {
	position: sticky;
	top: 110px;
	align-self: flex-start;
}

.omega-site .hx-service .row > div:last-child,
.omega-site .hx-form .row > div,
.omega-site .hx-contact .row > div:last-child {
	isolation: isolate;
}

.omega-site .hx-service .row > div:last-child::before,
.omega-site .hx-form .row > div::before,
.omega-site .hx-contact .row > div:last-child::before {
	content: "";
	position: absolute;
	inset: 0 12px;
	z-index: -1;
	background: var(--hx-panel);
	border: 1px solid var(--hx-line);
	border-radius: var(--hx-radius);
}

.omega-site .hx-service .row > div:last-child,
.omega-site .hx-form .row > div,
.omega-site .hx-contact .row > div:last-child {
	position: relative;
	padding-top: 2rem;
	padding-bottom: 1.4rem;
}

.omega-site .hx-service .row > div:last-child > *,
.omega-site .hx-form .row > div > *,
.omega-site .hx-contact .row > div:last-child > * {
	padding-left: 1.6rem;
	padding-right: 1.6rem;
}

.omega-site .hx-service .row > div:last-child h3 {
	font-size: 1.15rem;
	line-height: 1.4;
}

.omega-site .hx-service .row > div:last-child {
	position: sticky;
}

/* Section heads over a portfolio grid */
.omega-site .hx-section-head h2 {
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	margin: 0;
}

.omega-site .hx-section-head h2::before,
.omega-site .hx-features .row > div:first-child h2::before {
	content: "// ";
	font-family: var(--hx-mono);
	color: var(--hx-red);
	font-size: 0.6em;
	vertical-align: middle;
}

/* Feature trio (Creative Partner Program) */
.omega-site .hx-features .row > div:first-child {
	margin-bottom: 1.5rem;
}

.omega-site .hx-features .row > div:not(:first-child) {
	position: relative;
	isolation: isolate;
	padding-top: 2rem;
	padding-bottom: 1.2rem;
	margin-bottom: 24px;
}

.omega-site .hx-features .row > div:not(:first-child)::before {
	content: "";
	position: absolute;
	inset: 0 12px;
	z-index: -1;
	background: var(--hx-panel);
	border: 1px solid var(--hx-line);
	border-radius: var(--hx-radius);
}

.omega-site .hx-features .row > div:not(:first-child) > * {
	padding-left: 1.6rem;
	padding-right: 1.6rem;
}

/* Our Clients: logo wall */
.omega-site .hx-logos h2,
.omega-site .hx-clientlist h2 {
	margin-bottom: 1.5rem;
}

.omega-site .hx-logos ul {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.omega-site .hx-logos li {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 2 / 1;
	margin: 0;
	padding: 0;
	background: var(--hx-panel);
	border: 1px solid var(--hx-line);
	border-radius: var(--hx-radius);
	transition: background 0.25s ease, border-color 0.25s ease;
}

.omega-site .hx-logos li::before {
	content: none;
}

.omega-site .hx-logos li:hover {
	background: var(--hx-panel-2);
	border-color: rgba(224, 38, 43, 0.45);
}

.omega-site .hx-logos img {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0.78;
	transition: opacity 0.25s ease;
}

.omega-site .hx-logos li:hover img {
	opacity: 1;
}

@media (max-width: 991.98px) {
	.omega-site .hx-logos ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 575.98px) {
	.omega-site .hx-logos ul {
		gap: 8px;
	}
}

/* Our Clients: everyone, grouped, names flowing in columns */
.omega-site .hx-clients h2 + p {
	color: var(--hx-mute);
	margin-bottom: 2.5rem;
}

.omega-site .hx-clients h3 {
	font-family: var(--hx-mono);
	font-size: 0.85rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--hx-red);
	padding-bottom: 1rem;
	margin-top: 2.5rem;
	border-bottom: 1px solid var(--hx-line);
}

.omega-site .hx-clients h2 + p + h3 {
	margin-top: 0;
}

.omega-site .hx-clients ul {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 3;
	column-gap: 2.5rem;
}

.omega-site .hx-clients li {
	break-inside: avoid;
	padding: 0.6rem 0;
	margin: 0;
	border-bottom: 1px solid var(--hx-line);
	font-size: 1rem;
	color: #e4e4e8;
}

.omega-site .hx-clients li::before {
	content: none;
}

.omega-site .hx-clients li ul {
	columns: 1;
	margin: 0.4rem 0 0;
	padding-left: 1rem;
	border-left: 1px solid var(--hx-line);
}

.omega-site .hx-clients li li {
	padding: 0.25rem 0;
	border-bottom: 0;
	font-size: 0.92rem;
}

.omega-site .hx-clients li a {
	color: #e4e4e8;
	text-decoration: none;
	transition: color 0.2s ease;
}

.omega-site .hx-clients li a:hover {
	color: var(--hx-white);
}

.omega-site .hx-clients li a[target="_blank"]::after {
	content: " \2197";
	color: var(--hx-mute);
	font-size: 0.8em;
}

.omega-site .hx-clients li a[href^="/portfolio/"]::after {
	content: " \2192";
	color: var(--hx-red);
}

@media (max-width: 991.98px) {
	.omega-site .hx-clients ul {
		columns: 2;
	}
}

@media (max-width: 575.98px) {
	.omega-site .hx-clients ul {
		columns: 1;
	}
}

/* Contact */
.omega-site .hx-contact img {
	display: block;
	width: 100%;
	border-radius: var(--hx-radius);
	border: 1px solid var(--hx-line);
	margin: 0.4rem 0 1.6rem;
	filter: grayscale(0.5);
}

.omega-site .hx-contact h3 {
	font-family: var(--hx-mono);
	font-size: 0.8rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--hx-red);
}

.omega-site .hx-contact .row > div:first-child p {
	font-size: 1.1rem;
	line-height: 1.7;
}

/* Product pages (CFA, Sport-Tek) */
.omega-site .hx-product .row > div:first-child img {
	display: block;
	width: 100%;
	border-radius: var(--hx-radius);
	border: 1px solid var(--hx-line);
	margin-bottom: 1rem;
	background: #fff;
}

/* Long-form article (Alliant Brand Structure) */
.omega-site .hx-article img {
	display: block;
	max-width: 100%;
	border-radius: 10px;
	margin: 1.6rem 0;
	background: #fff;
}

.omega-site .hx-article h3 {
	font-family: var(--hx-mono);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--hx-red);
	margin-top: 2rem;
}

/* 6. Portfolio grid + project pages ----------------------------------- */
.omega-site .hx-portfolio {
	background: transparent;
}

.omega-site .hx-portfolio .portfolio-filter a {
	font-family: var(--hx-mono);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--hx-text) !important;
	border: 1px solid var(--hx-line) !important;
	border-radius: 999px !important;
	padding: 0.55rem 1.1rem !important;
	margin: 0.25rem;
	background: transparent !important;
	text-decoration: none;
}

.omega-site .hx-portfolio .portfolio-filter .active a,
.omega-site .hx-portfolio .portfolio-filter a:hover {
	color: #fff !important;
	background: var(--hx-red) !important;
	border-color: var(--hx-red) !important;
	box-shadow: var(--hx-glow);
}

.omega-site .hx-portfolio .portfolio-image {
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--hx-line);
}

.omega-site .hx-portfolio .portfolio-image img {
	filter: grayscale(0.7) brightness(0.85);
	transition: filter 0.4s, transform 0.6s;
}

.omega-site .hx-portfolio .grid-item:hover .portfolio-image img {
	filter: none;
	transform: scale(1.03);
}

.omega-site .hx-portfolio .portfolio-hover {
	background: rgba(14, 14, 16, 0.4) !important;
}

.omega-site .hx-portfolio .portfolio-icon a {
	background: var(--hx-red) !important;
	color: #fff !important;
	box-shadow: var(--hx-glow);
}

.omega-site .hx-portfolio .portfolio-icon a i {
	color: #fff !important;
}

.omega-site .hx-portfolio .portfolio-caption {
	text-align: left;
}

.omega-site .hx-portfolio .portfolio-caption a {
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
}

.omega-site .hx-portfolio .portfolio-caption div {
	font-family: var(--hx-mono);
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--hx-red);
}

.omega-site .hx-more .portfolio-filter {
	display: none !important;
}

/* Project page: media + details */
.omega-site .hx-project img,
.omega-site .hx-project iframe {
	display: block;
	width: 100%;
	border-radius: var(--hx-radius);
	border: 1px solid var(--hx-line);
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.8);
}

.omega-site .hx-project iframe {
	aspect-ratio: 16 / 9;
	height: auto;
}

.omega-site .hx-project .row > div:last-child p:first-child {
	font-family: var(--hx-mono);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--hx-red);
	margin-bottom: 0.6rem;
}

.omega-site .hx-project .row > div:last-child h2 {
	font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.omega-site .hx-project .row > div:last-child p:last-child a {
	font-family: var(--hx-mono);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--hx-text);
	text-decoration: none;
}

.omega-site .hx-project .row > div:last-child p:last-child a::before {
	content: "\2190  ";
	color: var(--hx-red);
}

/* Web Design project pages: write-up + facts, then two more screens */
.omega-site .hx-casestudy h3 {
	font-family: var(--hx-mono);
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--hx-red);
	margin-bottom: 1.25rem;
}

.omega-site .hx-casestudy .row > div:first-child p {
	font-size: 1.1rem;
	line-height: 1.75;
	max-width: 46rem;
}

.omega-site .hx-casestudy .row > div:last-child {
	align-self: flex-start;
}

.omega-site .hx-casestudy .row ul {
	list-style: none;
	margin: 0;
	padding: 0.5rem 1.75rem !important;
	border: 1px solid var(--hx-line);
	border-radius: var(--hx-radius);
	background: var(--hx-panel);
}

.omega-site .hx-casestudy li {
	padding: 1.1rem 0;
	border-bottom: 1px solid var(--hx-line);
	color: var(--hx-white);
	line-height: 1.5;
}

.omega-site .hx-casestudy li:last-child {
	border-bottom: 0;
}

.omega-site .hx-casestudy li strong {
	display: block;
	font-family: var(--hx-mono);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--hx-text);
	margin-bottom: 0.3rem;
}

.omega-site .hx-shots img {
	display: block;
	width: 100%;
	border-radius: var(--hx-radius);
	border: 1px solid var(--hx-line);
	margin-bottom: 1.5rem;
}

@media (max-width: 767px) {
	.omega-site .hx-casestudy .row > div:last-child {
		margin-top: 1.5rem;
	}
}

/* 7. Team ------------------------------------------------------------- */
.omega-site .hx-team .team-style-02 figure {
	border-radius: var(--hx-radius);
	overflow: hidden;
	border: 1px solid var(--hx-line);
	background: var(--hx-panel);
}

.omega-site .hx-team .team-style-02 img {
	filter: grayscale(1) contrast(1.05);
	transition: filter 0.4s, transform 0.6s;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.omega-site .hx-team .team-style-02:hover img {
	filter: none;
	transform: scale(1.03);
}

.omega-site .hx-team figcaption {
	background: transparent !important;
	text-align: left;
	padding-left: 1.2rem !important;
}

.omega-site .hx-team .box-overlay {
	display: none;
}

.omega-site .hx-team .member-name {
	color: #fff !important;
	text-decoration: none;
	font-size: 1.1rem;
}

.omega-site .hx-team .team-title {
	font-family: var(--hx-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--hx-red);
}

/* Single team member (single-team_cpt.php) */
.omega-site.single-team_cpt .staff-bio,
.omega-site.single-team_cpt .staff-bio p {
	color: var(--hx-text);
	font-size: 1.08rem;
	line-height: 1.8;
}

.omega-site.single-team_cpt .staff-meta img {
	border-radius: var(--hx-radius);
	border: 1px solid var(--hx-line);
}

.omega-site.single-team_cpt .staff-meta h5 {
	color: #fff !important;
	font-size: 1.5rem;
}

.omega-site.single-team_cpt .staff-meta .fs-18 {
	font-family: var(--hx-mono);
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--hx-red);
}

/* 8. Blog index + single post (Dopplehaus variables) ----------------- */
body.omega-site #dh-blog,
body.omega-site #dh-single {
	--ink: #ffffff;
	--txt: #b8b8c0;
	--mute: #8a8a93;
	--rule: rgba(255, 255, 255, 0.1);
	--acc: #e0262b;
	--acc-dk: #e0262b;
	--paper: #141417;
	--dh-font: "Sora", sans-serif;
	--sp-font: "Sora", sans-serif;
	--mono: "JetBrains Mono", ui-monospace, monospace;
	background: var(--hx-bg) !important;
}

body.omega-site #dh-single *,
body.omega-site #dh-blog * {
	border-color: var(--rule);
}

body.omega-site #dh-single .sp-share a,
body.omega-site #dh-single .sp-share button,
body.omega-site #dh-single kbd {
	background: var(--paper) !important;
	color: #fff !important;
	border: 1px solid var(--rule) !important;
}

body.omega-site #dh-single .sp-share a:hover,
body.omega-site #dh-single .sp-share button:hover {
	background: var(--acc) !important;
	border-color: var(--acc) !important;
}

body.omega-site #dh-blog .zoom {
	background: #1b1b1f;
}

/* 9. Gravity Forms (Orbital theme) -----------------------------------
   Orbital is driven by --gf-* custom properties that GF prints per form
   with an ID selector, so ours are !important. */
body.omega-site .gform_wrapper.gform-theme {
	--gf-color-primary: #e0262b !important;
	--gf-color-primary-rgb: 224, 38, 43 !important;
	--gf-color-primary-contrast: #fff !important;
	--gf-color-primary-darker: #b3141a !important;
	--gf-color-primary-lighter: #ff4a4f !important;
	--gf-color-in-ctrl: rgba(255, 255, 255, 0.05) !important;
	--gf-color-in-ctrl-rgb: 255, 255, 255 !important;
	--gf-color-in-ctrl-contrast: #ffffff !important;
	--gf-color-in-ctrl-darker: rgba(255, 255, 255, 0.08) !important;
	--gf-color-in-ctrl-lighter: rgba(255, 255, 255, 0.03) !important;
	--gf-color-in-ctrl-primary: #e0262b !important;
	--gf-color-in-ctrl-light: rgba(255, 255, 255, 0.14) !important;
	--gf-color-in-ctrl-light-darker: rgba(255, 255, 255, 0.2) !important;
	--gf-color-in-ctrl-dark: #b8b8c0 !important;
	--gf-color-in-ctrl-dark-darker: #ffffff !important;
	--gf-color-in-ctrl-dark-lighter: #8a8a93 !important;
	--gf-color-out-ctrl-light: rgba(255, 255, 255, 0.1) !important;
	--gf-color-out-ctrl-light-darker: rgba(255, 255, 255, 0.16) !important;
	--gf-color-out-ctrl-light-lighter: rgba(255, 255, 255, 0.05) !important;
	--gf-color-out-ctrl-dark: #b8b8c0 !important;
	--gf-color-out-ctrl-dark-darker: #ffffff !important;
	--gf-color-out-ctrl-dark-lighter: #8a8a93 !important;
	--gf-ctrl-bg-color: rgba(255, 255, 255, 0.05) !important;
	--gf-ctrl-bg-color-hover: rgba(255, 255, 255, 0.08) !important;
	--gf-ctrl-bg-color-focus: rgba(255, 255, 255, 0.08) !important;
	--gf-ctrl-border-color: rgba(255, 255, 255, 0.14) !important;
	--gf-ctrl-border-color-hover: rgba(255, 255, 255, 0.3) !important;
	--gf-ctrl-border-color-focus: #e0262b !important;
	--gf-ctrl-color: #ffffff !important;
	--gf-ctrl-label-color-primary: #ffffff !important;
	--gf-ctrl-label-color-secondary: #b8b8c0 !important;
	--gf-ctrl-label-color-tertiary: #8a8a93 !important;
	--gf-ctrl-label-color-req: #e0262b !important;
	--gf-ctrl-desc-color: #8a8a93 !important;
	--gf-ctrl-placeholder-color: #6e6e78 !important;
	--gf-ctrl-choice-check-color: #ffffff !important;
	--gf-field-pg-steps-number-color: #ffffff !important;
	--gf-radius: 10px !important;
	--gf-ctrl-btn-radius: 999px !important;
	--gf-ctrl-btn-bg-color-primary: #e0262b !important;
	--gf-ctrl-btn-bg-color-hover-primary: #b3141a !important;
	--gf-ctrl-btn-color-primary: #ffffff !important;
	--gf-ctrl-btn-font-family: "JetBrains Mono", ui-monospace, monospace !important;
	--gf-ctrl-btn-font-size: 12px !important;
	--gf-ctrl-btn-text-transform: uppercase !important;
	--gf-ctrl-btn-letter-spacing: 0.1em !important;
	--gf-font-family-base: "Sora", sans-serif !important;
	--gf-font-family-primary: "Sora", sans-serif !important;
	--gf-font-family-secondary: "Sora", sans-serif !important;
	--gf-font-family-tertiary: "Sora", sans-serif !important;
}

body.omega-site .gform_wrapper .gform_footer input[type="submit"],
body.omega-site .gform_wrapper .gform_footer button,
body.omega-site .gform_wrapper .gform_page_footer input[type="submit"] {
	box-shadow: var(--hx-glow) !important;
}

body.omega-site .gform_wrapper .gsection {
	border-bottom-color: var(--hx-line) !important;
}

body.omega-site .gform_wrapper .gsection_title,
body.omega-site .gform_wrapper .gfield_label {
	color: #fff !important;
}

body.omega-site .gform_wrapper select option {
	color: #000;
}

/* 10. Footer, utilities, responsive ---------------------------------- */
body.omega-site footer {
	background-color: #08080a !important;
	border-top: 1px solid var(--hx-line);
	color: var(--hx-text) !important;
}

body.omega-site footer a {
	color: var(--hx-text) !important;
}

body.omega-site footer a:hover {
	color: #fff !important;
}

body.omega-site .scroll-progress .scroll-text {
	color: var(--hx-text);
}

@media (max-width: 991px) {
	.omega-site .hx-service .row > div:last-child {
		position: relative;
		top: auto;
		margin-top: 2rem;
	}
	.omega-site .hx-service .row > div:first-child img {
		float: none;
		width: 100%;
		margin: 1rem 0;
	}
	.omega-site .hx-stats .row > div {
		border-left: 0;
		padding-left: 12px;
	}
}
