:root {
	/* Brand Colours */
	--brand-colour-red: #bc3232;
	--brand-colour-orange: #da7236;
	--brand-colour-blue: #0d2332;

	/* Background Colours */
	--bg-light: #ffffff;
	--bg-medium: #f5f5f7;
	--bg-dark: #1d1d1f;

	/* Border Colours */
	--border-light: #d2d2d7;
	--border-medium: #86868b;
	--border-dark: #3a3a3c;

	/* Text Colours */
	--text-light: #f5f5f7;
	--text-medium: #6e6e73;
	--text-dark: #0d2332;

	/* Title Colours */
	--title-light: #ffffff;
	--title-medium: #bc3232;
	--title-dark: #0d2332;

	/* Buttons Colours */
	--button-primary: #bc3232;
	--button-primary-hover: #da7236;
	--button-secondary-hover: #0d2332;

	/* Links Colours */
	--link-primary: #bc3232;
	--link-primary-hover: #da7236;
}

/* ---------- Reset and Base Styles ---------- */

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

html {
	scroll-behavior: smooth;
}

body {
	font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

hr {
	border: none;
	border-top: 1px solid var(--border-light);
	margin: 6rem 0;
}

/* ---------- Button Styles ---------- */

.btn-primary {
	display: inline-block;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	color: var(--text-light);
	padding: 1.25rem 7rem;
	border: 2px solid var(--brand-colour-red);
	border-radius: 0.5rem;
	background: var(--button-primary);
}

.btn-primary i {
	font-size: 1.2rem;
	margin-left: 0.5rem;
}

.btn-primary:hover {
	background: var(--button-primary-hover);
	border: 2px solid var(--button-primary-hover);
	box-shadow: 0 4px 16px rgba(218, 114, 54, 0.4);
}

.btn-secondary {
	display: inline-block;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	color: var(--text-light);
	padding: 1.25rem 7rem;
	border: 2px solid var(--border-light);
	border-radius: 0.5rem;
}

.btn-secondary:hover {
	background: rgba(13, 35, 50, 0.6);
	backdrop-filter: saturate(180%) blur(20px);
	border: 2px solid rgba(255, 255, 255, 0.3);
	box-shadow: 0 4px 16px rgba(13, 35, 50, 0.4);
}

.btn-outline {
	display: flex;
	justify-content: center;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--text-dark);
	padding: 1rem 4rem;
	border: 2px solid var(--button-primary);
	border-radius: 0.5rem;
	transition: all 0.3s;
}

.btn-outline:hover {
	background: var(--button-primary);
	color: var(--text-light);
	box-shadow: 0 4px 16px rgba(188, 50, 50, 0.4);
}

/* ---------- Header Styles ---------- */

#desktop-navbar {
	display: block;
}

#mobile-navbar {
	display: none;
}

.navbar {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: var(--bg-light);
	border-bottom: 1px solid var(--brand-colour-red);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	z-index: 1000;
	transition:
		background 0.3s ease,
		box-shadow 0.3s ease;
}

.navbar.scrolled {
	background: rgba(13, 35, 50, 0.98);
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);
}

.navbar-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1200px;
	padding: 1rem 0;
	margin: 0 auto;
}

.navbar-logo img {
	height: 50px;
}

.navbar-menu {
	display: flex;
	list-style: none;
	gap: 2rem;
}

.navbar-menu li a {
	font-weight: 600;
	text-decoration: none;
	color: var(--text-dark);
	transition: color 0.3s;
}

.navbar.scrolled .navbar-menu li a {
	color: var(--text-light);
}

.navbar-menu li a:hover {
	color: var(--link-primary-hover);
}

.navbar.scrolled .navbar-menu li a:hover {
	color: var(--link-primary-hover);
}

/* ----- Mobile Menu -----*/

.navbar-toggle {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 1.5rem;
	height: 1rem;
	padding: 0;
	background: transparent;
	border: none;
	cursor: pointer;
}

.navbar-toggle span {
	display: block;
	height: 3px;
	background: var(--text-dark);
	border-radius: 2px;
}

/* ----- Language Switcher Styles ----- */

.language-switcher-container {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.language-switcher-container i {
	font-size: 1.25rem;
	color: var(--text-dark);
	transition: color 0.3s;
	pointer-events: none;
}

.navbar.scrolled .language-switcher-container i {
	color: var(--text-light);
}

.language-button {
	min-width: 50px;
	font-family: "Poppins", sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	text-align: center;
	color: var(--text-dark);
	padding: 0.5rem 0.75rem;
	background: var(--bg-light);
	border: 2px solid var(--border-light);
	border-radius: 0.375rem;
	transition: all 0.3s;
	cursor: pointer;
}

.language-button:hover {
	border-color: var(--brand-colour-red);
	box-shadow: 0 2px 8px rgba(188, 50, 50, 0.2);
}

.language-button:focus {
	outline: none;
	border-color: var(--brand-colour-red);
	box-shadow: 0 0 0 3px rgba(188, 50, 50, 0.1);
}

.navbar.scrolled .language-button {
	color: var(--text-dark);
	background: rgba(255, 255, 255, 0.95);
	border-color: rgba(255, 255, 255, 0.5);
}

.navbar.scrolled .language-button:hover {
	border-color: var(--brand-colour-red);
}

/* ----- Language Dropdown Menu ----- */

.language-menu {
	position: absolute;
	top: 100%;
	right: 0;
	display: none;
	flex-direction: column;
	min-width: 180px;
	background: var(--bg-light);
	border: 2px solid var(--border-light);
	border-radius: 0.375rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	margin-top: 0.5rem;
	overflow: hidden;
	z-index: 1000;
}

.language-menu.active {
	display: flex;
}

.language-menu-item {
	display: flex;
	align-items: center;
	font-family: "Poppins", sans-serif;
	font-size: 0.9rem;
	text-align: left;
	color: var(--text-dark);
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	background: var(--bg-light);
	border: none;
	transition: all 0.2s;
	cursor: pointer;
}

.language-menu-item:hover {
	color: var(--brand-colour-red);
	background: var(--bg-medium);
}

.language-menu-item.active {
	font-weight: 600;
	color: var(--brand-colour-red);
	background: rgba(188, 50, 50, 0.1);
}

.language-menu-item .lang-initials {
	min-width: 30px;
	font-weight: 700;
	color: var(--brand-colour-red);
}

.navbar.scrolled .language-menu {
	background: rgba(255, 255, 255, 0.98);
	border-color: rgba(0, 0, 0, 0.1);
}

/* ---------- Hero Styles ---------- */

#hero {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 75vh;
	color: var(--text-light);
	padding: 6rem 0 4rem;
	background-image: url("../images/firedat-hero-bg.webp");
	background-size: cover;
	background-position: center;
	overflow: hidden;
}

#hero .container {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.hero-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	max-width: 600px;
	text-align: left;
	gap: 2rem;
	padding: 3rem 4rem;
	background: rgba(13, 35, 50, 0.85);
	backdrop-filter: saturate(180%) blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 1.5rem;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
	z-index: 1;
}

.hero-title {
	font-size: 2.5rem;
	font-weight: 600;
}

.hero-spacer {
	width: 600px;
}

.hero-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 2rem;
}

.hero-buttons .btn-primary,
.hero-buttons .btn-secondary {
	padding: 1.25rem 4rem;
}

/* ---------- Sections Styles ---------- */

/* ---------- Main Section Styles ---------- */

#problem,
#solution,
#features,
#platform,
#products,
#target-audience,
#footer {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 3rem 0;
}

#solution,
#products {
	background: var(--bg-medium);
}

#features {
	background-image: url("../images/firedat-highlight-bg.webp");
	background-size: cover;
	background-position: center;
}

#footer {
	border-top: 2px solid var(--brand-colour-red);
	background: var(--brand-colour-blue);
}

#footer .main-container {
	gap: 3rem;
	margin-bottom: 0;
}

/* --- Container dos Headers --- */

.header-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.header-title {
	font-size: 3.5rem;
	font-weight: 600;
}

.header-subtitle {
	font-size: 1.25rem;
	color: var(--text-medium);
}

.header-title-alt {
	font-size: 4rem;
	font-weight: 600;
	color: var(--text-light);
}

.header-subtitle-alt {
	font-size: 1.25rem;
	color: var(--text-light);
}

/* --- Container dos Conteúdos --- */

.main-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 1200px;
	gap: 5rem;
	margin: 5rem auto;
}

.sub-container,
.sub-container-alt {
	display: flex;
	gap: 5rem;
}

.sub-container-alt {
	flex-direction: row-reverse;
}

.content-container {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2rem;
}

.content-container-text {
	max-width: 600px;
	text-align: justify;
}

.content-container-text h3 {
	display: inline-block;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--title-medium);
	border-bottom: 2px solid var(--brand-colour-red);
	padding-bottom: 0.35rem;
	margin-bottom: 1rem;
}

/* Boxes de Destaque */

.content-container-boxes {
	display: flex;
	flex-direction: column;
	max-width: 600px;
	gap: 0.5rem;
}

.container-box-header {
	color: var(--text-light);
	padding: 1rem;
	background: var(--brand-colour-blue);
}

.container-box {
	display: flex;
	align-items: center;
	padding: 1rem;
	background: var(--bg-light);
	border: 2px solid var(--border-light);
}

.container-box i {
	font-size: 1.5rem;
	color: var(--brand-colour-red);
	margin-left: 1rem;
}

.container-box-header p,
.container-box p {
	margin-left: 1rem;
}

/* Image Container */

.image-container {
	display: flex;
	flex: 1;
	align-items: center;
}

.image-container img {
	width: 100%;
}

/* Botões de Solução */

#btn-solution-desktop {
	display: block;
}

#btn-solution-mobile {
	display: none;
}

/* ---------- Features Section Styles ---------- */

.features-grid,
.products-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.feature-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: left;
	gap: 1.5rem;
	padding: 3rem 2.5rem;
	background: var(--bg-light);
	border-radius: 1rem;
	transition: transform 0.3s;
}

.feature-icon {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.feature-icon i {
	font-size: 3rem;
	color: var(--brand-colour-red);
}

.feature-card h3 {
	font-size: 1.5rem;
	font-weight: 600;
}

.feature-card p {
	color: var(--text-secondary);
}

.feature-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.feature-list li {
	position: relative;
	font-size: 1rem;
	color: var(--text-secondary);
	padding: 8px 0 8px 24px;
}

.feature-list li::before {
	content: "•";
	position: absolute;
	left: 0;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--brand-colour-red);
}

.feature-card:hover,
.product-card:hover {
	transform: scale(1.02);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}

/* ---------- Platform Section Styles ---------- */

.platform-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3rem;
}

.platform-item {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.platform-image {
	position: relative;
	width: 100%;
	border-radius: 20px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
	transition: all 0.4s ease;
	overflow: hidden;
}

.platform-image:hover {
	transform: translateY(-8px);
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.25);
}

.platform-image img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--border-light);
	border-radius: 20px;
}

.platform-content {
	text-align: center;
}

.platform-content h3 {
	font-size: 2rem;
	font-weight: 700;
	color: var(--text-dark);
	margin-bottom: 0.75rem;
}

.platform-content p {
	max-width: 500px;
	font-size: 1.125rem;
	line-height: 1.6;
	color: var(--text-medium);
	margin: 0 auto;
}

/* ---------- Products Section Styles ---------- */

.product-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 3rem 2.5rem;
	background-color: var(--bg-light);
	border-radius: 1rem;
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s;
}

.product-badge {
	display: flex;
	justify-content: center;
	width: 150px;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--text-light);
	padding: 0.5rem 1.25rem;
	background: linear-gradient(135deg,
			var(--brand-colour-red),
			var(--brand-colour-orange));
	border-radius: 1.5rem;
	box-shadow: 0 4px 12px rgba(188, 50, 50, 0.2);
}

.product-card h3 {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--text-dark);
}

.product-description {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--text-medium);
}

.product-features {
	list-style: none;
	padding: 0;
}

.product-features li {
	position: relative;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--text-dark);
	padding: 0.5rem 0 0.5rem 2rem;
}

.product-features li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 10px;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--brand-colour-red);
}

/* ---------- Target Audience Section ---------- */

.target-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 3rem;
}

.target-card {
	position: relative;
	text-align: center;
	padding: 3rem 2.5rem;
	background: var(--bg-light);
	border: 1px solid var(--border-light);
	border-radius: 20px;
	transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.target-card::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg,
			var(--brand-colour-red),
			var(--brand-colour-orange));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s ease;
}

.target-card:hover::before {
	transform: scaleX(1);
}

.target-card:hover {
	transform: translateY(-8px);
	border-color: transparent;
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.08);
}

.target-card i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 5rem;
	height: 5rem;
	font-size: 2.75rem;
	color: var(--brand-colour-red);
	background: rgba(188, 50, 50, 0.08);
	border-radius: 50%;
	transition: all 0.3s ease;
	margin-bottom: 1.5rem;
}

.target-card:hover i {
	color: var(--text-light);
	background: linear-gradient(135deg,
			var(--brand-colour-red),
			var(--brand-colour-orange));
	transform: scale(1.05);
}

.target-card h3 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--text-dark);
}

/* ---------- CTA Section ---------- */

#cta {
	position: relative;
	color: var(--text-light);
	padding: 10rem 0;
	background-image: url("../images/firedat-highlight-bg.webp");
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	overflow: hidden;
}

#cta::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg,
			rgba(13, 35, 50, 0.92) 0%,
			rgba(26, 58, 74, 0.88) 50%,
			rgba(13, 35, 50, 0.92) 100%);
	pointer-events: none;
	z-index: 1;
}

#cta::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background:
		radial-gradient(circle at 20% 50%,
			rgba(188, 50, 50, 0.2) 0%,
			transparent 50%),
		radial-gradient(circle at 80% 50%,
			rgba(218, 114, 54, 0.15) 0%,
			transparent 50%);
	pointer-events: none;
	z-index: 1;
}

.cta-content {
	position: relative;
	max-width: 750px;
	text-align: center;
	margin: 0 auto;
	z-index: 1;
}

.cta-content h2 {
	font-size: 4rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
}

.cta-content p {
	max-width: 750px;
	font-size: 1.25rem;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.85);
	margin-top: 1rem;
	margin-bottom: 3rem;
	margin-left: auto;
	margin-right: auto;
}

/* ---------- Footer ---------- */

.partners-grid {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3rem;
	margin-bottom: 1rem;
}

.partners-grid .partner-item {
	display: flex;
	align-items: center;
	justify-content: center;
}

.partners-grid h4 {
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--text-light);
	margin: 0;
	white-space: nowrap;
}

.partners-grid img {
	height: 40px;
	width: auto;
	object-fit: contain;
	opacity: 0.8;
	transition: all 0.3s ease;
	filter: brightness(0) invert(1);
}

.partners-grid img:hover {
	opacity: 1;
	transform: scale(1.05);
}

.footer-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	justify-content: space-between;
	gap: 5rem;
}

.footer-brand img {
	height: 80px;
	margin-bottom: 1rem;
	filter: brightness(0) invert(1);
}

.footer-brand p {
	max-width: 400px;
	font-size: 0.875rem;
	line-height: 1.6;
	color: var(--text-medium);
}

.footer-column {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-left: 5rem;
	gap: 1rem;
}

.footer-column h4 {
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--text-light);
	margin-bottom: 1rem;
}

.footer-column ul {
	list-style: none;
}

.footer-column li {
	margin-bottom: 0.75rem;
}

.footer-column a {
	font-size: 0.9rem;
	text-decoration: none;
	color: var(--text-medium);
	transition: color 0.3s ease;
}

.footer-column a:hover {
	color: var(--link-primary-hover);
}

#footer hr {
	width: 100%;
	border-top: 1px solid var(--border-medium);
	margin: 0;
}

.footer-bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--text-light);
}

/* ---------- Responsive Styles ---------- */

/* ----- Tablet - 834px ----- */

@media (max-width: 834px) {

	/* ----- Navbar ----- */

	#desktop-navbar {
		display: none;
	}

	#mobile-navbar {
		display: block;
	}

	.right-side-navbar {
		display: flex;
		align-items: center;
		gap: 1rem;
	}

	.navbar-content {
		padding: 0.75rem 1.5rem;
	}

	.navbar-menu {
		position: fixed;
		top: 70px;
		left: -100%;
		width: 100%;
		height: calc(100vh - 70px);
		flex-direction: column;
		gap: 0;
		padding: 2rem;
		background: var(--bg-light);
		backdrop-filter: blur(20px);
		transition: left 0.3s ease;
		z-index: 999;
	}

	.navbar-menu.active {
		left: 0;
	}

	.navbar-menu li {
		padding: 1rem 0;
		border-bottom: 1px solid var(--border-light);
	}

	.navbar-menu li a {
		color: var(--text-dark) !important;
	}

	.navbar-toggle {
		display: flex;
	}

	.navbar.scrolled .navbar-toggle span {
		background: var(--text-light);
	}

	/* ----- Language Switcher ----- */

	#language-switcher {
		margin-left: 0.5rem;
	}

	.language-switcher-container i {
		font-size: 1rem;
	}

	.language-button {
		min-width: auto;
		font-size: 0.75rem;
		padding: 0.375rem 0.5rem;
	}

	.language-menu {
		min-width: 160px;
	}

	.language-menu-item {
		font-size: 0.8rem;
		padding: 0.6rem 0.75rem;
	}

	/* ----- Hero -----*/

	.hero-spacer {
		display: none;
	}

	.hero-content {
		align-items: center;
		max-width: none;
		text-align: center;
		margin: 3rem;
	}

	/* ----- Main Container -----*/

	.main-container {
		gap: 3rem;
		padding: 0 2rem;
		margin: 3rem auto;
	}

	#features .content-container {
		width: 100%;
	}

	.sub-container,
	.sub-container-alt {
		flex-direction: column;
		gap: 3rem;
	}

	.content-container-text,
	.content-container-boxes {
		max-width: 100%;
	}

	.image-container {
		padding: 3rem;
	}

	#btn-solution-desktop {
		display: none;
	}

	#btn-solution-mobile {
		display: inline-block;
	}

	/* ----- Grids ----- */

	.features-grid,
	.products-grid {
		grid-template-columns: repeat(1, 1fr);
		gap: 4rem;
	}

	.platform-grid {
		grid-template-columns: 1fr;
		gap: 7rem;
	}

	.target-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
	}

	/* ----- Footer ----- */

	.partners-grid {
		flex-wrap: wrap;
		gap: 2rem;
	}

	.partners-grid h4 {
		width: 100%;
		text-align: center;
	}

	.partners-grid img {
		height: 35px;
	}

	.footer-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 3rem;
	}

	.footer-column {
		padding-left: 3rem;
	}
}

/* Smartphone - 480px */
@media (max-width: 480px) {

	/* ----- Styles for Smartphone ----- */

	h2 {
		font-size: 2rem !important;
		margin-bottom: 1rem !important;
	}

	h3 {
		font-size: 1.5rem !important;
	}

	p {
		font-size: 1rem;
	}

	.btn-primary,
	.btn-secondary {
		padding: 1.25rem 4rem;
		width: 100%;
	}

	/* ----- Hero ----- */

	.hero-content {
		padding: 2rem;
		margin: 4rem 2rem 2rem;
	}

	.hero-title {
		font-size: 2rem;
	}

	/* ----- Main Container ----- */

	.main-container {
		gap: 2rem;
		padding: 0 1rem;
		margin: 2rem auto;
	}

	.header-title {
		font-size: 2rem;
	}

	.header-subtitle {
		font-size: 1rem;
	}

	.image-container {
		padding: 1rem;
	}

	.target-card h3 {
		font-size: 1.25rem !important;
	}

	/* ----- Grids ----- */

	.features-grid,
	.products-grid {
		grid-template-columns: 1fr;
	}

	.target-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	/* ----- Footer ----- */

	.partners-grid {
		flex-direction: column;
		gap: 1.5rem;
	}

	.partners-grid img {
		height: 30px;
	}

	.footer-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.footer-column {
		padding-left: 0;
	}

}

/* ---------- Inner Pages Styles ---------- */

#legal-page {
	padding: 2rem 0;
	margin-top: 90px;
}

.legal-content {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.legal-content .content-block {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.legal-content h2 {
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--brand-colour-red);
}

.legal-content p {
	font-size: 1rem;
	text-align: justify;
	line-height: 2.5;
	color: var(--text-dark);
}

.legal-list {
	list-style: none;
	padding: 0;
	margin-top: 1.5rem;
}

.legal-list li {
	position: relative;
	line-height: 2.5rem;
	color: var(--text-dark);
	padding-left: 2rem;
}

.legal-list li::before {
	content: "•";
	position: absolute;
	left: 0.5rem;
	color: var(--brand-colour-red);
	font-weight: 700;
	font-size: 1.2rem;
}

.legal-content a {
	color: var(--brand-colour-red);
	text-decoration: none;
	font-weight: 600;
}

.legal-content a:hover {
	color: var(--brand-colour-orange);
	text-decoration: underline;
}

.legal-content hr {
	margin: 1rem 0;
	border-top: 1px solid var(--border-light);
}

@media (max-width: 834px) {
	#legal-page {
		margin-top: 70px;
	}

	.legal-content {
		padding: 0 1.5rem;
	}

	.legal-content h2 {
		font-size: 1.25rem;
	}
}

@media (max-width: 480px) {
	.legal-content {
		padding: 0 1rem;
	}

	.legal-content h2 {
		font-size: 1.1rem;
	}

	.legal-content p {
		font-size: 0.95rem;
	}
}