/* Main Stylesheet Additions & Section Specifics */

html {
	font-size: 19px !important;
}

main {
	width: 100%;
}

/* Specific body override for homepage gradient effect */
body {
	background-image:
		radial-gradient(circle at 0% 0%, hsla(var(--primary-h), 100%, 50%, 0.03) 0%, transparent 50%),
		radial-gradient(circle at 100% 100%, hsla(270, 100%, 50%, 0.03) 0%, transparent 50%);
}

/* Sections */
section {
	text-align: center;
	width: 100%;
	margin: 0;
	opacity: 0;
	padding: 8rem 0 6rem;
	animation: fadeInUp 0.6s ease-out forwards;

	h2 {
		text-align: center;
		text-wrap: balance;
		margin-bottom: 2rem;
		font-size: 2.8rem;
		line-height: 1.2;
		color: var(--text-primary);

		/* max-width: 600px; */
	}

	p {
		text-align: center;
		max-width: 700px;
		margin: 0 auto 0;
		color: var(--text-secondary);
		font-size: 1.15rem;
		line-height: 1.6;

		&:not(:last-of-type) {
			margin-bottom: 1.5rem;
		}

		&:last-of-type {
			margin-bottom: 3rem;
		}
	}

	&:nth-of-type(even):not(.module-related):not(.platform-features):not(.platform-pricing):not(.story-qualifications):not(.story-cta):not(.story-timeline) {
		background-color: var(--foreground-color);
		text-align: left;

		&>div:nth-child(2) {
			margin-left: 5rem;
		}

		img {
			width: auto;
			height: auto;
			display: block;
		}
	}
}

/* Tablet fixes */
@media (max-width: 768px) {
	section:nth-of-type(even):not(.module-related) {
		text-align: center;

		&>div:nth-child(2) {
			margin-left: 0;
		}
	}
}

/* Link with external icon */
a[href^="http"]:not([href*="ambionics"]):not(.button):not(.btn):not(.logo):not(.social-link):not(.social-item)::after {
	content: '';
	display: inline-block;
	width: 0.75em;
	height: 0.75em;
	margin-left: 0.25em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	opacity: 0.6;
	transition: opacity 0.2s ease;
}

a[href^="http"]:not([href*="ambionics"]):hover::after {
	opacity: 1;
}

/* Cards */
.card {
	opacity: 0;
	animation: fadeInUp 0.5s ease-out forwards;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 15rem;
	padding: 2.5rem 2rem;
	margin: 1rem 0;
	background-color: var(--white-color);
	border-radius: var(--radius-sm);
	border: 1px solid var(--glass-border);
	box-shadow: var(--glass-shadow);
	overflow: hidden;
	text-align: center;
	transition: all var(--transition-fast);
}

.card:hover {
	box-shadow: 0 8px 24px var(--black-08);
	transform: translateY(-2px);
}

#client-banner {
	background: linear-gradient(135deg, var(--dark-navy) 0%, #1a2744 100%);
	margin: 0;
	padding: 6rem 0;
	position: relative;
	overflow: hidden;
	border-top: 1px solid var(--white-05);
	border-bottom: 1px solid var(--white-05);

	/* Decorative radial glow */
	&::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: 100%;
		background: radial-gradient(circle at center, rgba(0, 137, 247, 0.05) 0%, transparent 70%);
		pointer-events: none;
	}

	.container {
		max-width: 900px;
		padding: 0 2.5rem;
		position: relative;
		z-index: 1;
	}

	.testimonial-carousel {
		position: relative;
	}

	.carousel-track {
		position: relative;
		min-height: 160px;
		display: flex;
		align-items: center;
	}

	.carousel-slide {
		position: absolute;
		width: 100%;
		opacity: 0;
		transform: translateY(20px);
		transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
		pointer-events: none;
		visibility: hidden;
	}

	.carousel-slide.active {
		position: relative;
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
		visibility: visible;
	}

	blockquote {
		margin: 0;
		text-align: center;
		color: var(--white-color);
		padding: 0;

		/* Large Stylized quote marks */
		&::before {
			content: '“';
			display: block;
			font-size: 4rem;
			font-family: 'Outfit', serif;
			color: var(--accent-color);
			/* opacity: 0.2; */
			line-height: 1;
			margin-bottom: -1.5rem;
			font-weight: 700;
		}

		p {
			font-size: 1.2rem;
			/* font-weight: 600; */
			font-style: italic;
			line-height: 1.4;
			margin: 0 0 2rem 0;
			text-wrap: balance;
			letter-spacing: -0.01em;
			color: var(--white-95);
		}

		cite {
			font-size: 1rem;
			font-weight: 600;
			font-style: normal;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 0.75rem;
			color: var(--white-color);
			letter-spacing: 0.05em;
			text-transform: uppercase;
			opacity: 0.7;

			&::before,
			&::after {
				content: '';
				display: block;
				width: 20px;
				height: 1px;
				background: linear-gradient(90deg, transparent, var(--white-30));
			}

			&::after {
				background: linear-gradient(90deg, var(--white-30), transparent);
			}
		}

		cite .role {
			display: none;
		}
	}

	.carousel-controls {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 2rem;
		margin-top: 3rem;
	}

	.carousel-dots {
		display: flex;
		gap: 0.75rem;
	}

	.carousel-dots .dot {
		width: 8px;
		height: 8px;
		border-radius: 50%;
		border: 1.5px solid var(--white-20);
		background: transparent;
		cursor: pointer;
		padding: 0;
		transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	}

	.carousel-dots .dot:hover {
		border-color: var(--white-50);
		background: var(--white-10);
	}

	.carousel-dots .dot.active {
		background: var(--accent-color);
		border-color: var(--accent-color);
		width: 20px;
		border-radius: 4px;
	}

	.carousel-pause-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		border: 1px solid var(--white-10);
		border-radius: 50%;
		background: var(--white-05);
		backdrop-filter: blur(4px);
		color: var(--white-40);
		cursor: pointer;
		transition: all 0.3s ease;
	}

	.carousel-pause-btn:hover {
		background: var(--white-15);
		border-color: var(--white-30);
		color: var(--white-color);
		transform: scale(1.1);
	}

	.carousel-pause-btn[aria-pressed="true"] {
		background: var(--accent-color);
		color: var(--dark-navy);
		border-color: var(--accent-color);
	}
}

/* Tablet adjustments */
@media (max-width: 768px) {
	#client-banner {
		padding: 4rem 0;

		blockquote p {
			font-size: 1.5rem;
		}
	}
}

#hero,
.hero-section {
	min-height: 120vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 16rem;
	padding-bottom: 6rem;
	position: relative;
	overflow: hidden;
	background-color: var(--dark-navy);
	color: var(--white-color);
	text-align: center;
}

#hero::before,
.hero-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url("../images/hero-background.png");
	background-size: cover;
	background-position: center;
	filter: blur(5px) brightness(0.6);
	opacity: 0.7;
	z-index: 1;
	transform: scale(1.1);
}

#hero::after,
.hero-section::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background:
		radial-gradient(circle at 10%, hsla(var(--primary-h), 100%, 50%, 0.15) 0%, transparent 50%),
		radial-gradient(circle at 90% 90%, hsla(var(--accent-h), 100%, 50%, 0.1) 0%, transparent 50%),
		linear-gradient(to bottom, rgba(22, 25, 34, 0.4) 0%, rgba(22, 25, 34, 0.8) 100%);
	z-index: 2;
}

.hero-grid {
	position: relative;
	z-index: 3;
}

.hero-content {
	max-width: 1000px;
	margin: 0 auto;
}

.hero-title,
#hero h1 {
	font-size: clamp(2.8rem, 6vw, 4rem);
	font-weight: 800;
	color: var(--white-color);
	margin-bottom: 2rem;
	line-height: 1.1;
	letter-spacing: -0.04em;
	text-wrap: balance;
}

.hero-subtitle,
#hero p {
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--white-90);
	max-width: 700px;
	text-align: center;
	margin: 0 auto 3.5rem;
	line-height: 1.5;
	text-wrap: balance;
}

.hero-ctas {
	display: flex;
	gap: 1.25rem;
	justify-content: center;
	flex-wrap: wrap;

	.button {
		font-size: 1rem;
		padding: 0.875rem 2rem;
		font-weight: 600;
	}

	/* Primary CTA */
	.button.primary {
		padding: 0.95rem 2.25rem;
		font-size: 1.05rem;
	}

	.button.primary:hover {
		box-shadow: 0 4px 14px var(--accent-35);
	}

	.button.secondary {
		background: transparent;
		border: 2px solid var(--white-30);
		color: white;
	}

	.button.secondary:hover {
		background: var(--white-10);
		border-color: white;
		color: white;
	}

}

.hero-trust-bar {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2.5rem;
	flex-wrap: wrap;
	padding: 1.25rem 2.5rem;
	background: var(--white-05) !important;
	backdrop-filter: blur(20px) !important;
	-webkit-backdrop-filter: blur(20px) !important;
	border: 1px solid var(--white-10) !important;
	box-shadow: 0 20px 40px var(--black-20) !important;
	border-radius: var(--radius-full);
	max-width: max-content;
	margin: 3.5rem auto 0;
}

.hero-trust-bar .trust-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	text-align: center;
	min-width: 140px;
}

.hero-trust-bar .trust-item strong {
	font-size: 1.6rem;
	font-weight: 800;
	color: white;
	line-height: 1;
}

.hero-trust-bar .trust-item span {
	font-size: 0.8rem;
	color: var(--white-70);
	font-weight: 500;
}

.hero-trust-bar .trust-item.certifications {
	flex-direction: column;
}

.hero-trust-bar .trust-item.certifications span {
	font-weight: 600;
	color: var(--text-primary);
	margin-bottom: 0.25rem;
}

.hero-trust-bar .cert-badges {
	display: flex;
	gap: 0.5rem;
}

.hero-trust-bar .cert-badge {
	font-size: 0.7rem;
	font-weight: 600;
	padding: 0.25rem 0.5rem;
	background: var(--accent-color);
	color: var(--dark-navy);
	border-radius: var(--radius-sm);
}

.hero-trust-bar .trust-divider {
	width: 1px;
	height: 30px;
	background: var(--white-15);
}

.button {
	font-size: 1.1rem;
	padding: 1rem 2.5rem;
	font-weight: 600;
}

@media (max-width: 768px) {
	#hero {
		padding-top: 6rem;
		padding-bottom: 4rem;
	}

	#hero h1 {
		font-size: 2.5rem;
	}

	#hero .hero-trust-bar {
		gap: 1.5rem;
		padding: 1rem 1.5rem;
	}

	#hero .hero-logo {
		height: 32px;
		margin-bottom: 1.5rem;
	}

	#hero p,
	#hero .hero-subtitle {
		font-size: 1.25rem;
		margin-bottom: 2.5rem;
	}

	#hero .hero-trust-bar .trust-divider {
		display: none;
	}

	#hero .hero-trust-bar .trust-item strong {
		font-size: 1.25rem;
	}
}

@media (max-width: 480px) {
	#hero {
		padding-top: 5rem;
		padding-bottom: 3rem;
	}

	#hero h1 {
		font-size: 2rem;
	}
}

/* ============================================
   DARK MODE - Comprehensive Overrides
   ============================================ */

/* Dark mode hero background - same as light mode or slightly darker */
[data-theme="dark"] #hero {
	background-color: #0d0f14;
}

[data-theme="dark"] #hero .hero-ctas .button.secondary {
	border-color: var(--white-20);
	color: white;
}

[data-theme="dark"] #hero .hero-ctas .button.secondary:hover {
	background: var(--white-10);
	border-color: var(--white-40);
}

[data-theme="dark"] .button.secondary {
	border-color: var(--gray-600);
	color: var(--gray-200);
}

[data-theme="dark"] .button.secondary:hover {
	background: var(--gray-700);
	border-color: var(--gray-500);
	color: var(--white-color);
}

[data-theme="dark"] .card {
	background: var(--dark-foreground-color);
	border-color: var(--dark-border-color);
}

[data-theme="dark"] .card:hover {
	box-shadow: 0 8px 24px var(--black-30);
}

[data-theme="dark"] .hero-trust-bar {
	background: var(--dark-foreground-color);
	border: 1px solid var(--dark-border-color);
}

/* Dark mode form inputs */
[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
	background: var(--dark-background-color);
	border-color: var(--dark-border-color);
	color: var(--white-color);
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
	color: var(--gray-500);
}

[data-theme="dark"] input:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] textarea:focus {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 3px rgba(0, 137, 247, 0.25);
}

/* Dark mode external link icon */
[data-theme="dark"] a[href^="http"]:not([href*="ambionics"]):not(.button):not(.btn):not(.logo):not(.social-link)::after {
	filter: invert(1);
}

.screenshot-wrapper {
	position: relative;
	display: inline-block;
}

.screenshot {
	border-radius: 8px;
	box-shadow: 0 25px 60px var(--black-20), 0 10px 20px var(--black-10);
	width: 100%;
	max-width: 900px;
	height: auto;
	border: 1px solid var(--black-08);
}

/* Browser mockup frame */
.browser-frame {
	position: relative;
	background: linear-gradient(180deg, #f0f0f2 0%, #e5e5e7 100%);
	border-radius: 14px;
	padding-top: 42px;
	box-shadow: 0 40px 80px var(--black-20), 0 20px 40px var(--black-12);
	display: inline-block;
	max-width: 100%;
	width: 580px;
	overflow: hidden;
}

.browser-frame::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 42px;
	background: linear-gradient(180deg, #e8e8ea 0%, #dcdcde 100%);
	border-radius: 14px 14px 0 0;
}

.browser-frame::after {
	content: '';
	position: absolute;
	top: 15px;
	left: 16px;
	width: 12px;
	height: 12px;
	background: var(--browser-red);
	border-radius: 50%;
	box-shadow: 20px 0 0 var(--browser-yellow), 40px 0 0 var(--browser-green);
	z-index: 1;
}

.browser-frame .screenshot {
	border-radius: 0;
	box-shadow: none;
	border: none;
	max-width: 100%;
	width: 100%;
	display: block;
}

/* Differences section layout */
#differences {
	padding: 8rem 0;
}

#differences .container.flex {
	gap: 4rem;
	align-items: center;
}

#differences .left {
	flex: 1;
	min-width: 300px;

	h2,
	p {
		text-align: left !important;
	}
}

#differences>.container>div:last-child {
	flex: 1.2;
	display: flex;
	justify-content: center;
}

/* Large browser frame for featured sections */
#differences .browser-frame {
	width: 100%;
	max-width: 650px;
	transform: perspective(1200px) rotateY(-3deg);
	transition: transform 0.4s ease, box-shadow 0.4s ease;
}

#differences .browser-frame:hover {
	transform: perspective(1200px) rotateY(0deg);
	box-shadow: 0 50px 100px var(--black-25), 0 25px 50px var(--black-15);
}

/* Services header */

/* Pillar cards */
.pillars-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	max-width: 1200px;
	margin: 0 auto;
}

.pillar-card {
	display: flex;
	flex-direction: column;
	padding: 2rem;
	background: var(--white-color, #fff);
	border: 1px solid var(--border-color);
	border-radius: 12px;
	text-decoration: none;
	transition: all 0.25s ease;
	position: relative;
	z-index: 2;
	min-height: 380px;
	text-align: left;
	font-size: 1.2rem;
}

.pillar-card:hover {
	border-color: transparent;
	box-shadow: 0 12px 32px var(--black-08);
	transform: translateY(-4px);
	color: inherit;
}

.pillar-card.uncovery:hover {
	border-color: var(--uncovery-color);
	box-shadow: 0 12px 32px var(--uncovery-15);
}

.pillar-card.security:hover {
	border-color: var(--security-color);
	box-shadow: 0 12px 32px var(--security-15);
}

.pillar-card.threats:hover {
	border-color: var(--threats-color);
	box-shadow: 0 12px 32px rgba(161, 51, 255, 0.15);
}

/* Pillar header with icon and title */
.pillar-header {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.pillar-icon {
	width: 56px;
	height: 56px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	overflow: hidden;
}

.pillar-icon img {
	width: 32px !important;
	height: 32px !important;
	max-width: 32px !important;
	max-height: 32px !important;
	filter: brightness(0) invert(1);
	object-fit: contain;
}

.pillar-title-group {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding-top: 0.25rem;
	align-items: start;
}

/* Category badge */
.pillar-category {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.8;
}

.pillar-category.uncovery {
	color: var(--uncovery-color);
}

.pillar-category.security {
	color: var(--security-color);
}

.pillar-category.threats {
	color: var(--threats-color);
}

.pillar-card h3 {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0;
	line-height: 1.2;
}

.pillar-card.uncovery h3 {
	color: var(--uncovery-color);
}

.pillar-card.security h3 {
	color: var(--security-color);
}

.pillar-card.threats h3 {
	color: var(--threats-color);
}

.pillar-subtitle {
	font-size: 1rem;
	font-weight: 800;
	color: var(--text-color);
	margin: 0 0 1.25rem 0;
	line-height: 1.4;
	text-align: left;
}

/* Feature bullet list */
.pillar-features {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem 0;
	flex-grow: 1;
}

.pillar-features li {
	font-size: 1rem;
	line-height: 1.5;
	color: var(--text-secondary);
	padding: 0.2rem 0 0.5rem;
	padding-left: 1.5rem;
	position: relative;
	text-align: left;
}

.pillar-features li:last-child {
	border-bottom: none;
}

.pillar-features li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.85rem;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--text-tertiary);
}

.pillar-card.uncovery .pillar-features li::before {
	background: var(--uncovery-color);
}

.pillar-card.security .pillar-features li::before {
	background: var(--security-color);
}

.pillar-card.threats .pillar-features li::before {
	background: var(--threats-color);
}

/* Legacy support for tags (if still used elsewhere) */
.pillar-desc {
	font-size: 1rem;
	line-height: 1.55;
	color: var(--text-secondary);
	margin: 0 0 1rem 0;
}

.pillar-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1.25rem 0;
	flex-grow: 1;
}

.pillar-tags span {
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.35rem 0.75rem;
	border-radius: 20px;
	white-space: nowrap;
}

.pillar-card.uncovery .pillar-tags span {
	background: var(--uncovery-10);
	color: var(--uncovery-color);
}

.pillar-card.security .pillar-tags span {
	background: rgba(38, 126, 234, 0.1);
	color: var(--security-color);
}

.pillar-card.threats .pillar-tags span {
	background: var(--threats-10);
	color: var(--threats-color);
}

/* CTA link with icon */
.pillar-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.95rem;
	font-weight: 600;
	transition: all 0.2s ease;
	margin-top: auto;
	justify-content: end;
}

.pillar-link svg {
	transition: transform 0.2s ease;
}

.pillar-card.uncovery .pillar-link {
	color: var(--uncovery-color);
}

.pillar-card.uncovery:hover .pillar-link {
	color: var(--uncovery-hover);
}

.pillar-card.security .pillar-link {
	color: var(--security-color);
}

.pillar-card.security:hover .pillar-link {
	color: var(--security-hover);
}

.pillar-card.threats .pillar-link {
	color: var(--threats-color);
}

.pillar-card.threats:hover .pillar-link {
	color: var(--threats-hover);
}

.pillar-card:hover .pillar-link svg {
	transform: translateX(4px);
}

[data-theme="dark"] .pillar-card {
	background: var(--foreground-color);
	border-color: var(--white-10);
}

[data-theme="dark"] .pillar-card:hover {
	box-shadow: 0 12px 32px var(--black-30);
}

@media (max-width: 992px) {
	.pillars-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		max-width: 500px;
	}

	.pillar-card {
		min-height: auto;
	}
}

@media (max-width: 768px) {
	#services {
		padding: 3rem 0rem;
	}

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

	.pillars-grid {
		gap: 1rem;
	}

	.pillar-card {
		padding: 1.5rem;
	}
}

#key-figures {
	background: linear-gradient(135deg, var(--dark-navy) 0%, #1a2744 100%);
	padding: 5rem 0;
	margin: 0;
	border-radius: 0;

	h2 {
		color: var(--white-color);
		text-align: center;
		margin-bottom: 2.5rem;
	}
}

/* Override for key-figures flex - 4 cards on 1 line */
#key-figures .flex {
	display: flex;
	flex-wrap: nowrap !important;
	justify-content: center;
	gap: 1.5rem;
}

#key-figures .card {
	height: auto;
	flex: 1 1 0;
	min-width: 180px;
	max-width: 240px;
	padding: 1.75rem 1.25rem;
	margin: 0;
	background: var(--white-05);
	border: 1px solid var(--white-10);
	border-radius: 12px;
	text-align: center;
	transition: transform 0.2s ease, background 0.2s ease;
}

/* Key figures responsive - keep 4 cards on 1 row until tablet, then 2x2 on mobile */
@media (max-width: 900px) {
	#key-figures .flex {
		flex-wrap: wrap !important;
	}

	#key-figures .card {
		flex: 1 1 calc(50% - 1rem);
		max-width: calc(50% - 1rem);
	}
}

@media (max-width: 480px) {
	#key-figures .card {
		flex: 1 1 100%;
		max-width: 100%;
	}
}

#key-figures .card:hover {
	transform: translateY(-4px);
	background: var(--white-08);
}

#key-figures .card:nth-child(1) strong {
	color: var(--uncovery-color);
}

#key-figures .card:nth-child(2) strong {
	color: var(--security-color);
}

#key-figures .card:nth-child(3) strong {
	color: var(--threats-color);
}

#key-figures .card:nth-child(4) strong {
	color: var(--accent-color);
}

#key-figures .card strong {
	font-size: 2.75rem;
	font-weight: 700;
	display: block;
	margin-bottom: 0.5rem;
}

#key-figures .card p {
	font-size: 0.9rem;
	margin: 0;
	color: var(--white-70);
	line-height: 1.4;
}

#testimonials {
	.flex {
		justify-content: center;
		gap: 2rem;
		flex-wrap: wrap;
		align-items: stretch;
	}

	.card {
		min-height: 16rem;
		width: 20rem;
		padding: 2rem;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}

	h3 {
		font-size: 0.95rem;
		margin: 0;
		color: var(--primary-color);
		font-weight: 600;
		line-height: 1.3;
	}

	.avatar {
		width: 48px;
		height: 48px;
		min-width: 48px;
		border-radius: 50%;
		background: linear-gradient(135deg, var(--primary-color) 0%, var(--security-color) 100%);
		display: flex;
		align-items: center;
		justify-content: center;

		i {
			font-size: 1.25rem;
			color: var(--white-color);
		}
	}

	.author {
		display: flex;
		align-items: center;
		gap: 1rem;
		margin-bottom: 1.5rem;
	}

	.author-info {
		text-align: left;
	}

	p {
		text-align: left;
		font-style: italic;
		font-size: 1rem;
		line-height: 1.6;
		color: var(--text-color);
		margin: 0;
		flex-grow: 1;
	}
}

#clients {
	.clients-count {
		font-size: 1.3rem;
		color: var(--primary-color);
		font-weight: 600;
		margin-bottom: 1rem;
	}

	.clients-sectors p {
		font-size: 1.1rem;
		color: var(--text-color);
		opacity: 0.8;
		margin-bottom: 2rem;
	}

	.clients-logos {
		justify-content: space-around;
		flex-wrap: wrap;
		gap: 2rem;
	}

	.client-placeholder {
		width: 100px;
		height: 100px;
		background: var(--foreground-color);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		box-shadow: 0 5px 20px var(--black-10);

		i {
			font-size: 2.5rem;
			color: var(--primary-color);
			opacity: 0.7;
		}
	}
}

/* Hero sections - dark gradient style */
main #contact-hero,
main section.contact-hero,
main section.usecases-hero,
main section.story-hero {
	background: linear-gradient(135deg, var(--dark-navy) 0%, var(--dark-navy-light) 100%);
	background-color: var(--dark-navy);
	color: var(--white-color);
	margin: 0;
	border-radius: 0;
	text-align: center;
}

/* ==========================================================================
   CERTIFICATIONS BANNER
   ========================================================================== */
/* ==========================================================================
   GLOBAL QUALIFICATIONS BANNER
   ========================================================================== */
.global-qualifications {
	background: linear-gradient(135deg, var(--dark-navy) 0%, #1a2744 100%);
	padding: 4rem 0;
	text-align: center;
	margin: 0;
	border-radius: 0;

	h2 {
		margin-bottom: 3rem;
		color: white;
	}
}


.qualifications-grid {
	display: flex;
	justify-content: center;
	gap: 2rem;
	flex-wrap: wrap;
	max-width: 1000px;
	margin: 0 auto;
}

.qualification-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 2rem 1.5rem;
	background: var(--white-05);
	border: 1px solid var(--white-10);
	border-radius: 12px;
	min-width: 200px;
	transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease;
	position: relative;
	overflow: hidden;
}

.qualification-badge:hover {
	transform: translateY(-5px);
	background: var(--white-08);
	border-color: var(--accent-color);
}

.qualification-badge svg {
	width: 48px;
	height: 48px;
	color: var(--accent-color);
	margin-bottom: 1.25rem;
	transition: transform 0.3s ease;
}

.qualification-badge:hover svg {
	transform: scale(1.1);
}

.qualification-badge span {
	font-size: 1.25rem;
	font-weight: 700;
	color: white;
	letter-spacing: 0.1em;
}

.qualification-badge::after {
	content: 'ANSSI';
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--white-50);
	margin-top: 0.5rem;
	letter-spacing: 0.2em;
}

@media (max-width: 768px) {
	.global-qualifications {
		padding: 3rem 1.5rem;
	}

	.qualifications-grid {
		gap: 1.5rem;
	}

	.qualification-badge {
		min-width: 160px;
		padding: 1.5rem 1rem;
	}
}

/* Story page hero */
.story-hero {
	padding: 6rem 0 2.5rem;
}

.story-hero h1 {
	font-size: 3rem;
	margin-bottom: 1rem;
	font-weight: 700;
	color: var(--white-color);
}

.story-hero .subtitle {
	font-size: 1.4rem;
	font-weight: 500;
	color: #e8f4ff;
	text-shadow: 0 1px 3px var(--black-30);
	margin-bottom: 0.75rem;
}

.story-hero .intro {
	font-size: 1.1rem;
	max-width: 700px;
	margin: 0 auto;
	color: var(--white-90);
	text-shadow: 0 1px 2px var(--black-20);
	line-height: 1.7;
}

table {
	width: 100%;

	thead {
		background-color: var(--background-color);
	}

	tbody {
		background-color: var(--foreground-color);
	}

	th,
	td {
		padding: 1rem 2rem;
		border-top: 2px solid var(--background-color);
	}
}

/* ==========================================================================
 * POSITIONING SECTION - "What Ambionics is NOT"
 * ==========================================================================
 */
.positioning-section {
	background: linear-gradient(180deg, var(--background-color) 0%, var(--gray-50) 100%);
	padding: 5rem 2rem;
	margin: 0;
	border-radius: 0;
}

.positioning-header {
	text-align: center;
	margin-bottom: 3.5rem;
}

.positioning-header h2 {
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--text-primary);
	margin-bottom: 1rem;
}

.positioning-subtitle {
	font-size: 1.1rem;
	color: var(--gray-500);
	font-weight: 500;
	margin-bottom: 1rem;
}

.positioning-intro {
	font-size: 1.15rem;
	color: var(--text-secondary);
	max-width: 700px;
	margin: 0 auto;
	line-height: 1.7;
}

.positioning-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	max-width: 1100px;
	margin: 0 auto;
	align-items: start;
}

/* "What we are NOT" column */
.positioning-not {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.not-item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
	background: var(--card-bg);
	border-radius: var(--radius-lg);
	border: 1px solid var(--border-color);
	transition: all 0.2s ease;
}

.not-item:hover {
	border-color: var(--gray-300);
	box-shadow: 0 4px 12px var(--black-06);
}

.not-icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: var(--radius-md);
	background: var(--gray-100);
	display: flex;
	align-items: center;
	justify-content: center;
}

.not-icon svg {
	color: var(--gray-400);
	width: 20px;
	height: 20px;
}

.not-content {
	text-align: left;
}

.not-content h4 {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--text-primary);
	margin: 0 0 0.35rem 0;
}

.not-content p {
	font-size: 0.9rem;
	color: var(--text-secondary);
	margin: 0;
	line-height: 1.5;
}

/* "What we ARE" column */
.positioning-is {
	background: linear-gradient(135deg, var(--dark-navy) 0%, var(--dark-navy-light) 100%);
	border-radius: var(--radius-xl);
	padding: 2.5rem;
	color: var(--white-color);
	text-align: left;
}

.positioning-is h3 {
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0 0 1.75rem 0;
	color: var(--white-color);
}

.instead-list {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem 0;
}

.instead-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--white-10);
}

.instead-list li:last-child {
	border-bottom: none;
}

.instead-list li svg {
	flex-shrink: 0;
	color: var(--uncovery-color);
	margin-top: 2px;
}

.instead-list li span {
	font-size: 1rem;
	line-height: 1.5;
	color: var(--white-90);
}

.positioning-is .button.primary {
	margin-top: 0.5rem;
}

/* Dark theme adjustments */
[data-theme="dark"] .positioning-section {
	background: linear-gradient(180deg, var(--dark-background-color) 0%, var(--dark-foreground-color) 100%);
}

[data-theme="dark"] .not-item {
	background: var(--dark-foreground-color);
	border-color: var(--dark-border-color);
}

[data-theme="dark"] .not-item:hover {
	border-color: rgba(220, 53, 69, 0.4);
}

/* Responsive */
@media (max-width: 900px) {
	.positioning-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.positioning-is {
		order: -1;
	}
}

@media (max-width: 480px) {
	.positioning-header h2 {
		font-size: 1.8rem;
	}

	.not-item {
		padding: 1rem;
	}

	.positioning-is {
		padding: 1.75rem;
	}
}

/* ==========================================================================
   LEGAL PAGES
   ========================================================================== */

.legal-hero {
	background: linear-gradient(135deg, var(--dark-navy) 0%, var(--dark-navy-light) 100%);
	color: var(--white-color);
	padding: 4rem 0;
	text-align: center;
}

.legal-hero h1 {
	font-size: 2.5rem;
	margin-bottom: 0.5rem;
	color: var(--white-color);
}

.legal-hero .subtitle {
	font-size: 1.1rem;
	opacity: 0.9;
	margin-bottom: 1rem;
}

.legal-hero .last-updated {
	font-size: 0.9rem;
	opacity: 0.7;
}

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

.legal-body {
	max-width: 800px;
	margin: 0 auto;
	font-size: 1rem;
	line-height: 1.8;
	color: var(--text-color);
}

.legal-body h2 {
	font-size: 1.5rem;
	color: var(--primary-color);
	margin: 2.5rem 0 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--gray-200);
}

.legal-body h2:first-child {
	margin-top: 0;
}

.legal-body h3 {
	font-size: 1.2rem;
	margin: 2rem 0 0.75rem;
}

.legal-body p {
	margin-bottom: 1rem;
}

.legal-body ul,
.legal-body ol {
	margin: 1rem 0 1.5rem 1.5rem;
}

.legal-body li {
	margin-bottom: 0.5rem;
}

.legal-body strong {
	color: var(--heading-color);
}

.legal-body a {
	color: var(--primary-color);
	text-decoration: underline;
}

.legal-body a:hover {
	color: var(--primary-hover);
}

/* Dark theme */
[data-theme="dark"] .legal-body {
	color: var(--dark-text-color);
}

[data-theme="dark"] .legal-body h2 {
	border-bottom-color: var(--dark-border-color);
}

[data-theme="dark"] .legal-body strong {
	color: var(--white-color);
}

@media (max-width: 768px) {
	.legal-hero h1 {
		font-size: 2rem;
	}

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

	.legal-body {
		padding: 0 1rem;
	}
}

/* ==========================================================================
   CLIENTS TRUST SECTION
   ========================================================================== */

/* ==========================================================================
   COMBINED TRUST SECTION
   ========================================================================== */

#combined-trust {
	padding: 3rem 0;
	margin: 0;
	position: relative;
	overflow: hidden;
}

.split-bg {
	background: linear-gradient(90deg, var(--background-color) 50%, var(--foreground-color) 50%);
}

.container-split {
	max-width: 1400px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.trust-usages,
.trust-clients {
	padding: 6rem 4rem;
	display: flex;
	flex-direction: column;
	text-align: left;
}

.trust-usages {
	background-color: transparent;
	position: relative;

	h2 {
		text-align: left;
	}

	p {
		text-align: left;
		margin: 0;
	}
}

.trust-clients {
	background-color: transparent;
	border-left: 1px solid var(--glass-border);
}

.trust-usages h2,
.trust-clients h2 {
	font-size: 2.75rem;
	line-height: 1.1;
	margin-bottom: 2.5rem;
	text-align: left;
	font-weight: 700;
}

.trust-usages p {
	font-size: 1.15rem;
	line-height: 1.7;
	color: var(--text-secondary);
	margin-bottom: 1.75rem;
	max-width: 500px;
}

.usages-content {
	margin-bottom: 2.5rem;
}

.trust-usages .button {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
}

.trust-usages .button svg {
	transition: transform 0.3s ease;
}

.trust-usages .button:hover svg {
	transform: translateX(5px);
}

@media (max-width: 1024px) {
	.container-split {
		grid-template-columns: 1fr;
	}

	.split-bg {
		background: var(--background-color);
	}

	.trust-clients {
		background-color: var(--foreground-color);
		border-left: none;
		border-top: 1px solid var(--glass-border);
	}

	.trust-usages,
	.trust-clients {
		padding: 4rem 1.5rem;
		text-align: center;
	}

	.trust-usages .button {
		align-self: center;
	}

	.trust-usages h2,
	.trust-clients h2 {
		font-size: 2.25rem;
		text-align: center;
	}

	.trust-usages p {
		margin: 0 auto 1.75rem;
	}

	.clients-sectors-badges {
		justify-content: center;
	}
}

@media (max-width: 768px) {
	.clients-stats-cards {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.sector-badge {
		padding: 0.5rem 1rem;
		font-size: 0.9rem;
	}
}

/* Sector badges - shows industries we serve */
.clients-sectors-badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-bottom: 2.5rem;
}

.sector-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.6rem 1.25rem;
	background: var(--white-color);
	border: 1px solid var(--gray-200);
	border-radius: 100px;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--heading-color);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 2px 10px var(--black-03);
}

.sector-badge svg {
	color: var(--primary-color);
	opacity: 0.8;
}

.sector-badge:hover {
	border-color: var(--primary-color);
	background: var(--white-color);
	color: var(--primary-color);
	transform: translateY(-2px);
	box-shadow: 0 10px 20px var(--security-10);
}

/* Stats row - compelling numbers */
.clients-stats-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	margin-bottom: 2.5rem;
}

.client-stat-card {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	padding: 1.5rem;
	border-radius: var(--radius-lg);
	transition: all 0.3s ease;
}

.client-stat-card:hover {
	transform: translateY(-5px);
	border-color: var(--primary-color);
	box-shadow: 0 20px 40px -10px var(--security-15);
}

.stat-icon {
	width: 50px;
	height: 50px;
	border-radius: var(--radius-md);
	background: var(--security-10);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--primary-color);
	flex-shrink: 0;
}

.stat-info {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.stat-value {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--text-primary);
	line-height: 1;
}

.stat-label {
	font-size: 0.85rem;
	color: var(--text-secondary);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Confidentiality note */
.clients-confidentiality-note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	color: var(--text-muted);
	font-size: 0.9rem;
	font-style: italic;
	opacity: 0.8;
}

.clients-confidentiality-note svg {
	opacity: 0.6;
}

/* Legacy styles - keep for backwards compatibility */
.clients-subtitle {
	color: var(--text-muted);
	font-size: 1rem;
	margin-bottom: 2.5rem;
}

.clients-count {
	color: var(--text-muted);
	font-size: 0.95rem;
	font-style: italic;
}

/* Dark theme */
[data-theme="dark"] #clients-trust {
	background: var(--dark-foreground-color);
}

[data-theme="dark"] #clients-trust h2 {
	color: var(--white-color);
}

[data-theme="dark"] .sector-badge {
	background: var(--dark-background-color);
	border-color: var(--dark-border-color);
	color: var(--gray-200);
}

[data-theme="dark"] .sector-badge:hover {
	background: var(--security-15);
	border-color: var(--primary-color);
	color: var(--primary-color);
}

[data-theme="dark"] .clients-stats-row {
	border-color: var(--dark-border-color);
}

[data-theme="dark"] .client-stat span {
	color: var(--gray-400);
}

[data-theme="dark"] .clients-confidentiality {
	color: var(--gray-400);
}

@media (max-width: 768px) {
	.clients-sectors-badges {
		gap: 0.5rem;
	}

	.sector-badge {
		padding: 0.4rem 1rem;
		font-size: 0.8rem;
	}

	.clients-stats-row {
		gap: 1.5rem;
		flex-wrap: wrap;
	}

	.client-stat strong {
		font-size: 1.5rem;
	}

	.client-stat span {
		font-size: 0.75rem;
	}
}

/* ==========================================================================
   FAQ PAGE
   ========================================================================== */

.faq-hero {
	background: linear-gradient(135deg, var(--dark-navy) 0%, var(--dark-navy-light) 100%);
	color: var(--white-color);
	padding: 4rem 0;
	text-align: center;
}

.faq-hero h1 {
	font-size: 2.5rem;
	margin-bottom: 0.75rem;
	color: var(--white-color);
}

.faq-hero .subtitle {
	font-size: 1.1rem;
	opacity: 0.9;
	max-width: 600px;
	margin: 0 auto;
}

.faq-content {
	padding: 4rem 0;
}

.faq-list {
	max-width: 800px;
	margin: 0 auto;
}

.faq-item {
	background: var(--white-color);
	border: 1px solid var(--gray-200);
	border-radius: var(--radius-lg);
	margin-bottom: 1rem;
	overflow: hidden;
	transition: all 0.3s ease;
}

.faq-item:hover {
	border-color: var(--primary-color);
	box-shadow: 0 4px 12px var(--security-10);
}

.faq-item[open] {
	border-color: var(--primary-color);
}

.faq-question {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.25rem 1.5rem;
	font-weight: 600;
	font-size: 1.05rem;
	color: var(--heading-color);
	cursor: pointer;
	list-style: none;
	transition: background 0.2s ease;
}

.faq-question::-webkit-details-marker {
	display: none;
}

.faq-question:hover {
	background: var(--gray-50);
}

.faq-icon {
	flex-shrink: 0;
	margin-left: 1rem;
	transition: transform 0.3s ease;
	color: var(--primary-color);
}

.faq-item[open] .faq-icon {
	transform: rotate(180deg);
}

.faq-answer {
	padding: 0 1.5rem 1.5rem;
	color: var(--text-color);
	line-height: 1.7;
}

.faq-answer p {
	margin: 0;
}

.faq-cta {
	text-align: center;
	margin-top: 3rem;
	padding: 2.5rem;
	background: var(--gray-50);
	border-radius: var(--radius-xl);
}

.faq-cta h2 {
	font-size: 1.5rem;
	margin-bottom: 1.25rem;
	color: var(--heading-color);
}

.faq-cta .btn {
	display: inline-block;
	padding: 0.875rem 2rem;
	background: var(--accent-color);
	color: var(--dark-navy);
	font-weight: 600;
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: all 0.3s ease;
}

.faq-cta .btn:hover {
	background: var(--accent-hover);
	transform: translateY(-2px);
}

/* Dark theme */
[data-theme="dark"] .faq-item {
	background: var(--dark-foreground-color);
	border-color: var(--dark-border-color);
}

[data-theme="dark"] .faq-item:hover,
[data-theme="dark"] .faq-item[open] {
	border-color: var(--primary-color);
}

[data-theme="dark"] .faq-question {
	color: var(--white-color);
}

[data-theme="dark"] .faq-question:hover {
	background: var(--white-05);
}

[data-theme="dark"] .faq-answer {
	color: var(--dark-text-color);
}

[data-theme="dark"] .faq-cta {
	background: var(--dark-foreground-color);
}

[data-theme="dark"] .faq-cta h2 {
	color: var(--white-color);
}

@media (max-width: 768px) {
	.faq-hero h1 {
		font-size: 2rem;
	}

	.faq-content {
		padding: 2rem 0;
	}

	.faq-question {
		padding: 1rem 1.25rem;
		font-size: 1rem;
	}

	.faq-answer {
		padding: 0 1.25rem 1.25rem;
	}

	.faq-cta {
		margin-top: 2rem;
		padding: 1.5rem;
	}
}