@import url(fontawesome-all.min.css);

/*
	Based on Hyperspace by HTML5 UP
	html5up.net | @ajlkn
	Light executive palette: White / Light Gray / Navy / Teal
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

/* --- Reset --- */

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
body { -webkit-text-size-adjust: none; }
mark { background-color: transparent; color: inherit; }
input::-moz-focus-inner { border: 0; padding: 0; }
input, select, textarea { -moz-appearance: none; -webkit-appearance: none; -ms-appearance: none; appearance: none; }

/* --- Basic --- */

	@-ms-viewport { width: device-width; }
	body { -ms-overflow-style: scrollbar; }
	@media screen and (max-width: 480px) { html, body { min-width: 320px; } }
	html { box-sizing: border-box; }
	*, *:before, *:after { box-sizing: inherit; }

	body {
		background: #FFFFFF;
	}

		body.is-preload *, body.is-preload *:before, body.is-preload *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

/* --- Type --- */

	body, input, select, textarea {
		color: #5E6B7A;
		font-family: 'Segoe UI', system-ui, -apple-system, Arial, Helvetica, sans-serif;
		font-size: 16.5pt;
		font-weight: normal;
		line-height: 1.75;
	}

		@media screen and (max-width: 1680px) { body, input, select, textarea { font-size: 13pt; } }
		@media screen and (max-width: 1280px) { body, input, select, textarea { font-size: 12pt; } }
		@media screen and (max-width: 360px) { body, input, select, textarea { font-size: 11pt; } }

	a {
		-moz-transition: color 0.2s ease, border-bottom-color 0.2s ease;
		-webkit-transition: color 0.2s ease, border-bottom-color 0.2s ease;
		-ms-transition: color 0.2s ease, border-bottom-color 0.2s ease;
		transition: color 0.2s ease, border-bottom-color 0.2s ease;
		border-bottom: dotted 1px rgba(16, 33, 61, 0.25);
		color: inherit;
		text-decoration: none;
	}

		a:hover {
			border-bottom-color: transparent;
			color: #10213D;
		}

	strong, b {
		color: #10213D;
		font-weight: bold;
	}

	em, i { font-style: italic; }

	p { margin: 0 0 2em 0; }

	h1, h2, h3, h4, h5, h6 {
		color: #10213D;
		font-weight: bold;
		line-height: 1.5;
		margin: 0 0 0.5em 0;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; text-decoration: none; }

	h1 { font-size: 2.75em; }

		h1.major {
			margin: 0 0 1.3em 0;
			position: relative;
			padding-bottom: 0.35em;
		}

			h1.major:after {
				background-image: linear-gradient(to right, #10213D, #00A991);
				transition: max-width 0.2s ease;
				border-radius: 0.2em;
				bottom: 0;
				content: '';
				height: 0.05em;
				position: absolute;
				right: 0;
				width: 100%;
			}

	h2 { font-size: 1.75em; }
	h3 { font-size: 1.1em; }
	h4 { font-size: 1em; }
	h5 { font-size: 0.8em; }
	h6 { font-size: 0.6em; }

	@media screen and (max-width: 736px) {
		h1 { font-size: 2em; }
		h2 { font-size: 1.25em; }
		h3 { font-size: 1em; }
	}

	sub { font-size: 0.8em; position: relative; top: 0.5em; }
	sup { font-size: 0.8em; position: relative; top: -0.5em; }

	blockquote {
		border-left: solid 4px rgba(16, 33, 61, 0.12);
		font-style: italic;
		margin: 0 0 2em 0;
		padding: 0.5em 0 0.5em 2em;
	}

	code {
		background: rgba(16, 33, 61, 0.04);
		border-radius: 0.25em;
		border: solid 1px rgba(16, 33, 61, 0.1);
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0.25em;
		padding: 0.25em 0.65em;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0 2em 0;
	}

		pre code { display: block; line-height: 1.75em; padding: 1em 1.5em; overflow-x: auto; }

	hr {
		border: 0;
		border-bottom: solid 1px rgba(16, 33, 61, 0.1);
		margin: 2em 0;
	}

		hr.major { margin: 3em 0; }

	.align-left { text-align: left; }
	.align-center { text-align: center; }
	.align-right { text-align: right; }

	.highlight { color: #00A991; }

/* --- Row --- */

	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

		.row > * { box-sizing: border-box; }
		.row.gtr-uniform > * > :last-child { margin-bottom: 0; }
		.row.aln-left { justify-content: flex-start; }
		.row.aln-center { justify-content: center; }
		.row.aln-right { justify-content: flex-end; }
		.row.aln-top { align-items: flex-start; }
		.row.aln-middle { align-items: center; }
		.row.aln-bottom { align-items: flex-end; }
		.row > .imp { order: -1; }

		.row > .col-1 { width: 8.33333%; }
		.row > .col-2 { width: 16.66667%; }
		.row > .col-3 { width: 25%; }
		.row > .col-4 { width: 33.33333%; }
		.row > .col-5 { width: 41.66667%; }
		.row > .col-6 { width: 50%; }
		.row > .col-7 { width: 58.33333%; }
		.row > .col-8 { width: 66.66667%; }
		.row > .col-9 { width: 75%; }
		.row > .col-10 { width: 83.33333%; }
		.row > .col-11 { width: 91.66667%; }
		.row > .col-12 { width: 100%; }

		.row { margin-top: 0; margin-left: -1.5em; }
			.row > * { padding: 0 0 0 1.5em; }
			.row.gtr-uniform { margin-top: -1.5em; }
				.row.gtr-uniform > * { padding-top: 1.5em; }

	@media screen and (max-width: 480px) {
		.row > .col-12-xsmall { width: 100%; }
	}

/* --- Box --- */

	.box {
		border-radius: 0.25em;
		border: solid 1px rgba(16, 33, 61, 0.1);
		margin-bottom: 2em;
		padding: 1.5em;
	}

		.box > :last-child, .box > :last-child > :last-child, .box > :last-child > :last-child > :last-child { margin-bottom: 0; }
		.box.alt { border: 0; border-radius: 0; padding: 0; }

/* --- Button --- */

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
		-webkit-transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
		-ms-transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
		transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
		background-color: transparent;
		border: solid 1.5px !important;
		border-color: rgba(16, 33, 61, 0.2) !important;
		border-radius: 3em;
		color: #10213D !important;
		cursor: pointer;
		display: inline-block;
		font-size: 0.6em;
		font-weight: bold;
		height: calc(4.75em + 2px);
		letter-spacing: 0.2em;
		line-height: 4.75em;
		outline: 0;
		padding: 0 3.75em;
		position: relative;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		white-space: nowrap;
	}

		input[type="submit"]:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover,
		button:hover,
		.button:hover {
			border-color: #10213D !important;
		}

		input[type="submit"].primary,
		input[type="reset"].primary,
		input[type="button"].primary,
		button.primary,
		.button.primary {
			background-color: #10213D;
			color: #ffffff !important;
			border-color: #10213D !important;
		}

			input[type="submit"].primary:hover,
			input[type="reset"].primary:hover,
			input[type="button"].primary:hover,
			button.primary:hover,
			.button.primary:hover {
				background-color: #1a3358;
			}

		input[type="submit"].disabled, input[type="submit"]:disabled,
		input[type="reset"].disabled, input[type="reset"]:disabled,
		input[type="button"].disabled, input[type="button"]:disabled,
		button.disabled, button:disabled,
		.button.disabled, .button:disabled {
			cursor: default;
			opacity: 0.5;
			pointer-events: none;
		}

		input[type="submit"].fit, .button.fit { width: 100%; }

/* --- Features --- */

	.features {
		display: flex;
		flex-wrap: wrap;
		border-radius: 0.25em;
		border: solid 1px rgba(16, 33, 61, 0.08);
		background: #FFFFFF;
		margin: 0 0 2em 0;
		box-shadow: 0 2px 24px rgba(16, 33, 61, 0.04);
	}

		.features section {
			padding: 3.5em 3em 1em 7em;
			width: 50%;
			border-top: solid 1px rgba(16, 33, 61, 0.06);
			position: relative;
		}

			.features section:nth-child(-n + 2) { border-top-width: 0; }

			.features section:nth-child(2n) {
				border-left: solid 1px rgba(16, 33, 61, 0.06);
			}

			.features section .icon {
				transition: opacity 0.5s ease, transform 0.5s ease;
				transition-delay: 1s;
				transform: scale(1);
				position: absolute;
				left: 3em;
				top: 3em;
				opacity: 1;
			}

			.features section:nth-child(1) .icon { transition-delay: 0.15s; }
			.features section:nth-child(2) .icon { transition-delay: 0.3s; }
			.features section:nth-child(3) .icon { transition-delay: 0.45s; }
			.features section:nth-child(4) .icon { transition-delay: 0.6s; }
			.features section:nth-child(5) .icon { transition-delay: 0.75s; }
			.features section:nth-child(6) .icon { transition-delay: 0.9s; }

		.features.inactive section .icon {
			transform: scale(0.5);
			opacity: 0;
		}

		@media screen and (max-width: 980px) {
			.features { display: block; }
				.features section { border-top-width: 1px !important; border-left-width: 0 !important; width: 100%; }
					.features section:first-child { border-top-width: 0 !important; }
		}

		@media screen and (max-width: 736px) {
			.features section { padding: 2.5em 1.5em 0.1em 5.5em; }
				.features section .icon { left: 1.5em; top: 2em; }
		}

		@media screen and (max-width: 480px) {
			.features section { padding: 2em 1.5em 0.1em 1.5em; }
				.features section .icon { left: 0; position: relative; top: 0; }
		}

/* --- Form --- */

	form { margin: 0 0 2em 0; }
		form > :last-child { margin-bottom: 0; }

		form > .fields {
			display: flex;
			flex-wrap: wrap;
			width: calc(100% + 3em);
			margin: -1.5em 0 2em -1.5em;
		}

			form > .fields > .field {
				flex-grow: 0;
				flex-shrink: 0;
				padding: 1.5em 0 0 1.5em;
				width: calc(100% - 1.5em);
			}

				form > .fields > .field.half { width: calc(50% - 0.75em); }

		@media screen and (max-width: 480px) {
			form > .fields > .field.half { width: calc(100% - 1.5em); }
		}

	label {
		color: #10213D;
		font-weight: bold;
		line-height: 1.5;
		margin: 0 0 0.7em 0;
		display: block;
		font-size: 1.1em;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	input[type="tel"],
	select,
	textarea {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		background: #FFFFFF;
		border-radius: 0.25em;
		border: solid 1px rgba(16, 33, 61, 0.15);
		color: #10213D;
		display: block;
		outline: 0;
		padding: 0 1em;
		text-decoration: none;
		width: 100%;
	}

		input[type="text"]:focus,
		input[type="password"]:focus,
		input[type="email"]:focus,
		input[type="tel"]:focus,
		select:focus,
		textarea:focus {
			border-color: #00A991;
			box-shadow: 0 0 0 1px #00A991;
		}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select {
		height: 2.75em;
	}

	textarea { padding: 0.75em 1em; }

	::-webkit-input-placeholder { color: rgba(16, 33, 61, 0.3) !important; opacity: 1.0; }
	:-moz-placeholder { color: rgba(16, 33, 61, 0.3) !important; opacity: 1.0; }
	::-moz-placeholder { color: rgba(16, 33, 61, 0.3) !important; opacity: 1.0; }
	:-ms-input-placeholder { color: rgba(16, 33, 61, 0.3) !important; opacity: 1.0; }

/* --- Icon --- */

	.icon {
		text-decoration: none;
		border-bottom: none;
		position: relative;
	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			display: inline-block;
			font-style: normal;
			font-variant: normal;
			text-rendering: auto;
			line-height: 1;
			text-transform: none !important;
			font-family: 'Font Awesome 5 Free';
			font-weight: 400;
		}

		.icon > .label { display: none; }
		.icon:before { line-height: inherit; }
		.icon.solid:before { font-weight: 900; }
		.icon.brands:before { font-family: 'Font Awesome 5 Brands'; }

		.icon.major {
			width: 2.5em;
			height: 2.5em;
			display: block;
			background: #10213D;
			border-radius: 100%;
			color: #ffffff;
			text-align: center;
			line-height: 2.5em;
			margin: 0 0 1.3em 0;
		}

			.icon.major:before {
				font-size: 1.25em;
				color: #ffffff;
			}

/* --- Image --- */

	.image {
		border-radius: 0.25em;
		border: 0;
		display: inline-block;
		position: relative;
	}

		.image img { border-radius: 0.25em; display: block; }
		.image.left, .image.right { max-width: 40%; }
			.image.left img, .image.right img { width: 100%; }
		.image.left { float: left; margin: 0 1.5em 1em 0; top: 0.25em; }
		.image.right { float: right; margin: 0 0 1em 1.5em; top: 0.25em; }
		.image.fit { display: block; margin: 0 0 2em 0; width: 100%; }
			.image.fit img { width: 100%; }
		.image.main { display: block; margin: 0 0 3em 0; width: 100%; }
			.image.main img { width: 100%; }

/* --- List --- */

	ol { list-style: decimal; margin: 0 0 2em 0; padding-left: 1.25em; }
		ol li { padding-left: 0.25em; }
	ul { list-style: disc; margin: 0 0 2em 0; padding-left: 1em; }
		ul li { padding-left: 0.5em; }
	ul.alt { list-style: none; padding-left: 0; }
		ul.alt li { border-top: solid 1px rgba(16, 33, 61, 0.08); padding: 0.5em 0; }
			ul.alt li:first-child { border-top: 0; padding-top: 0; }
	dl { margin: 0 0 2em 0; }
		dl dt { display: block; font-weight: bold; margin: 0 0 1em 0; color: #10213D; }
		dl dd { margin-left: 2em; }

/* --- Actions --- */

	ul.actions {
		display: flex;
		cursor: default;
		list-style: none;
		margin-left: -1em;
		padding-left: 0;
	}

		ul.actions li { padding: 0 0 0 1em; vertical-align: middle; }

		ul.actions.special { justify-content: center; width: 100%; margin-left: 0; }
			ul.actions.special li:first-child { padding-left: 0; }

		ul.actions.stacked { flex-direction: column; margin-left: 0; }
			ul.actions.stacked li { padding: 1.3em 0 0 0; }
				ul.actions.stacked li:first-child { padding-top: 0; }

		ul.actions.fit { width: calc(100% + 1em); }
			ul.actions.fit li { flex-grow: 1; flex-shrink: 1; width: 100%; }
				ul.actions.fit li > * { width: 100%; }
			ul.actions.fit.stacked { width: 100%; }

		@media screen and (max-width: 480px) {
			ul.actions:not(.fixed) {
				flex-direction: column;
				margin-left: 0;
				width: 100% !important;
			}
				ul.actions:not(.fixed) li {
					flex-grow: 1; flex-shrink: 1;
					padding: 1em 0 0 0;
					text-align: center;
					width: 100%;
				}
					ul.actions:not(.fixed) li > * { width: 100%; }
					ul.actions:not(.fixed) li:first-child { padding-top: 0; }
		}

/* --- Contact --- */

	ul.contact { list-style: none; padding: 0; }
		ul.contact > li { padding: 0; margin: 1.5em 0 0 0; }
			ul.contact > li:first-child { margin-top: 0; }

/* --- Icons --- */

	ul.icons { cursor: default; list-style: none; padding-left: 0; }
		ul.icons li { display: inline-block; padding: 0 0.75em 0 0; }
			ul.icons li:last-child { padding-right: 0; }
			ul.icons li > a, ul.icons li > span { border: 0; }
				ul.icons li > a .label, ul.icons li > span .label { display: none; }

/* --- Menu --- */

	ul.menu { list-style: none; padding: 0; }
		ul.menu > li {
			border-left: solid 1px rgba(255, 255, 255, 0.15);
			display: inline-block;
			line-height: 1;
			margin-left: 1.5em;
			padding: 0 0 0 1.5em;
		}
			ul.menu > li:first-child { border-left: 0; margin: 0; padding-left: 0; }

		@media screen and (max-width: 480px) {
			ul.menu > li { border-left: 0; display: block; line-height: inherit; margin: 0.5em 0 0 0; padding-left: 0; }
		}

/* --- Section/Article --- */

	section.special, article.special { text-align: center; }

	header p {
		color: #8A95A3;
		position: relative;
		margin: 0 0 1.5em 0;
	}

	header h2 + p { font-size: 1.25em; margin-top: -1em; line-height: 1.5em; }
	header h3 + p { font-size: 1.1em; margin-top: -0.8em; line-height: 1.5em; }

/* --- Split --- */

	.split { display: flex; }

		.split > * { width: calc(50% - 2.5em); }
		.split > :nth-child(2n - 1) { padding-right: 2.5em; border-right: solid 1px rgba(16, 33, 61, 0.1); }
		.split > :nth-child(2n) { padding-left: 2.5em; }

		.split.style1 > :nth-child(2n - 1) { width: calc(66.66666% - 2.5em); }
		.split.style1 > :nth-child(2n) { width: calc(33.33333% - 2.5em); }

		@media screen and (max-width: 1680px) {
			.split > * { width: calc(50% - 2em); }
			.split > :nth-child(2n - 1) { padding-right: 2em; }
			.split > :nth-child(2n) { padding-left: 2em; }
			.split.style1 > :nth-child(2n - 1) { width: calc(66.66666% - 2em); }
			.split.style1 > :nth-child(2n) { width: calc(33.33333% - 2em); }
		}

		@media screen and (max-width: 980px) {
			.split { display: block; }
				.split > * { border-top: solid 1px rgba(16, 33, 61, 0.1); margin: 4em 0 0 0; padding: 4em 0 0 0; width: 100% !important; }
				.split > :nth-child(2n - 1) { border-right: 0; padding-right: 0; }
				.split > :nth-child(2n) { padding-left: 0; }
				.split > :first-child { border-top: 0; margin-top: 0; padding-top: 0; }
		}

		@media screen and (max-width: 736px) {
			.split > * { margin: 3em 0 0 0; padding: 3em 0 0 0; }
		}

/* --- Spotlights --- */

	.spotlights > section {
		display: flex;
		flex-direction: row;
		height: 310px;
		min-height: 0;
	}

		.spotlights > section > .image {
			background-position: center center;
			background-size: cover;
			border-radius: 0;
			display: block;
			position: relative;
			width: 400px;
			flex-shrink: 0;
			height: 100%;
		}

			.spotlights > section > .image img { border-radius: 0; display: block; }

			.spotlights > section > .image:before {
				transition: opacity 1s ease;
				background: rgba(245, 247, 249, 0.92);
				content: '';
				display: block;
				height: 100%;
				left: 0;
				opacity: 0;
				position: absolute;
				top: 0;
				width: 100%;
			}

		.spotlights > section > .content {
			padding: 1.2em 5em 1.2em 6em;
			display: flex;
			flex-direction: column;
			justify-content: center;
			flex: 1;
			min-width: 0;
		}

		.spotlights > section:nth-child(2n) > .content {
			padding: 1.2em 6em 1.2em 5em;
		}

			.spotlights > section > .content > .inner {
				transform: translateX(0) translateY(0);
				transition: opacity 1s ease, transform 1s ease;
				opacity: 1;
			}

		.spotlights > section:nth-child(2n) {
			background-color: rgba(16, 33, 61, 0.015);
		}

		.spotlights > section:nth-child(4) {
			background-color: #F3F6F8;
		}

		.spotlights > section.inactive > .image:before,
		body.is-preload .spotlights > section > .image:before {
			opacity: 1;
		}

		.spotlights > section.inactive > .content > .inner,
		body.is-preload .spotlights > section > .content > .inner {
			transform: translateX(-1em);
			opacity: 0;
		}

		@media screen and (max-width: 1680px) {
			.spotlights > section > .content { padding: 1.2em 4em 1.2em 5.5em; }
			.spotlights > section:nth-child(2n) > .content { padding: 1.2em 5.5em 1.2em 4em; }
		}

		@media screen and (max-width: 980px) {
			.spotlights > section { display: block; height: auto; }
				.spotlights > section > .image { width: 100%; height: 280px; }
				.spotlights > section > .content { width: 100%; padding: 2em 3em; }
				.spotlights > section:nth-child(2n) > .content { padding: 2em 3em; }
				.spotlights > section.inactive > .content > .inner,
				body.is-preload .spotlights > section > .content > .inner { transform: translateY(1em); }
		}

		@media screen and (max-width: 736px) {
			.spotlights > section > .image { height: 220px; }
			.spotlights > section > .content { padding: 1.5em 2em; }
			.spotlights > section:nth-child(2n) > .content { padding: 1.5em 2em; }
		}

/* --- Wrapper --- */

	.wrapper { position: relative; }

		.wrapper > .inner {
			padding: 5em 5em 3em 5em;
			max-width: 100%;
			width: 75em;
		}

			@media screen and (max-width: 1680px) { .wrapper > .inner { padding: 4em 4em 2em 4em; } }
			@media screen and (max-width: 1280px) { .wrapper > .inner { width: 100%; } }
			@media screen and (max-width: 736px) { .wrapper > .inner { padding: 3em 2em 1em 2em; } }

		.wrapper.alt { background-color: #E9EFF3; }
		.wrapper.style1 { background-color: #FFFFFF; }
		.wrapper.style1-alt { background-color: #0A1628; }
		.wrapper.style2 { background-color: #FFFFFF; }
		.wrapper.style2-alt { background-color: #F5F7F9; }
		.wrapper.style3 { background-color: #F5F7F9; }
		.wrapper.style3-alt { background-color: #E9EFF3; }

		/* Section-level alternation overrides */
		#about { background: linear-gradient(180deg, #ffffff 0%, #f8fafb 18%, #f3f6f8 100%); }
		#about > .inner { width: 100%; padding-top: 3em; padding-bottom: 1.5em; }
		#industries { background-color: #F5F7F9; padding-top: 0; }
		#industries > .inner { padding-top: 0; width: 100%; }
		#ai-practice { background-color: #FFFFFF; position: relative; }

	#ai-practice.fade-up > .ai-practice-header {
		transform: translateY(0);
		transition: opacity 1s ease, transform 1s ease;
		opacity: 1.0;
	}

	#ai-practice.fade-up.inactive > .ai-practice-header,
	body.is-preload #ai-practice.fade-up > .ai-practice-header {
		opacity: 0;
		transform: translateY(1em);
	}
		#contact { background-color: #F5F7F9; }

		.wrapper.fullscreen {
			display: flex;
			flex-direction: column;
			justify-content: center;
			min-height: calc(100vh - 80px);
		}

			@media screen and (max-width: 736px) { .wrapper.fullscreen { padding: 2em 0; min-height: 0; } }

		.wrapper.fade-up > .inner {
			transform: translateY(0);
			transition: opacity 1s ease, transform 1s ease;
			opacity: 1.0;
		}

		.wrapper.fade-up.inactive > .inner,
		body.is-preload .wrapper.fade-up > .inner {
			opacity: 0;
			transform: translateY(1em);
		}

		.wrapper.fade-down > .inner {
			transform: translateY(0);
			transition: opacity 1s ease, transform 1s ease;
			opacity: 1.0;
		}

		.wrapper.fade-down.inactive > .inner,
		body.is-preload .wrapper.fade-down > .inner {
			opacity: 0;
			transform: translateY(-1em);
		}

		.wrapper.fade > .inner {
			transition: opacity 1s ease;
			opacity: 1.0;
		}

		.wrapper.fade.inactive > .inner,
		body.is-preload .wrapper.fade > .inner {
			opacity: 0;
		}

/* --- Dark section text overrides (footer) --- */

	.wrapper.style1-alt,
	.wrapper.style1-alt p,
	.wrapper.style1-alt li {
		color: rgba(255, 255, 255, 0.45);
	}

	.wrapper.style1-alt h1,
	.wrapper.style1-alt h2,
	.wrapper.style1-alt h3,
	.wrapper.style1-alt h4,
	.wrapper.style1-alt h5,
	.wrapper.style1-alt h6,
	.wrapper.style1-alt strong,
	.wrapper.style1-alt b {
		color: #ffffff;
	}

	.wrapper.style1-alt a {
		color: rgba(255, 255, 255, 0.5);
		border-bottom-color: rgba(255, 255, 255, 0.15);
	}

		.wrapper.style1-alt a:hover {
			color: #ffffff;
			border-bottom-color: transparent;
		}

	.wrapper.style1-alt label { color: #ffffff; }

	.wrapper.style1-alt input[type="text"],
	.wrapper.style1-alt input[type="email"],
	.wrapper.style1-alt textarea {
		background: rgba(255, 255, 255, 0.05);
		border-color: rgba(255, 255, 255, 0.15);
		color: #ffffff;
	}

		.wrapper.style1-alt input[type="text"]:focus,
		.wrapper.style1-alt input[type="email"]:focus,
		.wrapper.style1-alt textarea:focus {
			border-color: #00A991;
			box-shadow: 0 0 0 1px #00A991;
		}

	.wrapper.style1-alt .split > :nth-child(2n - 1) {
		border-right-color: rgba(255, 255, 255, 0.1);
	}

	.wrapper.style1-alt .button {
		border-color: rgba(255, 255, 255, 0.2) !important;
		color: #ffffff !important;
	}
		.wrapper.style1-alt .button:hover { border-color: rgba(255, 255, 255, 0.5) !important; }

	.wrapper.style1-alt .button.primary {
		background-color: #00A991;
		color: #ffffff !important;
		border-color: #00A991 !important;
	}
		.wrapper.style1-alt .button.primary:hover { background-color: #00C4A8; }

/* --- Header --- */

	#header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 80px;
		background: rgba(255, 255, 255, 0.97);
		border-bottom: 1px solid rgba(16, 33, 61, 0.06);
		z-index: 10000;
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
	}

	.header-inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 100%;
		max-width: 1400px;
		margin: 0 auto;
		padding: 0 3em;
	}

	.header-brand a {
		border: 0;
		text-decoration: none;
		display: flex;
		flex-direction: column;
		gap: 0.15em;
	}

		.header-brand a:hover { border: 0; }

	.brand-name {
		font-size: 1.1em;
		font-weight: 700;
		color: #10213D;
		letter-spacing: 0.04em;
		line-height: 1.2;
	}

	.brand-tagline {
		font-size: 0.65em;
		color: #8A95A3;
		letter-spacing: 0.02em;
		line-height: 1.2;
		font-weight: 400;
	}

	#nav ul {
		display: flex;
		list-style: none;
		margin: 0;
		padding: 0;
		gap: 0.3em;
	}

	#nav a {
		display: block;
		padding: 0.5em 1.1em;
		font-size: 0.7em;
		font-weight: 600;
		color: #8A95A3;
		text-transform: uppercase;
		letter-spacing: 0.15em;
		text-decoration: none;
		border: 0;
		position: relative;
		transition: color 0.2s ease;
	}

		#nav a:hover { color: #10213D; border: 0; }

		#nav a:after {
			content: '';
			position: absolute;
			bottom: 0;
			left: 1.1em;
			right: 1.1em;
			height: 2px;
			background: #00A991;
			border-radius: 1px;
			transform: scaleX(0);
			transition: transform 0.2s ease;
		}

		#nav a.active { color: #10213D; }
		#nav a.active:after { transform: scaleX(1); }

	.nav-toggle {
		display: none;
		background: none;
		border: none;
		cursor: pointer;
		padding: 0.5em;
		width: 32px;
		height: 24px;
		position: relative;
		flex-shrink: 0;
	}

		.nav-toggle span {
			display: block;
			width: 100%;
			height: 2px;
			background: #10213D;
			border-radius: 1px;
			position: absolute;
			left: 0;
			transition: transform 0.3s ease, opacity 0.3s ease;
		}

		.nav-toggle span:nth-child(1) { top: 2px; }
		.nav-toggle span:nth-child(2) { top: 11px; }
		.nav-toggle span:nth-child(3) { top: 20px; }

		.nav-toggle.active span:nth-child(1) { top: 11px; transform: rotate(45deg); }
		.nav-toggle.active span:nth-child(2) { opacity: 0; }
		.nav-toggle.active span:nth-child(3) { top: 11px; transform: rotate(-45deg); }

	@media screen and (max-width: 980px) {
		.header-inner { padding: 0 2em; }

		.brand-tagline { display: none; }

		#nav {
			position: fixed;
			top: 80px;
			left: 0;
			right: 0;
			background: rgba(255, 255, 255, 0.98);
			backdrop-filter: blur(8px);
			-webkit-backdrop-filter: blur(8px);
			border-bottom: 1px solid rgba(16, 33, 61, 0.06);
			padding: 1em 0;
			transform: translateY(-100%);
			opacity: 0;
			pointer-events: none;
			transition: transform 0.3s ease, opacity 0.3s ease;
		}

			#nav.open {
				transform: translateY(0);
				opacity: 1;
				pointer-events: auto;
			}

		#nav ul {
			flex-direction: column;
			align-items: center;
			gap: 0;
		}

		#nav a {
			padding: 0.8em 2em;
			font-size: 0.75em;
		}

			#nav a:after { display: none; }

		.nav-toggle { display: block; }
	}

/* --- Wrapper (main) --- */

	#wrapper { padding-top: 80px; }

/* --- Footer --- */

	#footer > .inner a {
		border-bottom-color: rgba(255, 255, 255, 0.15);
	}
		#footer > .inner a:hover { border-bottom-color: transparent; }

	#footer > .inner .menu {
		font-size: 0.8em;
		color: rgba(255, 255, 255, 0.3);
	}

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

	#intro {
		background-image: url("../images/hero-bg-kobi.png");
		background-size: cover;
		background-position: center right;
		background-repeat: no-repeat;
		position: relative;
	}

		@media screen and (max-width: 1280px) {
			#intro { background-position: 70% center; }
		}

		@media screen and (max-width: 736px) {
			#intro { background-position: 65% bottom; background-size: cover; }
		}

	#intro > .inner {
		position: relative;
		z-index: 2;
	}

	#intro > .inner {
		padding-left: 7vw;
	}

		@media screen and (max-width: 980px) {
			#intro > .inner { padding-left: 4em; }
		}
		@media screen and (max-width: 736px) {
			#intro > .inner { padding-left: 2em; }
		}

	.hero-content {
		max-width: 820px;
	}

	.accent-line {
		width: 44px;
		height: 3px;
		background: #00A991;
		border-radius: 2px;
		margin-bottom: 1.6em;
	}

	#intro h1 {
		font-family: Georgia, 'Times New Roman', 'Palatino Linotype', serif;
		font-size: clamp(2.4rem, 3.8vw, 4.2rem);
		line-height: 1.02;
		max-width: 820px;
		letter-spacing: -0.01em;
		font-weight: normal;
		color: #10213D;
		margin-bottom: 0.7em;
	}

		@media screen and (max-width: 980px) {
			#intro h1 { font-size: clamp(2rem, 4vw, 2.8rem); }
		}

		@media screen and (max-width: 736px) {
			#intro h1 { font-size: 1.6rem; max-width: 100%; line-height: 1.15; }
			#intro h1 br { display: none; }
		}

	#intro p {
		font-size: 1.1rem;
		color: #4A5568;
		max-width: 620px;
		line-height: 1.75;
	}

		@media screen and (max-width: 736px) {
			#intro p { font-size: 0.95rem; max-width: 100%; }
		}

	/* Hero buttons — rectangular, premium */
	#intro .button {
		border-radius: 4px;
		font-size: 0.6em;
		letter-spacing: 0.15em;
		padding: 0 2.4em;
		height: calc(3.6em + 2px);
		line-height: 3.6em;
	}

		#intro .button .icon {
			margin-left: 0.5em;
			font-size: 0.8em;
		}

	#intro .button.primary {
		background-color: #10213D;
		color: #ffffff !important;
		border-color: #10213D !important;
	}

		#intro .button.primary:hover {
			background-color: #1a3358;
		}

	#intro .button:not(.primary) {
		background-color: transparent;
		border-color: rgba(16, 33, 61, 0.25) !important;
		color: #10213D !important;
	}

		#intro .button:not(.primary):hover {
			border-color: #10213D !important;
		}

/* --- Process Row --- */

	.process-row {
		display: flex;
		align-items: flex-start;
		gap: 0;
		margin-top: 2.5em;
		max-width: 780px;
	}

	.process-step {
		flex: 1;
		text-align: center;
		min-width: 0;
	}

	.process-icon {
		width: 36px;
		height: 36px;
		border-radius: 50%;
		background: rgba(0, 169, 145, 0.07);
		border: 1px solid rgba(0, 169, 145, 0.18);
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 auto 0.7em auto;
		color: #00A991;
		font-size: 0.75em;
	}

	.process-step h4 {
		font-family: 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
		font-size: 0.7em;
		font-weight: 700;
		color: #10213D;
		text-transform: uppercase;
		letter-spacing: 0.12em;
		margin-bottom: 0.35em;
	}

	.process-step p {
		font-size: 0.75em;
		color: #8A95A3;
		line-height: 1.55;
		margin: 0;
		padding: 0 0.8em;
	}

	.process-connector {
		display: flex;
		align-items: center;
		justify-content: center;
		padding-top: 0.5em;
		color: rgba(16, 33, 61, 0.12);
		font-size: 0.55em;
		flex: 0 0 24px;
	}

		@media screen and (max-width: 736px) {
			.process-row {
				flex-direction: column;
				align-items: flex-start;
				gap: 1.2em;
				max-width: 100%;
			}

			.process-step {
				display: flex;
				align-items: center;
				text-align: left;
				gap: 1em;
			}

			.process-icon {
				margin: 0;
				flex-shrink: 0;
			}

			.process-step h4 { margin-bottom: 0.15em; }

			.process-step p { padding: 0; }

			.process-connector {
				display: none;
			}
		}

/* --- Industries Image Section --- */

	.industries-image-wrap {
		padding: 0 2em;
		margin: 0 auto;
	}

	.industries-image-wrap img {
		display: block;
		width: 100%;
		height: auto;
	}

		@media screen and (max-width: 736px) {
			.industries-image-wrap { padding: 0 1em; }
		}

		@media screen and (max-width: 480px) {
			.industries-image-wrap { padding: 0 0.5em; }
		}

/* --- Eyebrow (used by logo wall) --- */

	.eyebrow {
		display: block;
		font-size: 0.65em;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.18em;
		color: #00A991;
		margin-bottom: 1.2em;
	}

	.eyebrow-line {
		display: block;
		width: 36px;
		height: 2.5px;
		background: #00A991;
		border-radius: 2px;
		margin-top: 0.7em;
	}

/* --- Logo Wall --- */

	.logo-wall-section {
		padding-top: 1.5em;
	}

		.logo-wall-section .eyebrow {
			margin-bottom: 1.5em;
		}

	.logo-wall {
		display: grid;
		grid-template-columns: repeat(10, 1fr);
		gap: 0;
		background: #FFFFFF;
		border-radius: 14px;
		overflow: hidden;
		border: 1px solid rgba(16, 33, 61, 0.07);
		box-shadow: 0 2px 16px rgba(16, 33, 61, 0.04);
	}

	.logo-cell {
		background: #FFFFFF;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 1.3em 1.2em;
		min-height: 70px;
		border-bottom: 1px solid rgba(16, 33, 61, 0.05);
	}

		.logo-cell img {
			max-height: 34px;
			max-width: 100%;
			width: auto;
			object-fit: contain;
			transition: opacity 0.25s ease;
		}

		.logo-cell:hover img {
			opacity: 0.7;
		}

	.logo-wall-more {
		text-align: center;
		color: #00A991;
		font-size: 0.9em;
		font-weight: 600;
		margin-top: 1.2em;
		margin-bottom: 0;
	}

		@media screen and (max-width: 1280px) {
			.logo-wall { grid-template-columns: repeat(8, 1fr); }
		}

		@media screen and (max-width: 980px) {
			.logo-wall { grid-template-columns: repeat(6, 1fr); }
		}

		@media screen and (max-width: 736px) {
			.logo-wall { grid-template-columns: repeat(4, 1fr); }
			.logo-cell { padding: 1em; min-height: 56px; }
			.logo-cell img { max-height: 28px; }
		}

		@media screen and (max-width: 480px) {
			.logo-wall { grid-template-columns: repeat(3, 1fr); }
		}

/* --- AI Practice — Case Study Bands --- */

	#ai-practice { padding: 0; }

	.ai-practice-header {
		max-width: 75em;
		margin: 0 auto;
		padding: 5em 5em 2.5em 5em;
		text-align: left;
	}

		.ai-practice-header h2 {
			font-size: 2em;
			font-weight: 700;
			color: #10213D;
			margin-bottom: 0.5em;
		}

		.ai-practice-header p {
			font-size: 1em;
			line-height: 1.7;
			color: #5E6B7A;
			max-width: 52em;
			margin: 0;
		}

	.case-band {
		width: 100%;
		border-top: 1px solid rgba(16, 33, 61, 0.06);
	}

	.case-band-light { background: #FFFFFF; }

	.case-band-dark {
		background: #10213D;
		border-top-color: rgba(255, 255, 255, 0.06);
	}

	.case-band-inner {
		max-width: 75em;
		margin: 0 auto;
		padding: 3.5em 5em;
		display: grid;
		grid-template-columns: auto 1fr auto;
		gap: 3em;
		align-items: start;
	}

	.case-number {
		font-size: 3.5em;
		font-weight: 700;
		line-height: 1;
		color: rgba(16, 33, 61, 0.07);
		letter-spacing: -0.02em;
		min-width: 1.6em;
	}

	.case-band-dark .case-number {
		color: rgba(255, 255, 255, 0.1);
	}

	.case-main h3 {
		font-size: 1.35em;
		font-weight: 700;
		color: #10213D;
		margin-bottom: 0.2em;
	}

	.case-band-dark .case-main h3 { color: #FFFFFF; }

	.case-subtitle {
		display: block;
		font-size: 0.8em;
		color: #00A991;
		font-weight: 600;
		margin-bottom: 1em;
		line-height: 1.4;
		text-transform: uppercase;
		letter-spacing: 0.06em;
	}

	.case-main p {
		font-size: 0.95em;
		line-height: 1.75;
		color: #5E6B7A;
		margin: 0;
		max-width: 38em;
	}

	.case-band-dark .case-main p { color: rgba(255, 255, 255, 0.72); }

	.case-dev-note {
		margin-top: 1.2em;
		padding: 0.9em 1.2em;
		background: #F5F7F9;
		border-left: 3px solid #00A991;
		border-radius: 0 6px 6px 0;
		font-size: 0.85em;
		line-height: 1.6;
		color: #5E6B7A;
	}

	.case-dev-badge {
		display: inline-block;
		background: #00A991;
		color: #FFFFFF;
		font-size: 0.75em;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.08em;
		padding: 0.2em 0.7em;
		border-radius: 3px;
		margin-right: 0.6em;
		vertical-align: middle;
	}

	.case-proof {
		min-width: 16em;
		max-width: 20em;
		padding-left: 2em;
		border-left: 1px solid rgba(16, 33, 61, 0.08);
	}

	.case-band-dark .case-proof {
		border-left-color: rgba(255, 255, 255, 0.12);
	}

	.case-proof ul {
		list-style: none;
		padding: 0;
		margin: 0;
	}

	.case-proof li {
		font-size: 0.82em;
		line-height: 1.6;
		color: #5E6B7A;
		padding: 0.45em 0;
		padding-left: 1.1em;
		position: relative;
	}

	.case-proof li::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0.85em;
		width: 5px;
		height: 5px;
		border-radius: 50%;
		background: #00A991;
	}

	.case-band-dark .case-proof li { color: rgba(255, 255, 255, 0.65); }

		@media screen and (max-width: 1680px) {
			.ai-practice-header { padding: 4em 4em 2em 4em; }
			.case-band-inner { padding: 3em 4em; }
		}

		@media screen and (max-width: 980px) {
			.case-band-inner {
				grid-template-columns: auto 1fr;
				gap: 2em;
			}
			.case-proof {
				grid-column: 1 / -1;
				border-left: none;
				padding-left: 0;
				border-top: 1px solid rgba(16, 33, 61, 0.08);
				padding-top: 1.2em;
				max-width: none;
			}
			.case-band-dark .case-proof {
				border-top-color: rgba(255, 255, 255, 0.12);
			}
		}

		@media screen and (max-width: 736px) {
			.ai-practice-header { padding: 3em 2em 1.5em 2em; }
			.case-band-inner {
				padding: 2em 2em;
				grid-template-columns: 1fr;
				gap: 1em;
			}
			.case-number {
				font-size: 2.5em;
			}
			.case-proof { min-width: 0; }
		}

/* --- Contact Section --- */

	#contact {
		background-color: #F5F7F9;
		padding: 0;
		position: relative;
	}

	#contact.fade-up > .contact-wrap {
		transform: translateY(0);
		transition: opacity 1s ease, transform 1s ease;
		opacity: 1.0;
	}

	#contact.fade-up.inactive > .contact-wrap,
	body.is-preload #contact.fade-up > .contact-wrap {
		opacity: 0;
		transform: translateY(1em);
	}

	.contact-wrap {
		max-width: 75em;
		margin: 0 auto;
		padding: 5em 5em 4em 5em;
		display: grid;
		grid-template-columns: 1fr 380px;
		gap: 3.5em;
		align-items: start;
	}

	.contact-heading {
		font-size: 1.8em;
		font-weight: 700;
		color: #10213D;
		line-height: 1.25;
		margin-bottom: 0.6em;
	}

	.contact-intro {
		font-size: 0.95em;
		line-height: 1.75;
		color: #5E6B7A;
		max-width: 36em;
		margin-bottom: 2em;
	}

	.contact-form-card {
		background: #FFFFFF;
		border: 1px solid rgba(16, 33, 61, 0.08);
		border-radius: 10px;
		padding: 2em 2.2em;
		box-shadow: 0 2px 20px rgba(16, 33, 61, 0.04);
	}

	.contact-form-row {
		display: flex;
		gap: 1.2em;
		margin-bottom: 1em;
	}

	.contact-form-half { flex: 1; }

	.contact-form-field { margin-bottom: 1em; }

	.contact-form-field label {
		display: block;
		font-size: 0.78em;
		font-weight: 600;
		color: #10213D;
		margin-bottom: 0.45em;
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}

	.contact-form-field input,
	.contact-form-field textarea {
		width: 100%;
		border: 1px solid rgba(16, 33, 61, 0.13);
		border-radius: 6px;
		padding: 0.7em 0.9em;
		font-size: 0.92em;
		color: #10213D;
		background: #FFFFFF;
		outline: none;
		transition: border-color 0.2s ease, box-shadow 0.2s ease;
		font-family: inherit;
	}

	.contact-form-field input { height: auto; }

	.contact-form-field input:focus,
	.contact-form-field textarea:focus {
		border-color: #00A991;
		box-shadow: 0 0 0 2px rgba(0, 169, 145, 0.1);
	}

	.contact-form-field textarea {
		resize: vertical;
		min-height: 5.5em;
	}

	.contact-form-actions {
		display: flex;
		align-items: center;
		gap: 1.2em;
		margin-top: 0.5em;
	}

	.contact-send-btn {
		display: inline-block;
		background: #10213D;
		color: #FFFFFF !important;
		border: none;
		border-radius: 6px;
		padding: 0.75em 2.2em;
		font-size: 0.82em;
		font-family: inherit;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		cursor: pointer;
		text-decoration: none;
		transition: background-color 0.2s ease;
		white-space: nowrap;
	}

	.contact-send-btn:hover {
		background: #00A991;
	}

	.contact-privacy {
		font-size: 0.72em;
		color: #8A95A3;
		line-height: 1.5;
	}

	/* --- Contact Details Card --- */

	.contact-details-card {
		background: #10213D;
		border-radius: 10px;
		padding: 2.4em 2.2em;
		color: #FFFFFF;
		position: relative;
		overflow: hidden;
	}

	.contact-details-card::before {
		content: '';
		position: absolute;
		top: -40px;
		right: -40px;
		width: 200px;
		height: 200px;
		border-radius: 50%;
		border: 1px solid rgba(255, 255, 255, 0.04);
	}

	.contact-details-card::after {
		content: '';
		position: absolute;
		bottom: -60px;
		right: -20px;
		width: 160px;
		height: 160px;
		border-radius: 50%;
		border: 1px solid rgba(255, 255, 255, 0.03);
	}

	.contact-details-heading {
		font-size: 1.15em;
		font-weight: 700;
		margin-bottom: 1.8em;
		color: #FFFFFF;
		position: relative;
	}

	.contact-detail-item {
		display: flex;
		align-items: flex-start;
		gap: 1em;
		padding: 1em 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		position: relative;
	}

	.contact-detail-item:first-of-type { padding-top: 0; }
	.contact-detail-item:last-of-type { border-bottom: none; }

	.contact-detail-icon {
		width: 2.2em;
		height: 2.2em;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(0, 169, 145, 0.4);
		border-radius: 8px;
		color: #00A991;
		font-size: 0.85em;
		flex-shrink: 0;
		margin-top: 0.1em;
	}

	.contact-detail-label {
		display: block;
		font-size: 0.7em;
		text-transform: uppercase;
		letter-spacing: 0.08em;
		color: rgba(255, 255, 255, 0.45);
		font-weight: 600;
		margin-bottom: 0.25em;
	}

	.contact-detail-value {
		font-size: 0.92em;
		color: #FFFFFF;
		text-decoration: none;
		transition: color 0.2s ease;
	}

	a.contact-detail-value:hover { color: #00A991; }

	/* --- Connect / Social --- */

	.contact-connect {
		margin-top: 1.6em;
		padding-top: 1.4em;
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		position: relative;
	}

	.contact-connect-label {
		display: block;
		font-size: 0.7em;
		text-transform: uppercase;
		letter-spacing: 0.08em;
		color: rgba(255, 255, 255, 0.45);
		font-weight: 600;
		margin-bottom: 0.9em;
	}

	.contact-social-links {
		display: flex;
		gap: 0.7em;
	}

	.contact-social-btn {
		width: 2.6em;
		height: 2.6em;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(255, 255, 255, 0.15);
		border-radius: 50%;
		color: #FFFFFF;
		font-size: 0.95em;
		text-decoration: none;
		transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
	}

	.contact-social-btn:hover {
		border-color: #00A991;
		background: rgba(0, 169, 145, 0.12);
		color: #00A991;
	}

	/* --- Contact Responsive --- */

		@media screen and (max-width: 1680px) {
			.contact-wrap { padding: 4em 4em 3em 4em; }
		}

		@media screen and (max-width: 1280px) {
			.contact-wrap { gap: 2.5em; }
		}

		@media screen and (max-width: 980px) {
			.contact-wrap {
				grid-template-columns: 1fr;
				gap: 2.5em;
			}
			.contact-details-card {
				max-width: 420px;
			}
		}

		@media screen and (max-width: 736px) {
			.contact-wrap {
				padding: 3em 2em 2em 2em;
			}
			.contact-form-row {
				flex-direction: column;
				gap: 1em;
			}
			.contact-form-actions {
				flex-direction: column;
				align-items: stretch;
			}
			.contact-send-btn {
				text-align: center;
				padding: 0.85em 2em;
			}
			.contact-privacy {
				text-align: center;
			}
			.contact-details-card {
				max-width: none;
			}
		}
