/*
Theme Name: Flexx Theme
Theme URI: https://flexxbotics.com/
Author: Technology Online Group
Author URI: https://technologyonlinegroup.com/
Description: Custom WordPress theme for Flexxbotics.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: flexx-theme
*/

.max-container{
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    overflow-x: clip;
    overflow-y: visible;
}

/* ═══════════════════════════════════════════════════════
   HOMEPAGE — Hero background media
   ═══════════════════════════════════════════════════════ */

.hero-video-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	background: #000;
}

/* Individual image / video slides */
.hero-media-layer {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 0;
	object-fit: cover;
	transform: scale(1);
	transition: opacity 900ms cubic-bezier(0.4, 0, 0.2, 1);
	will-change: opacity, transform;
}

.hero-media-layer.is-active {
	opacity: 1;
}

/* Image slides */
.hero-image-layer {
	display: block;
}

/* Video slides */
.hero-video-layer {
	filter: brightness(0.5) saturate(0.85);
}

/* Slow background video zoom */
.hero-video-layer.is-zooming {
	animation: hero-video-zoom 9s ease-in-out infinite alternate;
}

@keyframes hero-video-zoom {
	from {
		transform: scale(1);
	}

	to {
		transform: scale(1.06);
	}
}

@media (prefers-reduced-motion: reduce) {

	.hero-video-layer.is-zooming {
		animation: none;
	}

}

/* Shared hero dark overlay */
.hero-video-darken {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: #000;
	opacity: 0.2;
}

/* Additional darkening used by homepage hero */
.hero-video-darken-extra {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: #000;
	opacity: 0.15;
}

/* Shared hero green tint */
.hero-video-tint {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(
			120deg,
			rgba(36,189,159,0.28) 0%,
			rgba(0,0,0,0.1) 45%,
			rgba(36,189,159,0.16) 100%
		);
	mix-blend-mode: color;
}

/* Whole hero fade on scroll */
.hero-video-fade {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: #000;
	opacity: 0;
	will-change: opacity;
	pointer-events: none;
}

/* Pause / play control */
.hero-motion-toggle {
	position: absolute;
	top: 1.75rem;
	right: 3.6rem;
	z-index: 3;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(120,120,120,0.35);
	border: 1px solid rgba(255,255,255,0.35);
	color: #e9e9e9;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 17px;
	backdrop-filter: blur(6px);
	transition:
		background 200ms ease,
		border-color 200ms ease,
		color 200ms ease;
}

.hero-motion-toggle:hover {
	background: rgba(120,120,120,0.55);
	border-color: rgba(255,255,255,0.6);
	color: #fff;
}

.hero-motion-toggle:focus-visible {
	outline: 2px solid #5bbaa0;
	outline-offset: 2px;
}

@media (max-width: 900px) {

	.hero-motion-toggle {
		top: 1.25rem;
		right: 1.8rem;
		width: 40px;
		height: 40px;
		font-size: 15px;
	}

}

@media (max-width: 600px) {

	.hero-motion-toggle {
		top: 1rem;
		right: 1.2rem;
		width: 38px;
		height: 38px;
	}

}


/* ═══════════════════════════════════════
   HERO
   ═══════════════════════════════════════ */

.hero-outer {
	position: relative;
	overflow: hidden;
	min-height: 88vh;
	display: flex;
	align-items: center;
	padding: 5rem 3.6rem;
}

#solutions-hero {
	background-color: #000;
	background-position: right center;
	background-size: cover;
	background-repeat: no-repeat;
}

/* Video wrapper used by non-rotating heroes */
.hero-background-video-wrap {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

/* Background video used by non-rotating heroes */
.hero-background-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 0;
	pointer-events: none;
	filter: brightness(0.5) saturate(0.85);
}

/* Faint connection-line animation layer */
.hero-connect-lines {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	opacity: 0;
	transition: opacity 1200ms ease;
}

.hero-connect-lines.animate {
	opacity: 1;
}

.hero-connect-lines .connect-path {
	fill: none;
	stroke: rgba(36,189,159,0.35);
	stroke-width: 1;
	stroke-dasharray: 8 6;
	animation: connect-dash 14s linear infinite;
}

.hero-connect-lines .connect-node {
	fill: rgba(36,189,159,0.55);
	animation: connect-pulse 3.2s ease-in-out infinite;
}

@keyframes connect-dash {
	to {
		stroke-dashoffset: -280;
	}
}

@keyframes connect-pulse {
	0%,
	100% {
		opacity: 0.35;
		r: 2.4;
	}

	50% {
		opacity: 0.9;
		r: 3.4;
	}
}

/* Hero content */
.hero {
	max-width: 1440px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	position: relative;
	z-index: 2;
}

.hero-eyebrow {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.25);
}

.hero-title {
	font-size: clamp(33px, 4.92vw, var(--fs-h1));
    font-weight: 700;
    color: #fff;
    line-height: 1.08;
    letter-spacing: 0;
    will-change: transform, opacity;
    width: 100%;
}

.hero-title .green {
	color: #24bd9f;
}

.hero-sub {
	font-size: var(--fs-lead);
	font-weight: 400;
	color: #e9e9e9;
	line-height: 1.65;
	margin-top: 4px;
	width: 50%;
}

.hero-description {
	font-size: var(--fs-body);
	color: #e9e9e9;
	width: 50%;
}

/* Hero CTA */
.hero-cta {
	margin-top: 20px;
	padding: 14px 36px;
	background: #82abd6;
	color: #fff;
	font-family: "Inter", sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border: 2px solid #82abd6;
	border-radius: 0;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition:
		background 220ms ease,
		color 220ms ease,
		border-color 220ms ease;
	text-decoration: none;
}

.hero-cta:hover {
	background: #000;
	border-color: #82abd6;
	color: #fff;
}

.hero-cta i {
	font-size: 14px;
	transition: transform 300ms cubic-bezier(0.34,1.56,0.64,1);
}

.hero-cta:hover i {
	transform: translateX(6px);
}

.hero-cta .ripple {
	background: rgba(255,255,255,0.15);
}

/* Green hero CTA */
.hero-cta-green {
	background: #000;
	color: #24bd9f;
	border-color: #24bd9f;
}

.hero-cta-green:hover {
	background: #24bd9f;
	border-color: #24bd9f;
	color: #000;
}

#solutions-hero .hero-cta {
	margin-top: 1.75rem;
}

#solutions-hero .green {
	width: 100%;
	display: inline-block;
}

/* Scroll hint */
.scroll-hint {
	margin-top: 2.5rem;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.18);
	display: flex;
	align-items: center;
	gap: 8px;
}

.scroll-hint i {
	font-size: 16px;
	animation: bounce 1.6s ease-in-out infinite;
}

@keyframes bounce {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(5px);
	}
}

/* ═══════════════════════════════════════
   Flexx Card Links
═══════════════════════════════════════ */
.flexx-card-link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.flexx-card-link:hover,
.flexx-card-link:focus {
	color: inherit;
	text-decoration: none;
}
.card-description {
	margin-top: .5rem;
	color: #e9e9e9;
	font-size: var(--fs-body);
	line-height: 1.6;
}
.section-cta-row {
	margin-top: 2.5rem;
}

/* ═══════════════════════════════════════
   Solutions Card Links
═══════════════════════════════════════ */
.solution-card-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

/* ═══════════════════════════════════════
   SOFTWARE DOWNLOAD
═══════════════════════════════════════ */

.software-download-meta {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 1rem;
	flex-wrap: wrap;
}

.software-download-label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #5bbaa0;
}

.software-download-dot {
	width: 4px;
	height: 4px;
	background: rgba(255,255,255,.3);
	border-radius: 50%;
	flex: 0 0 4px;
}

.software-download-note {
	font-size: var(--fs-small);
	color: #e9e9e9;
}

.software-download-hero-cta {
	margin-top: 1.75rem;
}

.software-download-tags {
	margin-top: 1.5rem;
}

.software-download-hero-footer {
	font-size: var(--fs-body);
	color: #e9e9e9;
	text-align: left;
	margin-top: 2rem;
}

/* Yellow download button */
.hero-cta-yellow {
	background: #cba035;
	color: #000;
	border: 2px solid #cba035;
}

.hero-cta-yellow:hover {
	background: #000;
	border-color: #cba035;
	color: #cba035;
}

.software-download-includes-label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #5bbaa0;
	margin-bottom: 1.25rem;
}

.software-download-supporting-text {
	font-size: var(--fs-small);
	color: #e9e9e9;
	margin-top: 1.5rem;
}

.software-download-small-text {
	font-size: var(--fs-small);
}

.software-download-developers-cta {
	margin-top: 2rem;
}

/* Yellow download button */
.btn-yellow {
	background: #cba035;
	color: #000;
	border: 2px solid #cba035;
	transition: background 220ms ease, border-color 220ms ease, color 220ms ease;
}

.btn-yellow:hover {
	background: #000;
	border-color: #cba035;
	color: #cba035;
}

.btn-yellow i {
	transition: transform 300ms cubic-bezier(0.34,1.56,0.64,1);
}

.btn-yellow:hover i {
	transform: translateX(6px);
}

/* Software Download final CTA */
.software-download-final-cta {
	align-items: center;
	text-align: center;
}

.software-download-final-cta-heading {
	align-items: center;
}

.software-download-final-cta-heading p {
	margin: 1rem auto 0;
}

.software-download-final-cta-button {
	justify-content: center;
}

/* ═══════════════════════════════════════
   Control Plane Template 
═══════════════════════════════════════ */
#control-plane-hero .hero-description {
	font-size: var(--fs-body);
	font-weight: 400;
	color: #e9e9e9;
	max-width: 560px;
	line-height: 1.65;
	margin-top: 0.5rem;
}

#control-plane-hero .hero-cta {
	margin-top: 1.75rem;
}

/* Control Plane Content Rows */
/* Control Plane Content Rows */
.control-plane-content-secondary {
	font-size: var(--fs-small);
}

.control-plane-orb {
	position: absolute;
	pointer-events: none;
}

.control-plane-orb-large {
	width: 360px;
	height: 360px;
	top: -12%;
	right: 6%;
	background: radial-gradient(
		circle,
		rgba(255, 255, 255, 0.05) 0%,
		transparent 70%
	);
}

.control-plane-orb-small {
	width: 180px;
	height: 180px;
	bottom: -8%;
	left: 4%;
	background: radial-gradient(
		circle,
		rgba(255, 255, 255, 0.045) 0%,
		transparent 70%
	);
}

/* Control Plane Deployment */
.control-plane-deployment-secondary {
	font-size: var(--fs-small);
	color: #e9e9e9;
	margin-top: 2rem;
}

/* Control Plane Bottom CTA */
.control-plane-bottom-cta {
	align-items: center;
	text-align: center;
}

.control-plane-bottom-cta .heading-block {
	align-items: center;
}

.control-plane-bottom-cta .heading-block p {
	margin: 1rem auto 0;
}

.control-plane-bottom-cta .section-cta-row {
	justify-content: center;
}

/* ═══════════════════════════════════════
   Edge Software
═══════════════════════════════════════ */
.edge-software-content-secondary {
	font-size: var(--fs-small);
}

.edge-software-orb {
	position: absolute;
	pointer-events: none;
}

.edge-software-orb-large {
	width: 360px;
	height: 360px;
	top: -12%;
	right: 6%;
	background: radial-gradient(
		circle,
		rgba(255, 255, 255, 0.05) 0%,
		transparent 70%
	);
}

.edge-software-orb-small {
	width: 180px;
	height: 180px;
	bottom: -8%;
	left: 4%;
	background: radial-gradient(
		circle,
		rgba(255, 255, 255, 0.045) 0%,
		transparent 70%
	);
}

/* Edge Software Bottom CTA */
.edge-software-bottom-cta {
	align-items: center;
	text-align: center;
}

.edge-software-bottom-cta .heading-block {
	align-items: center;
}

.edge-software-bottom-cta .heading-block p {
	margin: 1rem auto 0;
}

.edge-software-bottom-cta .section-cta-row {
	justify-content: center;
}

/* ═══════════════════════════════════════
   Connector Drivers 
═══════════════════════════════════════ */
.connector-drivers-compatibility-footer {
	font-size: var(--fs-small);
	color: #e9e9e9;
	margin-top: 2rem;
}

.connector-drivers-compatibility-footer a {
	color: #24bd9f;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.connector-drivers-compatibility-footer a:hover {
	color: #fff;
}

/* ═══════════════════════════════════════
   Final CTA
═══════════════════════════════════════ */
.final-cta-inner {
	align-items: center;
	text-align: center;
}

.final-cta-heading {
	align-items: center;
}

.final-cta-heading p {
	margin: 1rem auto 0;
}

.final-cta-row {
	justify-content: center;
}

/* ═══════════════════════════════════════
   Download Form
═══════════════════════════════════════ */
.download-intro-text {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.download-intro-text + .download-intro-text {
	font-size: var(--fs-small);
	margin-top: 0.5rem;
}

/* ═══════════════════════════════════════
   Software Licence Agreement
═══════════════════════════════════════ */

.software-licence-agreement {
	padding-top: 5.04rem;
}

.software-licence-agreement-inner {
	align-items: center;
	text-align: center;
}

.software-licence-agreement-heading {
	align-items: center;
	max-width: 640px;
}

.software-licence-agreement-heading p {
	max-width: 60%;
	margin: 0 auto;
}

.software-licence-agreement-cta {
	justify-content: center;
	margin-top: 2rem;
}

/* ═══════════════════════════════════════
   Final CTA
═══════════════════════════════════════ */

.connector-drivers-bottom-cta {
	align-items: center;
	text-align: center;
}

.connector-drivers-bottom-cta .heading-block {
	align-items: center;
}

.connector-drivers-bottom-cta .heading-block p {
	margin: 1rem auto 0;
}

.connector-drivers-bottom-cta .section-cta-row {
	justify-content: center;
}

/* ═══════════════════════════════════════
   HubSpot newsletter form
═══════════════════════════════════════ */

#hubspot-newsletter-container {
	--hsf-row__horizontal-spacing: 0;
	--hsf-row__vertical-spacing: 0;

	width: 100%;
	max-width: 480px;
	margin: 2rem auto 0;
}

#hubspot-newsletter-container .hsfc-Row {
	gap: 0;
	margin-bottom: 0;
}

#hubspot-newsletter-container .hsfc-Step {
	background: transparent;
	border: 0;
}

#hubspot-newsletter-container .hsfc-Step__Content {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas:
		"email button"
		"consent consent";
	column-gap: 12px;
	row-gap: 12px;
	padding: 0;
	align-items: start;
}

#hubspot-newsletter-container .hsfc-EmailField {
	margin: 0;
	padding: 0;
}

/* Email row */
#hubspot-newsletter-container .hsfc-Row:first-child {
	grid-area: email;
	margin: 0;
	min-width: 0;
}

#hubspot-newsletter-container .hsfc-Row:first-child > * {
	width: 100%;
}


/* Hide email label so it matches original placeholder design */
#hubspot-newsletter-container .hsfc-Row:first-child .hsfc-FieldLabel {
	display: none;
}


/* Email input */
#hubspot-newsletter-container .hsfc-TextInput {
	width: 100%;
	height: 50px;
	background: #000;
	border: 1px solid #24bd9f;
	border-radius: 0;
	color: #fff;
	font-family: "Inter", sans-serif;
	font-size: 15px;
	padding: 14px 18px;
	outline: none;
	box-shadow: none;
	box-sizing: border-box;
}

#hubspot-newsletter-container .hsfc-TextInput:focus {
	border-color: #24bd9f;
	box-shadow: none;
	outline: none;
}


/* Consent */
#hubspot-newsletter-container .hsfc-CheckboxField {
	grid-area: consent;
	margin: 0;
}

#hubspot-newsletter-container .hsfc-CheckboxField label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	cursor: pointer;
}

#hubspot-newsletter-container .hsfc-CheckboxInput {
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
	margin: 2px 0 0;
	cursor: pointer;
}

#hubspot-newsletter-container .hsfc-CheckboxField label span {
	font-family: "Inter", sans-serif;
	font-size: 12px;
	line-height: 1.5;
	color: #e9e9e9;
	text-align: left;
}

#hubspot-newsletter-container .hsfc-CheckboxField a {
	color: #5bbaa0;
	text-decoration: underline;
}


/* Submit row */
#hubspot-newsletter-container .hsfc-NavigationRow {
	grid-area: button;
	margin: 0;
	align-self: start;
}

#hubspot-newsletter-container .hsfc-NavigationRow__Buttons {
	justify-content: flex-start;
}


/* Submit button */
#hubspot-newsletter-container .hsfc-Button {
	height: 50px;
	background: #24bd9f;
	color: #000;
	border: 2px solid #24bd9f;
	border-radius: 0;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 0 26px;
	cursor: pointer;
	white-space: nowrap;
	transform: none;
	transition:
		background 200ms ease,
		color 200ms ease,
		border-color 200ms ease;
}

#hubspot-newsletter-container .hsfc-Button:not([disabled]):hover {
	background: #000;
	color: #24bd9f;
	border-color: #24bd9f;
	transform: none;
}


/* Validation */
#hubspot-newsletter-container .hsfc-ErrorAlert {
	font-family: "Inter", sans-serif;
	font-size: 12px;
	line-height: 1.4;
	color: #e65b5b;
	text-align: left;
	margin: 6px 0 0;
}


/* Mobile */
@media (max-width: 600px) {

	#hubspot-newsletter-container .hsfc-Step__Content {
		grid-template-columns: 1fr;
		grid-template-areas:
			"email"
			"consent"
			"button";
	}

	#hubspot-newsletter-container .hsfc-Button {
		width: 100%;
	}

}

/* ═══════════════════════════════════════
   HubSpot software download form
═══════════════════════════════════════ */

#hubspot-download-container {
	width: 100%;
	max-width: 520px;
	margin-top: 2.5rem;
	text-align: left;
}


/* Reset HubSpot container */
#hubspot-download-container .hsfc-Step {
	background: transparent;
	border: 0;
}

#hubspot-download-container .hsfc-Step__Content {
	padding: 0;
}


/* Rows */
#hubspot-download-container .hsfc-Row {
	gap: 20px;
	margin-bottom: 20px;
}


/* Fields */
#hubspot-download-container .hsfc-TextField,
#hubspot-download-container .hsfc-EmailField,
#hubspot-download-container .hsfc-CheckboxField {
	display: flex;
	flex-direction: column;
	gap: 8px;
}


/* Labels */
#hubspot-download-container .hsfc-FieldLabel {
	margin: 0;
	padding: 0;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #e9e9e9;
}

#hubspot-download-container .hsfc-FieldLabel__RequiredIndicator {
	color: #5bbaa0;
}


/* Inputs */
#hubspot-download-container .hsfc-TextInput {
	width: 100%;
	background: #000;
	border: 1px solid #24bd9f;
	border-radius: 0;
	color: #fff;
	font-family: "Inter", sans-serif;
	font-size: 15px;
	padding: 14px 16px;
	outline: none;
	box-shadow: none;
}

#hubspot-download-container .hsfc-TextInput:hover,
#hubspot-download-container .hsfc-TextInput:focus {
	border-color: #24bd9f;
	box-shadow: none;
	outline: none;
}

#hubspot-download-container .hsfc-TextInput::placeholder {
	color: rgba(255,255,255,0.4);
}


/* Checkbox */
#hubspot-download-container .hsfc-CheckboxField label {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	cursor: pointer;
}

#hubspot-download-container .hsfc-CheckboxInput {
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
	margin: 3px 0 0;
	cursor: pointer;
}

#hubspot-download-container .hsfc-CheckboxField label span {
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.5;
	color: #e9e9e9;
}

#hubspot-download-container .hsfc-CheckboxField a {
	color: #5bbaa0;
	text-decoration: underline;
}

#hubspot-download-container .hsfc-CheckboxField a:hover {
	color: #82abd6;
}


/* Submit */
#hubspot-download-container .hsfc-NavigationRow {
	margin-top: 0;
}

#hubspot-download-container .hsfc-NavigationRow__Buttons,
#hubspot-download-container .hsfc-NavigationRow__Buttons:has(> *:only-child) {
	justify-content: flex-start;
}

#hubspot-download-container .hsfc-Button {
	width: 100%;
	background: #24bd9f;
	color: #000;
	border: 2px solid #24bd9f;
	border-radius: 0;
	font-family: "Inter", sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 14px 36px;
	cursor: pointer;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	transition:
		background 220ms ease,
		border-color 220ms ease,
		color 220ms ease;
}

#hubspot-download-container .hsfc-Button:not([disabled]):hover {
	background: #000;
	border-color: #24bd9f;
	color: #24bd9f;
	transform: none;
}


/* Arrow */
#hubspot-download-container .hsfc-Button::after {
	content: "\ea1c";
	font-family: "tabler-icons";
	font-size: 14px;
	font-weight: normal;
	line-height: 1;
	margin-left: 10px;
	transition: transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

#hubspot-download-container .hsfc-Button:not([disabled]):hover::after {
	transform: translateX(6px);
}


/* Validation */
#hubspot-download-container .hsfc-ErrorAlert {
	font-family: "Inter", sans-serif;
	font-size: 13px;
	line-height: 1.4;
	color: #e65b5b;
	margin-top: 6px;
}


/* Mobile */
@media (max-width: 600px) {

	#hubspot-download-container {
		max-width: 100%;
	}

}

/* Mobile to tablet */
@media (max-width: 900px) {

	.hero-title {
		min-height: 3.2em;
	}
	.hero-rotate {
		width: 100%;
	}
	.hero-sub,
	.hero-description {
		width: 100%;
	}

}

/* Tablet */
@media (min-width: 901px) and (max-width: 1200px) {

	.hero-title {
		min-height: 2.2em;
	}
		.hero-rotate {
		width: 100%;
	}

}

/* ═══════════════════════════════════════
   404 Page
═══════════════════════════════════════ */

.notfound-inner {
	align-items: center;
	text-align: center;
	min-height: 60vh;
	justify-content: center;
}

.notfound-heading {
	align-items: center;
	max-width: 640px;
}

.notfound-code {
	font-size: clamp(60px, 10vw, 140px);
	font-weight: 700;
	color: #24bd9f;
	line-height: 1;
	margin-bottom: 1.5rem;
}

.heading-block p.notfound-lead {
	width: 482px;
	max-width: none;
	margin-left: auto;
	margin-right: auto;
}

.notfound-ctas {
	justify-content: center;
	margin-top: 1rem;
}

.notfound-popular {
	margin-top: 3.5rem;
}

.notfound-popular-title {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #5bbaa0;
	margin-bottom: 1.25rem;
}

.notfound-popular-links {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
}

@media (max-width: 600px) {

	.notfound-inner {
		min-height: 65vh;
	}

	.heading-block p.notfound-lead {
		width: 100%;
	}

	.notfound-ctas {
		width: 100%;
	}

	.notfound-ctas .btn {
		width: 100%;
	}

}

/* ═══════════════════════════════════════
   Flexxcore
═══════════════════════════════════════ */
.flexxcore-final-cta-inner {
	align-items: center;
	text-align: center;
}

.flexxcore-final-cta-heading {
	align-items: center;
}

.flexxcore-final-cta-description {
	margin: 1rem auto 0;
}

.flexxcore-final-cta-buttons {
	justify-content: center;
}

/* ═══════════════════════════════════════════════════════
   WORDPRESS ARTICLE CONTENT
   Gutenberg content styling
═══════════════════════════════════════════════════════ */

/*
 * Standard paragraphs.
 */
.article-body p {
	font-size: var(--fs-body);
	font-weight: 400;
	line-height: 1.6;
	color: #e9e9e9;
	margin: 0 0 1.6rem;
}

/*
 * Lead paragraph.
 */
.article-body .is-style-lede {
	font-size: var(--fs-body);
	font-weight: 400;
	line-height: 1.6;
	color: #e9e9e9;
	margin-bottom: 1.6rem;
}

/*
 * Headings.
 */
.article-body h2 {
	font-size: clamp(18px, 3.05vw, var(--fs-h2));
	font-weight: 700;
	color: #fff;
	line-height: 1.15;
	letter-spacing: 0;
	margin: 3.5rem 0 1rem;
}

.article-body h3 {
	font-size: clamp(14px, 2.42vw, var(--fs-h3));
	font-weight: 700;
	color: #fff;
	line-height: 1.2;
	letter-spacing: normal;
	margin: 2.5rem 0 1rem;
}

.article-body h4 {
	font-size: clamp(11px, 1.95vw, var(--fs-h4));
	font-weight: 700;
	color: #fff;
	line-height: 1.2;
	letter-spacing: normal;
	margin: 2rem 0 .75rem;
}

.article-body h5 {
	font-size: var(--fs-card-title);
	font-weight: 700;
	color: #fff;
	line-height: 1.25;
	letter-spacing: normal;
	margin: 1.5rem 0 .6rem;
}

.article-body h6 {
	font-size: var(--fs-lead);
	font-weight: 700;
	color: #e9e9e9;
	line-height: 1.3;
	letter-spacing: .01em;
	margin: 1.25rem 0 .5rem;
}

.article-body > h2:first-child,
.article-body > h3:first-child,
.article-body > h4:first-child,
.article-body > h5:first-child,
.article-body > h6:first-child {
	margin-top: 0;
}

/*
 * Lists.
 */
.article-body ul,
.article-body ol {
	color: #e9e9e9;
	padding-left: 1.2rem;
	margin: 0 0 1.6rem;
	line-height: 1.8;
}

.article-body ul {
	list-style: disc;
}

.article-body ol {
	list-style: decimal;
}

.article-body li {
	font-size: var(--fs-body);
	color: #e9e9e9;
	line-height: 1.7;
	margin-bottom: .4rem;
}

.article-body li:last-child {
	margin-bottom: 0;
}

.article-body ul ul,
.article-body ul ol,
.article-body ol ul,
.article-body ol ol {
	margin-top: .5rem;
	margin-bottom: .5rem;
}

/*
 * Check / Cross list styles.
 */
.article-body .is-style-check-list,
.article-body .is-style-cross-list {
	list-style: none;
	padding-left: 0;
}

.article-body .is-style-check-list li,
.article-body .is-style-cross-list li {
	position: relative;
	padding-left: 34px;
}

.article-body .is-style-check-list li::before,
.article-body .is-style-cross-list li::before {
	position: absolute;
	top: 1px;
	left: 0;
	width: 22px;
	height: 22px;
	font-family: "tabler-icons";
	font-size: 20px;
	font-weight: normal;
	line-height: 22px;
}

.article-body .is-style-check-list li::before {
	content: "\ea5e";
	color: #24bd9f;
}

.article-body .is-style-cross-list li::before {
	content: "\eb55";
	color: #c0392b;
}

/*
 * Quotes.
 */
.article-body blockquote {
	border-left: 3px solid #24bd9f;
	padding: .25rem 0 .25rem 1.5rem;
	margin: 2.5rem 0;
	font-size: 20px;
	line-height: 1.55;
	color: #fff;
	font-style: italic;
}

.article-body blockquote p {
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	margin-bottom: .85rem;
}

.article-body blockquote p:last-child {
	margin-bottom: 0;
}

.article-body blockquote cite {
	display: block;
	margin-top: .85rem;
	font-size: var(--fs-subbody);
	color: #e9e9e9;
	font-style: normal;
	letter-spacing: .02em;
}

/*
 * Strong / bold and emphasis.
 */
.article-body strong,
.article-body b {
	font-weight: 700;
	color: #fff;
}

.article-body em,
.article-body i {
	font-style: italic;
}

/*
 * Links.
 */
.article-body a {
	color: #5bbaa0;
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color 200ms ease;
}

.article-body a:hover,
.article-body a:focus {
	color: #82abd6;
}

/*
 * Separator.
 */
.article-body hr,
.article-body .wp-block-separator {
	border: 0;
	border-top: 1px solid rgba(255,255,255,0.1);
	margin: 3rem 0;
}

/*
 * Images.
 */
.article-body img {
	display: block;
	max-width: 100%;
	height: auto;
}

.article-body figure,
.article-body .wp-block-image {
	margin: 2.5rem 0;
}

.article-body figcaption,
.article-body .wp-element-caption,
.article-body .wp-block-image figcaption {
	margin-top: .75rem;
	font-size: var(--fs-subbody);
	line-height: 1.5;
	color: #e9e9e9;
}

/*
 * Gutenberg wide/full blocks.
 */
.article-body .alignwide,
.article-body .alignfull {
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/*
 * Columns.
 */
.article-body .wp-block-columns {
	gap: 2rem;
	margin: 2.5rem 0;
}

/*
 * Tables.
 */
.article-body .wp-block-table,
.article-body table {
	width: 100%;
	margin: 2.5rem 0;
	overflow-x: auto;
}

.article-body table {
	border-collapse: collapse;
}

.article-body th,
.article-body td {
	border: 1px solid rgba(255,255,255,0.15);
	padding: .9rem 1rem;
	text-align: left;
	font-size: var(--fs-body);
	line-height: 1.5;
}

.article-body th {
	color: #fff;
	font-weight: 700;
}

.article-body td {
	color: #e9e9e9;
}

/*
 * Buttons.
 */
.article-body .wp-block-buttons {
	margin: 2rem 0;
}

.article-body .wp-block-button__link {
	background: #24bd9f;
	color: #000;
	border: 2px solid #24bd9f;
	border-radius: 0;
	padding: 14px 36px;
	font-family: "Inter", sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	transition:
		background 220ms ease,
		color 220ms ease,
		border-color 220ms ease;
}

.article-body .wp-block-button__link:hover {
	background: #000;
	color: #24bd9f;
	border-color: #24bd9f;
}

/*
 * Preformatted / code.
 */
.article-body pre {
	max-width: 100%;
	overflow-x: auto;
	margin: 2rem 0;
	padding: 1.25rem;
	background: #0a0a0a;
	border: 1px solid rgba(255,255,255,0.12);
	color: #e9e9e9;
	line-height: 1.6;
}

.article-body code {
	font-family: monospace;
	font-size: .9em;
}

/*
 * Article emphasis paragraph.
 */
.article-body .is-style-article-emphasis {
	font-size: var(--fs-h5);
	font-weight: 600;
	color: #fff;
	line-height: 1.5;
	margin: 1.5rem 0;
	padding-left: 1.2rem;
	border-left: 3px solid #24bd9f;
}

/*
 * Boilerplate title.
 */
.article-body .is-style-article-boilerplate-title {
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 .75rem;
	letter-spacing: .02em;
	text-transform: uppercase;
}

/*
 * Boilerplate content.
 */
.article-body .is-style-article-boilerplate p {
	font-size: var(--fs-subbody);
	line-height: 1.75;
	color: #e9e9e9;
}

/*
 * Embeds.
 */
.article-body .wp-block-embed,
.article-body iframe,
.article-body video {
	max-width: 100%;
}

.article-body .wp-block-embed {
	margin: 2.5rem 0;
}

/*
 * Mobile.
 */
@media (max-width: 600px) {

	.article-body blockquote {
		font-size: 18px;
		padding-left: 1.1rem;
	}

	.article-body .wp-block-columns {
		gap: 1.25rem;
	}
}

/*
 * Article stats.
 */
.article-body .article-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 3rem 0;
}

.article-body .article-stat {
	text-align: center;
	padding: 2rem 1rem;
	border: 1px solid rgba(255,255,255,0.12);
}

.article-body .article-stat-number {
	font-size: clamp(40px, 5vw, 56px);
	font-weight: 700;
	color: #24bd9f;
	line-height: 1;
}

.article-body .article-stat-label {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #e9e9e9;
	margin-top: .6rem;
	line-height: 1.4;
}

@media (max-width: 900px) {
	.article-body .article-stats {
		grid-template-columns: 1fr;
	}
}

/* ═══════════════════════════════════════
   Thank You Page
═══════════════════════════════════════ */

.thank-you-header .section-inner {
	padding-top: 5.04rem;
	padding-bottom: 2.5rem;
	align-items: center;
	text-align: center;
}

.thank-you-header .heading-block {
	align-items: center;
	width: 100%;
	margin-bottom: 0;
}

.thank-you-header .heading-block p {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.thank-you-prerequisite .section-inner {
	padding-top: 0;
	padding-bottom: 2.5rem;
}

.thank-you-prerequisite .section-text {
	font-size: var(--fs-body);
	font-weight: 700;
	color: #fff;
	line-height: 1.65;
}

/* ═══════════════════════════════════════
   Media Coverage logos
═══════════════════════════════════════ */

#media-coverage-grid .news-card-img-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 220px;
	padding: 35px;
	background: #fff;
	overflow: hidden;
	box-sizing: border-box;
}

#media-coverage-grid .news-card-img-wrap img {
	display: block;
	width: auto;
	height: auto;
	max-width: 260px;
	max-height: 130px;
	margin: auto;
	object-fit: contain;
	object-position: center;

	/* Remove existing image effects */
	filter: none;
	background: transparent;
}

/* ═══════════════════════════════════════
   Press Release cards
═══════════════════════════════════════ */

#news-grid .news-card {
	opacity: 1;
	transform: none;
}