@import url("fontawesome-all.min.css");
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600&display=swap");
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400,600");

/*
	Prologue by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

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 */

	html {
		box-sizing: border-box;
	}

	*, *:before, *:after {
		box-sizing: inherit;
	}

	body {
		background: #fff;
		font-family: 'Source Sans Pro', sans-serif;
		font-size: 19pt;
		font-weight: 300;
		line-height: 1.75em;
		color: #888;
	}

		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;
		}

	input, textarea, select {
		font-family: 'Source Sans Pro', sans-serif;
		font-size: 19pt;
		font-weight: 300;
		line-height: 1.75em;
		color: #888;
	}

	h1, h2, h3, h4, h5, h6 {
		font-weight: 300;
		color: #666;
		line-height: 1.5em;
	}

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

		h1 a strong, h2 a strong, h3 a strong, h4 a strong, h5 a strong, h6 a strong {
			color: #333;
		}

	h2 {
		font-size: 2em;
		letter-spacing: -1px;
	}

		h2.alt {
			color: #888;
		}

			h2.alt strong {
				color: #666;
			}

	h3 {
		font-size: 1.5em;
	}

	header {
		margin: 0 0 2em 0;
	}

		header > p {
			margin: 1em 0 0 0;
		}

	footer {
		margin: 2em 0 0 0;
	}

	strong, b {
		font-weight: 300;
		color: #666;
	}

	em, i {
		font-style: italic;
	}

	a {
		text-decoration: none;
		color: inherit;
		border-bottom: dotted 1px rgba(128, 128, 128, 0.5);
		-moz-transition: color 0.35s ease-in-out, border-bottom-color 0.35s ease-in-out;
		-webkit-transition: color 0.35s ease-in-out, border-bottom-color 0.35s ease-in-out;
		-ms-transition: color 0.35s ease-in-out, border-bottom-color 0.35s ease-in-out;
		transition: color 0.35s ease-in-out, border-bottom-color 0.35s ease-in-out;
		outline: 0;
	}

		a:hover {
			color: #E27689;
			border-bottom-color: rgba(255, 255, 255, 0);
		}

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

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

	hr {
		border: 0;
		border-top: solid 1px #ddd;
	}

	blockquote {
		border-left: solid 0.5em #ddd;
		padding: 1em 0 1em 2em;
		font-style: italic;
	}

	p, ul, ol, dl, table {
		margin-bottom: 2em;
	}

	br.clear {
		clear: both;
	}

/* Container */

	.container {
		margin: 0 auto;
		max-width: 100%;
		width: 1400px;
	}

		@media screen and (min-width: 961px) and (max-width: 1880px) {

			.container {
				width: 1200px;
			}

		}

		@media screen and (min-width: 961px) and (max-width: 1620px) {

			.container {
				width: 960px;
			}

		}

		@media screen and (min-width: 961px) and (max-width: 1320px) {

			.container {
				width: 100%;
			}

		}

		@media screen and (max-width: 960px) {

			.container {
				width: 100%;
			}

		}

@media screen and (max-width: 736px) {

			.container {
				width: 100%;
			}

		}

/* 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 > .off-1 {
			margin-left: 8.33333%;
		}

		.row > .col-2 {
			width: 16.66667%;
		}

		.row > .off-2 {
			margin-left: 16.66667%;
		}

		.row > .col-3 {
			width: 25%;
		}

		.row > .off-3 {
			margin-left: 25%;
		}

		.row > .col-4 {
			width: 33.33333%;
		}

		.row > .off-4 {
			margin-left: 33.33333%;
		}

		.row > .col-5 {
			width: 41.66667%;
		}

		.row > .off-5 {
			margin-left: 41.66667%;
		}

		.row > .col-6 {
			width: 50%;
		}

		.row > .off-6 {
			margin-left: 50%;
		}

		.row > .col-7 {
			width: 58.33333%;
		}

		.row > .off-7 {
			margin-left: 58.33333%;
		}

		.row > .col-8 {
			width: 66.66667%;
		}

		.row > .off-8 {
			margin-left: 66.66667%;
		}

		.row > .col-9 {
			width: 75%;
		}

		.row > .off-9 {
			margin-left: 75%;
		}

		.row > .col-10 {
			width: 83.33333%;
		}

		.row > .off-10 {
			margin-left: 83.33333%;
		}

		.row > .col-11 {
			width: 91.66667%;
		}

		.row > .off-11 {
			margin-left: 91.66667%;
		}

		.row > .col-12 {
			width: 100%;
		}

		.row > .off-12 {
			margin-left: 100%;
		}

		.row.gtr-0 {
			margin-top: 0px;
			margin-left: 0px;
		}

			.row.gtr-0 > * {
				padding: 0px 0 0 0px;
			}

			.row.gtr-0.gtr-uniform {
				margin-top: 0px;
			}

				.row.gtr-0.gtr-uniform > * {
					padding-top: 0px;
				}

		.row.gtr-25 {
			margin-top: -10px;
			margin-left: -10px;
		}

			.row.gtr-25 > * {
				padding: 10px 0 0 10px;
			}

			.row.gtr-25.gtr-uniform {
				margin-top: -10px;
			}

				.row.gtr-25.gtr-uniform > * {
					padding-top: 10px;
				}

		.row.gtr-50 {
			margin-top: -20px;
			margin-left: -20px;
		}

			.row.gtr-50 > * {
				padding: 20px 0 0 20px;
			}

			.row.gtr-50.gtr-uniform {
				margin-top: -20px;
			}

				.row.gtr-50.gtr-uniform > * {
					padding-top: 20px;
				}

		.row {
			margin-top: -40px;
			margin-left: -40px;
		}

			.row > * {
				padding: 40px 0 0 40px;
			}

			.row.gtr-uniform {
				margin-top: -40px;
			}

				.row.gtr-uniform > * {
					padding-top: 40px;
				}

		.row.gtr-150 {
			margin-top: -60px;
			margin-left: -60px;
		}

			.row.gtr-150 > * {
				padding: 60px 0 0 60px;
			}

			.row.gtr-150.gtr-uniform {
				margin-top: -60px;
			}

				.row.gtr-150.gtr-uniform > * {
					padding-top: 60px;
				}

		.row.gtr-200 {
			margin-top: -80px;
			margin-left: -80px;
		}

			.row.gtr-200 > * {
				padding: 80px 0 0 80px;
			}

			.row.gtr-200.gtr-uniform {
				margin-top: -80px;
			}

				.row.gtr-200.gtr-uniform > * {
					padding-top: 80px;
				}

		@media screen and (min-width: 961px) and (max-width: 1880px) {

			.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-wide {
					order: -1;
				}

				.row > .col-1-wide {
					width: 8.33333%;
				}

				.row > .off-1-wide {
					margin-left: 8.33333%;
				}

				.row > .col-2-wide {
					width: 16.66667%;
				}

				.row > .off-2-wide {
					margin-left: 16.66667%;
				}

				.row > .col-3-wide {
					width: 25%;
				}

				.row > .off-3-wide {
					margin-left: 25%;
				}

				.row > .col-4-wide {
					width: 33.33333%;
				}

				.row > .off-4-wide {
					margin-left: 33.33333%;
				}

				.row > .col-5-wide {
					width: 41.66667%;
				}

				.row > .off-5-wide {
					margin-left: 41.66667%;
				}

				.row > .col-6-wide {
					width: 50%;
				}

				.row > .off-6-wide {
					margin-left: 50%;
				}

				.row > .col-7-wide {
					width: 58.33333%;
				}

				.row > .off-7-wide {
					margin-left: 58.33333%;
				}

				.row > .col-8-wide {
					width: 66.66667%;
				}

				.row > .off-8-wide {
					margin-left: 66.66667%;
				}

				.row > .col-9-wide {
					width: 75%;
				}

				.row > .off-9-wide {
					margin-left: 75%;
				}

				.row > .col-10-wide {
					width: 83.33333%;
				}

				.row > .off-10-wide {
					margin-left: 83.33333%;
				}

				.row > .col-11-wide {
					width: 91.66667%;
				}

				.row > .off-11-wide {
					margin-left: 91.66667%;
				}

				.row > .col-12-wide {
					width: 100%;
				}

				.row > .off-12-wide {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -10px;
					margin-left: -10px;
				}

					.row.gtr-25 > * {
						padding: 10px 0 0 10px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -10px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 10px;
						}

				.row.gtr-50 {
					margin-top: -20px;
					margin-left: -20px;
				}

					.row.gtr-50 > * {
						padding: 20px 0 0 20px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -20px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 20px;
						}

				.row {
					margin-top: -40px;
					margin-left: -40px;
				}

					.row > * {
						padding: 40px 0 0 40px;
					}

					.row.gtr-uniform {
						margin-top: -40px;
					}

						.row.gtr-uniform > * {
							padding-top: 40px;
						}

				.row.gtr-150 {
					margin-top: -60px;
					margin-left: -60px;
				}

					.row.gtr-150 > * {
						padding: 60px 0 0 60px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -60px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 60px;
						}

				.row.gtr-200 {
					margin-top: -80px;
					margin-left: -80px;
				}

					.row.gtr-200 > * {
						padding: 80px 0 0 80px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -80px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 80px;
						}

		}

		@media screen and (min-width: 961px) and (max-width: 1620px) {

			.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-normal {
					order: -1;
				}

				.row > .col-1-normal {
					width: 8.33333%;
				}

				.row > .off-1-normal {
					margin-left: 8.33333%;
				}

				.row > .col-2-normal {
					width: 16.66667%;
				}

				.row > .off-2-normal {
					margin-left: 16.66667%;
				}

				.row > .col-3-normal {
					width: 25%;
				}

				.row > .off-3-normal {
					margin-left: 25%;
				}

				.row > .col-4-normal {
					width: 33.33333%;
				}

				.row > .off-4-normal {
					margin-left: 33.33333%;
				}

				.row > .col-5-normal {
					width: 41.66667%;
				}

				.row > .off-5-normal {
					margin-left: 41.66667%;
				}

				.row > .col-6-normal {
					width: 50%;
				}

				.row > .off-6-normal {
					margin-left: 50%;
				}

				.row > .col-7-normal {
					width: 58.33333%;
				}

				.row > .off-7-normal {
					margin-left: 58.33333%;
				}

				.row > .col-8-normal {
					width: 66.66667%;
				}

				.row > .off-8-normal {
					margin-left: 66.66667%;
				}

				.row > .col-9-normal {
					width: 75%;
				}

				.row > .off-9-normal {
					margin-left: 75%;
				}

				.row > .col-10-normal {
					width: 83.33333%;
				}

				.row > .off-10-normal {
					margin-left: 83.33333%;
				}

				.row > .col-11-normal {
					width: 91.66667%;
				}

				.row > .off-11-normal {
					margin-left: 91.66667%;
				}

				.row > .col-12-normal {
					width: 100%;
				}

				.row > .off-12-normal {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -10px;
					margin-left: -10px;
				}

					.row.gtr-25 > * {
						padding: 10px 0 0 10px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -10px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 10px;
						}

				.row.gtr-50 {
					margin-top: -20px;
					margin-left: -20px;
				}

					.row.gtr-50 > * {
						padding: 20px 0 0 20px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -20px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 20px;
						}

				.row {
					margin-top: -40px;
					margin-left: -40px;
				}

					.row > * {
						padding: 40px 0 0 40px;
					}

					.row.gtr-uniform {
						margin-top: -40px;
					}

						.row.gtr-uniform > * {
							padding-top: 40px;
						}

				.row.gtr-150 {
					margin-top: -60px;
					margin-left: -60px;
				}

					.row.gtr-150 > * {
						padding: 60px 0 0 60px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -60px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 60px;
						}

				.row.gtr-200 {
					margin-top: -80px;
					margin-left: -80px;
				}

					.row.gtr-200 > * {
						padding: 80px 0 0 80px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -80px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 80px;
						}

		}

		@media screen and (min-width: 961px) and (max-width: 1320px) {

			.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-narrow {
					order: -1;
				}

				.row > .col-1-narrow {
					width: 8.33333%;
				}

				.row > .off-1-narrow {
					margin-left: 8.33333%;
				}

				.row > .col-2-narrow {
					width: 16.66667%;
				}

				.row > .off-2-narrow {
					margin-left: 16.66667%;
				}

				.row > .col-3-narrow {
					width: 25%;
				}

				.row > .off-3-narrow {
					margin-left: 25%;
				}

				.row > .col-4-narrow {
					width: 33.33333%;
				}

				.row > .off-4-narrow {
					margin-left: 33.33333%;
				}

				.row > .col-5-narrow {
					width: 41.66667%;
				}

				.row > .off-5-narrow {
					margin-left: 41.66667%;
				}

				.row > .col-6-narrow {
					width: 50%;
				}

				.row > .off-6-narrow {
					margin-left: 50%;
				}

				.row > .col-7-narrow {
					width: 58.33333%;
				}

				.row > .off-7-narrow {
					margin-left: 58.33333%;
				}

				.row > .col-8-narrow {
					width: 66.66667%;
				}

				.row > .off-8-narrow {
					margin-left: 66.66667%;
				}

				.row > .col-9-narrow {
					width: 75%;
				}

				.row > .off-9-narrow {
					margin-left: 75%;
				}

				.row > .col-10-narrow {
					width: 83.33333%;
				}

				.row > .off-10-narrow {
					margin-left: 83.33333%;
				}

				.row > .col-11-narrow {
					width: 91.66667%;
				}

				.row > .off-11-narrow {
					margin-left: 91.66667%;
				}

				.row > .col-12-narrow {
					width: 100%;
				}

				.row > .off-12-narrow {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -5px;
					margin-left: -5px;
				}

					.row.gtr-25 > * {
						padding: 5px 0 0 5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 5px;
						}

				.row.gtr-50 {
					margin-top: -10px;
					margin-left: -10px;
				}

					.row.gtr-50 > * {
						padding: 10px 0 0 10px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -10px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 10px;
						}

				.row {
					margin-top: -20px;
					margin-left: -20px;
				}

					.row > * {
						padding: 20px 0 0 20px;
					}

					.row.gtr-uniform {
						margin-top: -20px;
					}

						.row.gtr-uniform > * {
							padding-top: 20px;
						}

				.row.gtr-150 {
					margin-top: -30px;
					margin-left: -30px;
				}

					.row.gtr-150 > * {
						padding: 30px 0 0 30px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -30px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 30px;
						}

				.row.gtr-200 {
					margin-top: -40px;
					margin-left: -40px;
				}

					.row.gtr-200 > * {
						padding: 40px 0 0 40px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -40px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 40px;
						}

		}

		@media screen and (max-width: 960px) {

			.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-narrower {
					order: -1;
				}

				.row > .col-1-narrower {
					width: 8.33333%;
				}

				.row > .off-1-narrower {
					margin-left: 8.33333%;
				}

				.row > .col-2-narrower {
					width: 16.66667%;
				}

				.row > .off-2-narrower {
					margin-left: 16.66667%;
				}

				.row > .col-3-narrower {
					width: 25%;
				}

				.row > .off-3-narrower {
					margin-left: 25%;
				}

				.row > .col-4-narrower {
					width: 33.33333%;
				}

				.row > .off-4-narrower {
					margin-left: 33.33333%;
				}

				.row > .col-5-narrower {
					width: 41.66667%;
				}

				.row > .off-5-narrower {
					margin-left: 41.66667%;
				}

				.row > .col-6-narrower {
					width: 50%;
				}

				.row > .off-6-narrower {
					margin-left: 50%;
				}

				.row > .col-7-narrower {
					width: 58.33333%;
				}

				.row > .off-7-narrower {
					margin-left: 58.33333%;
				}

				.row > .col-8-narrower {
					width: 66.66667%;
				}

				.row > .off-8-narrower {
					margin-left: 66.66667%;
				}

				.row > .col-9-narrower {
					width: 75%;
				}

				.row > .off-9-narrower {
					margin-left: 75%;
				}

				.row > .col-10-narrower {
					width: 83.33333%;
				}

				.row > .off-10-narrower {
					margin-left: 83.33333%;
				}

				.row > .col-11-narrower {
					width: 91.66667%;
				}

				.row > .off-11-narrower {
					margin-left: 91.66667%;
				}

				.row > .col-12-narrower {
					width: 100%;
				}

				.row > .off-12-narrower {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -5px;
					margin-left: -5px;
				}

					.row.gtr-25 > * {
						padding: 5px 0 0 5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 5px;
						}

				.row.gtr-50 {
					margin-top: -10px;
					margin-left: -10px;
				}

					.row.gtr-50 > * {
						padding: 10px 0 0 10px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -10px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 10px;
						}

				.row {
					margin-top: -20px;
					margin-left: -20px;
				}

					.row > * {
						padding: 20px 0 0 20px;
					}

					.row.gtr-uniform {
						margin-top: -20px;
					}

						.row.gtr-uniform > * {
							padding-top: 20px;
						}

				.row.gtr-150 {
					margin-top: -30px;
					margin-left: -30px;
				}

					.row.gtr-150 > * {
						padding: 30px 0 0 30px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -30px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 30px;
						}

				.row.gtr-200 {
					margin-top: -40px;
					margin-left: -40px;
				}

					.row.gtr-200 > * {
						padding: 40px 0 0 40px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -40px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 40px;
						}

		}

		@media screen and (max-width: 736px) {

			.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-mobile {
					order: -1;
				}

				.row > .col-1-mobile {
					width: 8.33333%;
				}

				.row > .off-1-mobile {
					margin-left: 8.33333%;
				}

				.row > .col-2-mobile {
					width: 16.66667%;
				}

				.row > .off-2-mobile {
					margin-left: 16.66667%;
				}

				.row > .col-3-mobile {
					width: 25%;
				}

				.row > .off-3-mobile {
					margin-left: 25%;
				}

				.row > .col-4-mobile {
					width: 33.33333%;
				}

				.row > .off-4-mobile {
					margin-left: 33.33333%;
				}

				.row > .col-5-mobile {
					width: 41.66667%;
				}

				.row > .off-5-mobile {
					margin-left: 41.66667%;
				}

				.row > .col-6-mobile {
					width: 50%;
				}

				.row > .off-6-mobile {
					margin-left: 50%;
				}

				.row > .col-7-mobile {
					width: 58.33333%;
				}

				.row > .off-7-mobile {
					margin-left: 58.33333%;
				}

				.row > .col-8-mobile {
					width: 66.66667%;
				}

				.row > .off-8-mobile {
					margin-left: 66.66667%;
				}

				.row > .col-9-mobile {
					width: 75%;
				}

				.row > .off-9-mobile {
					margin-left: 75%;
				}

				.row > .col-10-mobile {
					width: 83.33333%;
				}

				.row > .off-10-mobile {
					margin-left: 83.33333%;
				}

				.row > .col-11-mobile {
					width: 91.66667%;
				}

				.row > .off-11-mobile {
					margin-left: 91.66667%;
				}

				.row > .col-12-mobile {
					width: 100%;
				}

				.row > .off-12-mobile {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -5px;
					margin-left: -5px;
				}

					.row.gtr-25 > * {
						padding: 5px 0 0 5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 5px;
						}

				.row.gtr-50 {
					margin-top: -10px;
					margin-left: -10px;
				}

					.row.gtr-50 > * {
						padding: 10px 0 0 10px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -10px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 10px;
						}

				.row {
					margin-top: -20px;
					margin-left: -20px;
				}

					.row > * {
						padding: 20px 0 0 20px;
					}

					.row.gtr-uniform {
						margin-top: -20px;
					}

						.row.gtr-uniform > * {
							padding-top: 20px;
						}

				.row.gtr-150 {
					margin-top: -30px;
					margin-left: -30px;
				}

					.row.gtr-150 > * {
						padding: 30px 0 0 30px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -30px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 30px;
						}

				.row.gtr-200 {
					margin-top: -40px;
					margin-left: -40px;
				}

					.row.gtr-200 > * {
						padding: 40px 0 0 40px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -40px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 40px;
						}

		}

/* Sections/Article */

	section, article {
		margin-bottom: 3em;
	}

		section > :last-child,
		section > .container, section:last-child, article > :last-child,
		article > .container, article:last-child {
			margin-bottom: 0;
		}

		.row > section, .row > article {
			margin-bottom: 0;
		}

/* Image */

	.image {
		display: inline-block;
		border: 0;
	}

		.image img {
			display: block;
			width: 100%;
		}

		.image.avatar48 {
			width: 48px;
			height: 48px;
			background: #f00;
		}

			.image.avatar48 img {
				width: 48px;
				height: 48px;
			}

		.image.fit {
			display: block;
			width: 100%;
		}

		.image.featured {
			display: block;
			width: 100%;
			margin: 0 0 2em 0;
		}

		.image.left {
			float: left;
			margin: 0 2em 2em 0;
		}

		.image.centered {
			display: block;
			margin: 0 0 2em 0;
		}

			.image.centered img {
				margin: 0 auto;
				width: auto;
			}

/* List */

	ul {
		list-style: disc;
		padding-left: 1em;
	}

		ul li {
			padding-left: 0.5em;
		}

	ol {
		list-style: decimal;
		padding-left: 1.25em;
	}

		ol li {
			padding-left: 0.25em;
		}

/* Icons */

	ul.icons {
		cursor: default;
		list-style: none;
		padding-left: 0;
	}

		ul.icons li {
			display: inline-block;
			padding-left: 0;
		}

		ul.icons a {
			display: inline-block;
			width: 2em;
			height: 2em;
			line-height: 2em;
			text-align: center;
			border: 0;
		}

/* Form */

	form label {
		display: block;
		text-align: left;
		margin-bottom: 0.5em;
	}

	form input[type="text"],
	form input[type="email"],
	form input[type="password"],
	form select,
	form textarea {
		position: relative;
		-webkit-appearance: none;
		appearance: none;
		display: block;
		border: 0;
		outline: 0;
		background: #fff;
		background: rgba(255, 255, 255, 0.75);
		width: 100%;
		border-radius: 0.35em;
		padding: 0.75em 1em 0.75em 1em;
		box-shadow: inset 0 0.1em 0.1em 0 rgba(0, 0, 0, 0.05);
		border: solid 1px rgba(0, 0, 0, 0.15);
		-moz-transition: all 0.35s ease-in-out;
		-webkit-transition: all 0.35s ease-in-out;
		-ms-transition: all 0.35s ease-in-out;
		transition: all 0.35s ease-in-out;
	}

		form input[type="text"]:focus,
		form input[type="email"]:focus,
		form input[type="password"]:focus,
		form select:focus,
		form textarea:focus {
			box-shadow: 0 0 2px 1px #8ebebc;
			background: #fff;
		}

	form input[type="text"],
	form input[type="email"],
	form input[type="password"],
	form select {
		line-height: 1.25em;
	}

	form textarea {
		min-height: 14em;
	}

	form ::-webkit-input-placeholder {
		color: #555 !important;
	}

	form :-moz-placeholder {
		color: #555 !important;
	}

	form ::-moz-placeholder {
		color: #555 !important;
	}

	form :-ms-input-placeholder {
		color: #555 !important;
	}

	form ::-moz-focus-inner {
		border: 0;
	}

/* Table */

	table {
		width: 100%;
		text-align: left;
	}

		table tbody tr:nth-child(2n+2) {
			background: #f4f4f4;
		}

		table td {
			padding: 0.5em 1em 0.5em 1em;
		}

		table th {
			text-align: left;
			padding: 0.5em 1em 0.5em 1em;
			color: #fff;
			background: #222729 url("images/overlay.png");
		}

		table thead {
			background: #444;
			color: #fff;
		}

		table tfoot {
			background: #eee;
		}

/* Button */

	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	button,
	.button {
		position: relative;
		display: inline-block;
		border-radius: 0.35em;
		color: #fff !important;
		text-decoration: none;
		padding: 0.75em 2.5em 0.75em 2.5em;
		background-color: #8ebebc;
		border: 0;
		cursor: pointer;
		background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)), url("images/overlay.png");
		background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)), url("images/overlay.png");
		background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)), url("images/overlay.png");
		background-image: linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)), url("images/overlay.png");
		-moz-transition: background-color 0.35s ease-in-out;
		-webkit-transition: background-color 0.35s ease-in-out;
		-ms-transition: background-color 0.35s ease-in-out;
		transition: background-color 0.35s ease-in-out;
	}

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

		input[type="button"]:active,
		input[type="submit"]:active,
		input[type="reset"]:active,
		button:active,
		.button:active {
			background-color: #7eaeac;
		}

/* Item */

	.item {
		box-shadow: 0 0.05em 0.15em 0 rgba(0, 0, 0, 0.05);
		margin-bottom: 40px;
	}

		.item header {
			background: #fff;
			margin: 0;
			padding: 1em 0 1em 0;
			font-size: 0.8em;
		}

			.item header h3 {
				font-size: 1em;
			}

/* Icons */

	.icon {
		text-decoration: none;
		text-decoration: none;
	}

		.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:before {
			line-height: inherit;
		}

		.icon > .label {
			display: none;
		}

		.icon.solid:before {
			font-weight: 900;
		}

		.icon.brands:before {
			font-family: 'Font Awesome 5 Brands';
		}

/* Header */

	#header {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-moz-justify-content: space-between;
		-webkit-justify-content: space-between;
		-ms-justify-content: space-between;
		justify-content: space-between;
		background: #222629 url("images/overlay.png");
		box-shadow: inset -0.25em 0 0.25em 0 rgba(0, 0, 0, 0.1);
		color: #fff;
		height: 100%;
		left: 0;
		overflow-y: auto;
		position: fixed;
		text-align: right;
		top: 0;
		width: 375px;
	}

		#header .top {
			-moz-flex-grow: 1;
			-webkit-flex-grow: 1;
			-ms-flex-grow: 1;
			flex-grow: 1;
		}

		#header .bottom {
			-moz-flex-shrink: 0;
			-webkit-flex-shrink: 0;
			-ms-flex-shrink: 0;
			flex-shrink: 0;
			padding: 1.5em 0 0.75em 0;
		}

			#header .bottom > :last-child {
				margin-bottom: 0;
			}

		#header .icons {
			font-size: 0.8em;
			text-align: center;
		}

			#header .icons a {
				color: #41484c;
				-moz-transition: color 0.35s ease-in-out;
				-webkit-transition: color 0.35s ease-in-out;
				-ms-transition: color 0.35s ease-in-out;
				transition: color 0.35s ease-in-out;
			}

				#header .icons a:hover {
					color: #fff;
				}

	#logo {
		position: relative;
		margin: 1.75em 1.5em 1.5em 1.5em;
		min-height: 48px;
		cursor: default;
	}

		#logo h1 {
			position: relative;
			color: #fff;
			font-weight: 600;
			font-size: 1em;
			line-height: 1em;
		}

		#logo p {
			position: relative;
			display: block;
			font-size: 0.6em;
			color: rgba(255, 255, 255, 0.5);
			line-height: 1.25em;
			margin: 0.5em 0 0 0;
		}

		#logo .image {
			position: absolute;
			left: 0;
			top: 0;
		}

	#nav ul {
		list-style: none;
		padding-left: 0;
		margin-bottom: 0;
	}

		#nav ul li {
			padding-left: 0;
		}

			#nav ul li a {
				display: block;
				padding: 0.5em 1.5em 0.5em 1.5em;
				color: rgba(255, 255, 255, 0.5);
				text-decoration: none;
				outline: 0;
				border: 0;
				-moz-transition: none;
				-webkit-transition: none;
				-ms-transition: none;
				transition: none;
			}

				#nav ul li a span {
					position: relative;
					display: block;
					font-size: 0.8em;
				}

					#nav ul li a span:before {
						position: absolute;
						left: 0;
						color: #41484c;
						text-align: center;
						width: 1.25em;
						line-height: 1.75em;
					}

				#nav ul li a.active {
					background: rgba(0, 0, 0, 0.15);
					box-shadow: inset 0 0 0.25em 0 rgba(0, 0, 0, 0.125);
					color: #fff;
				}

					#nav ul li a.active span:before {
						color: #e27689;
					}

/* Footer */

	#footer {
		margin-left: 375px;
		text-align: center;
		background-color: #dce3e2;
		padding: 3em 0 4em 0;
		box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.05), inset 0 0.1em 0.1em 0 rgba(0, 0, 0, 0.025);
		font-size: 0.8em;
	}

		#footer .copyright {
			cursor: default;
			margin: 0;
		}

			#footer .copyright li {
				display: inline-block;
				line-height: 1em;
				border-left: solid 1px rgba(128, 128, 128, 0.35);
				padding: 0 0 0 0.5em;
				margin: 0 0 0 0.5em;
			}

				#footer .copyright li:first-child {
					border-left: 0;
					padding-left: 0;
					margin-left: 0;
				}

/* Main */

	#main {
		margin-left: 375px;
	}

		#main > section {
			margin: 0;
			overflow: hidden;
			padding: 4em 0;
			box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.05), inset 0 0.1em 0.1em 0 rgba(0, 0, 0, 0.025);
			text-align: center;
			background-image: url("images/overlay.png");
		}

			#main > section.dark {
				color: #ddd;
				color: rgba(255, 255, 255, 0.75);
			}

				#main > section.dark h2, #main > section.dark h3, #main > section.dark h4, #main > section.dark h5, #main > section.dark h6 {
					color: inherit;
				}

				#main > section.dark strong {
					color: #fff;
					border-color: inherit;
				}

				#main > section.dark a {
					color: #fff;
					border-color: inherit;
				}

					#main > section.dark a:hover {
						border-bottom-color: rgba(255, 255, 255, 0);
					}

			#main > section.cover {
				padding: 10em 0;
				background-size: cover;
				background-position: center center;
			}

			#main > section.one {
				background-color: #81918E;
				background-image: url("../../images/banner.jpg");
			}

			#main > section.two {
				background-color: #f5fafa;
			}

			#main > section.three {
				background-color: #ecf1f1;
			}

			#main > section.four {
				background-color: #e8edec;
			}

/* Wide */

	@media screen and (min-width: 961px) and (max-width: 1880px) {

		/* Basic */

			body, input, textarea, select {
				font-size: 17pt;
			}

		/* Header */

			#header {
				width: 300px;
			}

		/* Footer */

			#footer {
				margin-left: 300px;
			}

		/* Main */

			#main {
				margin-left: 300px;
			}

	}

/* Normal */

	@media screen and (min-width: 961px) and (max-width: 1620px) {

		/* Main */

			#main > section {
				padding: 3em 0;
			}

			#main section.cover {
				padding: 5em 0;
			}

	}

/* Narrow */

	@media screen and (min-width: 961px) and (max-width: 1320px) {

		/* Basic */

			body, input, textarea, select {
				font-size: 16pt;
			}

			.container {
				padding: 0 2em 0 2em;
			}

		/* Icons */

			ul.icons li a {
				width: 1.75em;
			}

		/* Item */

			.item {
				margin-bottom: 20px;
			}

		/* Header */

			#header {
				width: 20%;
			}

			#logo .image {
				position: relative;
				margin: 0 0 0.5em 0;
			}

			#nav ul li a {
				font-size: 0.8em;
				padding-top: 0.5em;
				padding-bottom: 0.5em;
			}

				#nav ul li a span {
					padding-right: 2.25em;
				}

					#nav ul li a span:before {
						left: 100%;
						margin-left: -1.25em;
						line-height: 2.25em;
					}

		/* Footer */

			#footer {
				margin-left: 20%;
			}

		/* Main */

			#main {
				margin-left: 20%;
			}

	}

/* Narrower */

	#headerToggle {
		display: none;
	}

	@media screen and (max-width: 960px) {

		/* Basic */

			html, body {
				overflow-x: hidden;
			}

			body, input, textarea, select {
				font-size: 16pt;
			}

			header br {
				display: none;
			}

			.container {
				padding: 0 2em 0 2em;
			}

		/* Item */

			.item {
				margin-bottom: 15px;
			}

		/* Icons */

			ul.icons a {
				width: 1.75em;
				font-size: 1.25em;
			}

		/* Header */

			#header {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transform: translateX(-275px);
				-webkit-transform: translateX(-275px);
				-ms-transform: translateX(-275px);
				transform: translateX(-275px);
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				-webkit-overflow-scrolling: touch;
				display: block;
				height: 100%;
				left: 0;
				overflow-y: auto;
				position: fixed;
				top: 0;
				width: 275px;
				z-index: 10002;
				width: 275px;
				background: #222729 url("images/overlay.png");
				box-shadow: inset -0.25em 0 0.25em 0 rgba(0, 0, 0, 0.125);
			}

				#header .top {
					position: relative;
				}

				#header .bottom {
					border-top: solid 1px rgba(255, 255, 255, 0.05);
					box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.15);
					padding-top: 2em;
					margin-top: 2em;
					position: relative;
				}

			#logo {
				margin: 1.5em 1.25em 1.25em 1.25em;
			}

			#nav ul li a {
				padding: 0.5em 1.25em 0.5em 1.25em;
			}

			#headerToggle {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				display: block;
				height: 2.25em;
				left: 0;
				position: fixed;
				top: 0;
				width: 3.25em;
				z-index: 10001;
			}

				#headerToggle .toggle {
					text-decoration: none;
					position: absolute;
					left: 0;
					top: 0;
					width: 100%;
					height: 100%;
					outline: 0;
					border: 0;
				}

					#headerToggle .toggle: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: 900;
					}

					#headerToggle .toggle:before {
						text-decoration: none;
						content: '\f0c9';
						color: #fff;
						font-size: 18px;
						background: rgba(128, 136, 144, 0.5);
						border-radius: 0.35em;
						text-align: center;
						position: absolute;
						left: 0.5em;
						top: 0.5em;
						display: block;
						width: 3.25em;
						height: 2.25em;
						line-height: 2.25em;
					}

			body.header-visible #main {
				-moz-transform: translateX(275px);
				-webkit-transform: translateX(275px);
				-ms-transform: translateX(275px);
				transform: translateX(275px);
			}

			body.header-visible #headerToggle {
				-moz-transform: translateX(275px);
				-webkit-transform: translateX(275px);
				-ms-transform: translateX(275px);
				transform: translateX(275px);
			}

			body.header-visible #header {
				-moz-transform: translateX(0);
				-webkit-transform: translateX(0);
				-ms-transform: translateX(0);
				transform: translateX(0);
			}

		/* Footer */

			#footer {
				margin-left: 0;
			}

		/* Main */

			#main {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				padding-bottom: 1px;
				margin-left: 0;
			}

				#main > section {
					padding: 3em 0;
				}

				#main section.cover {
					padding: 4em 0;
				}

	}

/* Mobile */

	@media screen and (max-width: 736px) {

		/* Basic */

			body, input, textarea, select {
				font-size: 14pt;
			}

			h2 {
				font-size: 1.5em;
				letter-spacing: 0;
				font-weight: 300;
			}

			.container {
				padding: 0 15px 0 15px;
			}

		/* List */

			ul.icons a {
				width: 2em;
				font-size: 1.25em;
			}

		/* Main */

			#main > section {
				padding: 2em 0;
			}

			#main section.cover {
				padding: 4em 0em;
			}

				#main section.cover header {
					padding: 0 1em;
				}

		/* Footer */

			#footer .copyright li {
				display: block;
				line-height: 1.25em;
				border: 0;
				padding: 0;
				margin: 1em 0 0 0;
			}

				#footer .copyright li:first-child {
					margin-top: 0;
				}

	}

/* Custom Homepage */

body.homepage {
	background: #e7e7ec;
	color: #050505;
	font-family: "Manrope", "Avenir Next", "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.4;
}

body.homepage.home-view {
	background-color: #e7e7ec;
	background-image:
		linear-gradient(180deg, #eff1f6 0%, #e5e6ec 62%, #dee0e7 100%),
		radial-gradient(circle at 15% 10%, rgba(255, 255, 255, 0.52) 0%, rgba(255, 255, 255, 0) 42%),
		radial-gradient(circle at 88% 4%, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0) 38%),
		repeating-radial-gradient(circle at 0 0, rgba(0, 0, 0, 0.018) 0 1px, rgba(0, 0, 0, 0) 1px 4px);
}

body.homepage a {
	border-bottom: 0;
}

body.homepage .site-header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 2rem 3.75rem 1.25rem;
}

body.homepage .site-name {
	color: #111;
	font-size: 2.5rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1;
	margin: 0;
}

body.homepage .site-nav {
	align-items: center;
	display: flex;
	gap: 2rem;
}

body.homepage .site-nav a {
	color: #111;
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
}

body.homepage .site-nav a.icon {
	font-size: 1.8rem;
}

body.homepage .site-nav a .label {
	display: none;
}

body.homepage .homepage-main {
	padding: 0 3.75rem 3rem;
}

body.homepage.home-view .homepage-main {
	margin: 0 auto;
	max-width: 1320px;
}

body.homepage .hero {
	min-height: calc(100vh - 9rem);
	position: relative;
}

body.homepage.home-view .hero {
	min-height: auto;
	padding-bottom: 1.1rem;
}

body.homepage .hero .hero-tag {
	background: #57585d;
	border-radius: 0.15rem;
	box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.25);
	color: #fff;
	display: inline-block;
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 1.75rem 10.5rem;
	padding: 0.8rem 1.1rem;
}

body.homepage .hero-content {
	align-items: center;
	display: grid;
	gap: 2.25rem;
	grid-template-columns: minmax(260px, 0.78fr) minmax(320px, 1.22fr);
}

body.homepage .hero-image {
	margin: 0;
	max-width: 520px;
}

body.homepage .hero-image img {
	border-radius: 1rem;
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: cover;
	width: 100%;
}

body.homepage .hero-photo-caption {
	color: #333;
	font-size: 0.92rem;
	font-weight: 600;
	margin: 0.7rem 0 0.35rem;
	text-align: left;
}

body.homepage .hero-social-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.65rem;
}

body.homepage .hero-social-link {
	align-items: center;
	color: #1b1b1d;
	display: inline-flex;
	font-size: 0.9rem;
	font-weight: 600;
	gap: 0.3rem;
	line-height: 1.2;
	text-decoration: none;
}

body.homepage .hero-social-link .icon {
	font-size: 0.95rem;
}

body.homepage .hero-social-link:hover {
	text-decoration: underline;
}

body.homepage .hero-dot {
	color: #555;
	font-size: 0.85rem;
}

body.homepage .hero-copy h2 {
	color: #050505;
	font-size: clamp(2.6rem, 4.6vw, 4rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin: 0 0 1.4rem;
}

body.homepage .hero-copy > p:not(.hero-availability-pill):not(.hero-case-study-count) {
	color: #050505;
	font-size: clamp(1rem, 1.6vw, 1.35rem);
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.5;
	margin: 0;
	max-width: 38ch;
}

body.homepage .hero-case-study-count {
	color: #888;
	font-size: 0.82rem;
	font-weight: 500;
	letter-spacing: 0;
	margin: 0.6rem 0 0;
}

@keyframes hero-bounce {
	0%, 100% { transform: translateY(0); }
	50%       { transform: translateY(5px); }
}

body.homepage .hero-scroll-cue {
	align-items: center;
	animation: hero-bounce 1.8s ease-in-out infinite;
	bottom: 1.5rem;
	color: rgba(30, 30, 40, 0.38);
	display: flex;
	flex-direction: column;
	font-size: 0.72rem;
	font-weight: 600;
	gap: 0.2rem;
	left: 50%;
	letter-spacing: 0.08em;
	position: absolute;
	text-decoration: none;
	text-transform: uppercase;
	transform: translateX(-50%);
}

body.homepage .hero-scroll-cue:hover {
	color: rgba(30, 30, 40, 0.6);
}

body.homepage .hero-scroll-label {
	line-height: 1;
}

body.homepage .hero-cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 1.35rem;
}

body.homepage .hero-cta {
	border: 1px solid transparent;
	border-radius: 0.85rem;
	display: inline-block;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.92rem 1.38rem;
	text-decoration: none;
}

body.homepage .hero-cta-primary {
	background: #2f6f9e;
	color: #fff;
}

body.homepage .hero-cta-primary:hover {
	background: #255a80;
}

body.homepage .hero-cta-secondary {
	background: rgba(255, 255, 255, 0.45);
	border-color: #a8adb8;
	color: #1a1b1f;
}

body.homepage .hero-cta-secondary:hover {
	background: rgba(255, 255, 255, 0.7);
}

body.homepage .hero-availability-pill {
	background: rgba(40, 114, 164, 0.12);
	border: 1px solid rgba(40, 114, 164, 0.28);
	border-radius: 999px;
	box-sizing: border-box;
	color: #1b1b1f;
	display: inline-flex;
	font-size: 0.84rem;
	font-weight: 600;
	justify-content: center;
	letter-spacing: 0.01em;
	line-height: 1.1;
	margin: 1.35rem 0 0;
	max-width: none;
	min-width: 0;
	padding: 0.58rem 1.5rem;
	text-align: center;
	white-space: nowrap;
	width: max-content;
	align-self: flex-start;
}

body.homepage .anchor-section {
	height: 0;
	overflow: hidden;
}

/* ========================================================
   About Section
   ======================================================== */

body.homepage .about-section {
	background: #f0f0f5;
	padding: 5rem 3rem;
}

body.homepage .about-grid {
	display: grid;
	gap: 3.5rem 5rem;
	grid-template-columns: 1fr 280px;
	margin: 0 auto;
	max-width: 1060px;
}

body.homepage .about-copy h3 {
	color: #050505;
	font-size: 1.9rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 1.2rem;
}

body.homepage .about-copy p {
	color: #3a3a44;
	font-size: 1.05rem;
	line-height: 1.75;
	margin: 0 0 1rem;
}

body.homepage .about-copy p:last-child {
	margin-bottom: 0;
}

body.homepage .about-looking-for {
	background: rgba(47, 111, 158, 0.07);
	border-left: 3px solid #2f6f9e;
	border-radius: 0 6px 6px 0;
	color: #1e3a4f !important;
	padding: 0.75rem 1rem;
}

body.homepage .about-skills h4 {
	color: #050505;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	margin: 0 0 0.9rem;
	text-transform: uppercase;
}

body.homepage .about-skills-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

body.homepage .about-skills-list li {
	background: #fff;
	border: 1.5px solid rgba(5, 5, 5, 0.12);
	border-radius: 999px;
	color: #1a1a24;
	font-size: 0.8rem;
	font-weight: 600;
	padding: 0.35rem 0.75rem;
}

body.homepage .about-resume-btn {
	display: inline-block;
	margin-top: 1.25rem;
	background: #2f6f9e;
	color: #fff;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
	padding: 0.55rem 1.2rem;
	text-decoration: none;
	transition: background 0.2s ease;
}

body.homepage .about-resume-btn:hover {
	background: #255b81;
}

@media screen and (max-width: 960px) {
	body.homepage .about-grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	body.homepage .about-section {
		padding: 3.5rem 2rem;
	}
}

@media screen and (max-width: 736px) {
	body.homepage .about-section {
		padding: 2.5rem 1.25rem;
	}

	body.homepage .about-copy h3 {
		font-size: 1.5rem;
	}
}

/* ========================================================
   Testimonials Section
   ======================================================== */

body.homepage .testimonials-section {
	background: #f0f0f5;
	padding: 5rem 3rem;
}

body.homepage .testimonials-inner {
	margin: 0 auto;
	max-width: 1060px;
}

body.homepage .testimonials-inner h3 {
	color: #050505;
	font-size: 1.9rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 2.5rem;
}

body.homepage .testimonials-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(2, 1fr);
}

body.homepage .testimonial-card {
	background: #d9d9e0;
	border-radius: 12px;
	margin: 0;
	padding: 1.75rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

body.homepage .testimonial-card p {
	color: #3a3a44;
	font-size: 1rem;
	line-height: 1.7;
	margin: 0 0 1.25rem;
	font-style: italic;
}

body.homepage .testimonial-card footer {
	background: none;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

body.homepage .testimonial-name {
	color: #050505;
	font-size: 0.9rem;
	font-weight: 700;
}

body.homepage .testimonial-role {
	color: #888;
	font-size: 0.8rem;
}

@media screen and (max-width: 960px) {
	body.homepage .testimonials-section {
		padding: 3.5rem 2rem;
	}
}

@media screen and (max-width: 600px) {
	body.homepage .testimonials-grid {
		grid-template-columns: 1fr;
	}

	body.homepage .testimonials-section {
		padding: 2.5rem 1.25rem;
	}

	body.homepage .testimonials-inner h3 {
		font-size: 1.5rem;
	}
}

body.homepage .site-footer {
	background: #d7d8dd;
	margin-top: 2.5rem;
	padding: 1.4rem 1.75rem;
}

body.homepage .site-footer-content {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem 1.1rem;
	justify-content: center;
}

body.homepage .site-footer p {
	color: #111;
	font-size: 1rem;
	margin: 0;
}

body.homepage .footer-name {
	font-weight: 600;
}

body.homepage .footer-link {
	border: 0;
	color: #111;
	font-size: 0.95rem;
	text-decoration: none;
}

body.homepage .footer-link:hover {
	text-decoration: underline;
}

body.homepage .footer-contact-button {
	background: #2f6f9e;
	border-radius: 0.35rem;
	color: #fff;
	padding: 0.45rem 0.8rem;
	text-decoration: none;
}

body.homepage .footer-contact-button:hover {
	text-decoration: none;
}

body.contact-page .contact-hero {
	margin: 0 auto;
	max-width: 980px;
	padding: 2rem 0 1.5rem;
	text-align: center;
}

body.contact-page .contact-top-button {
	background: #2f6f9e;
	border-radius: 999px;
	border: 0;
	color: #fff;
	display: inline-block;
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 1.25rem;
	padding: 0.65rem 1.1rem;
	text-decoration: none;
}

body.contact-page .contact-hero h2 {
	color: #111;
	font-size: clamp(2.6rem, 5vw, 4.4rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin: 0 0 0.8rem;
}

body.contact-page .contact-hero p {
	color: #111;
	font-size: clamp(1rem, 2vw, 1.4rem);
	line-height: 1.6;
	margin: 0 auto;
	max-width: 42ch;
}

body.contact-page .contact-card {
	background: #dfe0e6;
	border-radius: 0.35rem;
	margin: 0 auto;
	max-width: 980px;
	padding: 1.7rem;
}

body.contact-page .contact-card h3 {
	color: #111;
	font-size: clamp(1.7rem, 3.4vw, 2.6rem);
	font-weight: 500;
	margin: 0 0 0.8rem;
}

body.contact-page .contact-card p {
	color: #111;
	font-size: 1.05rem;
	line-height: 1.5;
	margin: 0 0 0.35rem;
}

body.contact-page .contact-card a {
	border: 0;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

body.contact-page .contact-form {
	margin-top: 0.75rem;
}

body.contact-page .contact-form label {
	color: #111;
	display: block;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 0.85rem;
}

body.contact-page .contact-form input,
body.contact-page .contact-form textarea {
	background: #fff;
	border: 1px solid #c4c5cc;
	border-radius: 0.35rem;
	color: #111;
	display: block;
	font-family: "Manrope", "Avenir Next", "Segoe UI", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	margin-top: 0.35rem;
	padding: 0.72rem 0.8rem;
	width: 100%;
}

body.contact-page .contact-form textarea {
	resize: vertical;
}

body.contact-page .contact-form-grid {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.contact-page .contact-submit-button {
	background: #2f6f9e;
	border: 0;
	border-radius: 0.35rem;
	color: #fff;
	cursor: pointer;
	font-family: "Manrope", "Avenir Next", "Segoe UI", sans-serif;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	margin-top: 0.5rem;
	padding: 0.8rem 1.15rem;
}

body.contact-page .contact-submit-button:hover {
	background: #255b81;
}

@media screen and (max-width: 736px) {

	body.contact-page .contact-form-grid {
		grid-template-columns: 1fr;
	}
}

body.homepage .case-studies {
	padding: 5rem 0 2rem;
	text-align: center;
}

body.homepage.home-view .featured-projects {
	padding: 2.5rem 0 1.5rem;
	text-align: left;
}

body.homepage.home-view .featured-projects h3 {
	margin: 0 0 0.55rem;
	text-align: center;
}

body.homepage.home-view .featured-project-subtitle {
	color: #353742;
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.45;
	margin: 0 0 1.25rem;
	text-align: center;
}

body.homepage.home-view .featured-project-grid {
	display: grid;
	grid-auto-rows: 1fr;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	gap: 1.1rem;
}

body.homepage.home-view .featured-project-card {
	background: rgba(240, 241, 246, 0.9);
	border: 1px solid rgba(165, 169, 182, 0.38);
	border-radius: 0.55rem;
	display: flex;
	flex: 1;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}

body.homepage.home-view .featured-project-card:hover {
	box-shadow:
		0 8px 24px rgba(5, 5, 5, 0.1),
		0 2px 6px rgba(5, 5, 5, 0.06);
	transform: translateY(-2px);
}

body.homepage.home-view .featured-project-image {
	border: 0;
	display: block;
}

body.homepage.home-view .featured-project-image img {
	aspect-ratio: 16 / 10;
	display: block;
	object-fit: cover;
	width: 100%;
}

body.homepage.home-view .featured-project-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 0.8rem 0.9rem 0.9rem;
}

body.homepage.home-view .featured-project-body h4 {
	margin: 0 0 0.42rem;
}

body.homepage.home-view .featured-project-body h4 a {
	border: 0;
	color: #121318;
	font-size: 1.24rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	text-decoration: none;
}

body.homepage.home-view .featured-project-body p {
	color: #2b2d35;
	flex: 1;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.45;
	margin: 0;
	max-width: none;
}

body.homepage.home-view .featured-project-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: auto;
	padding-top: 0.62rem;
}

body.homepage.home-view .featured-project-tags span {
	background: #d4d6de;
	border: 1px solid #c2c6d2;
	border-radius: 999px;
	color: #1a1b20;
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.34rem 0.56rem;
}

body.homepage.home-view .featured-projects-footer {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
}

body.homepage.home-view .view-all-btn {
	border: 2px solid #121318;
	border-radius: 999px;
	color: #121318;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	padding: 0.7rem 1.8rem;
	text-decoration: none;
	transition: background 0.18s ease, color 0.18s ease;
}

body.homepage.home-view .view-all-btn:hover {
	background: #121318;
	color: #fff;
}

body.homepage .case-studies h3 {
	color: #222;
	font-size: clamp(2rem, 3.4vw, 3rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 1.5rem;
}

body.homepage .case-studies h3 em {
	font-style: italic;
	font-weight: 400;
}

body.homepage .case-studies .hero-tag {
	background: #57585d;
	border-radius: 0.15rem;
	box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.25);
	color: #fff;
	display: inline-block;
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 2.2rem;
	padding: 0.8rem 1.1rem;
}

body.homepage .case-studies-grid {
	display: grid;
	gap: 2.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 7rem;
}

body.homepage .case-study-image {
	margin: 0;
}

body.homepage .case-study-card {
	border: 0;
	display: block;
	overflow: hidden;
	position: relative;
}

body.homepage .case-study-image img {
	aspect-ratio: 4 / 3;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 0.35s ease;
	width: 100%;
}

body.homepage .case-study-overlay {
	align-items: flex-end;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.05) 65%);
	display: flex;
	inset: 0;
	opacity: 0;
	padding: 1.25rem;
	position: absolute;
	transition: opacity 0.3s ease;
}

body.homepage .case-study-name {
	color: #fff;
	font-size: clamp(1.25rem, 2.2vw, 2rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.1;
	transform: translateY(12px);
	transition: transform 0.3s ease;
}

body.homepage .case-study-card:hover .case-study-overlay,
body.homepage .case-study-card:focus-visible .case-study-overlay,
body.homepage .case-study-card:active .case-study-overlay {
	opacity: 1;
}

body.homepage .case-study-card:hover img,
body.homepage .case-study-card:focus-visible img,
body.homepage .case-study-card:active img {
	transform: scale(1.03);
}

body.homepage .case-study-card:hover .case-study-name,
body.homepage .case-study-card:focus-visible .case-study-name,
body.homepage .case-study-card:active .case-study-name {
	transform: translateY(0);
}

body.homepage .case-study-card:focus-visible {
	outline: 3px solid #111;
	outline-offset: 3px;
}

body.homepage .current-location-label {
	color: #111;
	font-size: clamp(2rem, 3.1vw, 3.1rem);
	font-style: italic;
	line-height: 1.2;
	margin: 0 0 2rem;
}

body.homepage .current-location-city {
	color: #050505;
	font-size: clamp(3rem, 6.4vw, 7rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin: 0;
}

@media screen and (max-width: 1200px) {

	body.homepage .site-header {
		padding: 1.5rem 1.75rem 1rem;
	}

	body.homepage .homepage-main {
		padding: 0 1.75rem 2rem;
	}

	body.homepage .site-name {
		font-size: 2rem;
	}

	body.homepage .site-nav a {
		font-size: 1.2rem;
	}

	body.homepage .hero .hero-tag {
		margin-left: 0;
	}
}

@media screen and (max-width: 960px) {

	body.homepage .hero {
		min-height: auto;
	}

	body.homepage .hero-scroll-cue {
		display: none;
	}

	body.homepage .hero-content {
		gap: 1.75rem;
		grid-template-columns: 1fr;
	}

	body.homepage .hero-cta-row {
		gap: 0.55rem;
	}

	body.homepage .hero-copy > p:not(.hero-availability-pill) {
		font-size: clamp(1.2rem, 5.7vw, 1.9rem);
		max-width: none;
	}

	body.homepage .hero-photo-caption,
	body.homepage .hero-social-row,
	body.homepage .hero-availability-pill {
		text-align: left;
	}

	body.homepage .case-studies-grid {
		grid-template-columns: 1fr;
		margin-bottom: 4rem;
	}


	body.homepage.home-view .featured-project-grid {
		grid-template-columns: 1fr;
	}
}

@media (hover: none) {

	body.homepage .case-study-overlay {
		opacity: 1;
	}

	body.homepage .case-study-name {
		transform: translateY(0);
	}
}

/* Hamburger button — hidden on desktop */
body.homepage .nav-toggle {
	display: none;
}

@media screen and (max-width: 736px) {

	/* Keep header as a single row: logo left, hamburger right */
	body.homepage .site-header {
		align-items: center;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0;
		position: relative !important;
	}

	/* Show hamburger button */
	body.homepage .nav-toggle {
		align-items: center;
		background: none;
		border: none;
		color: #111 !important;
		cursor: pointer;
		display: flex;
		flex-direction: column;
		gap: 5px;
		justify-content: center;
		margin-left: auto;
		padding: 0.5rem;
	}

	body.homepage .nav-toggle span {
		background: currentColor;
		border-radius: 2px;
		display: block;
		height: 2px;
		transition: opacity 0.22s ease, transform 0.22s ease;
		width: 22px;
	}

	/* Hamburger → X animation */
	body.homepage .site-header.nav-open .nav-toggle span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	body.homepage .site-header.nav-open .nav-toggle span:nth-child(2) {
		opacity: 0;
	}

	body.homepage .site-header.nav-open .nav-toggle span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	/* Mobile nav — hidden by default */
	body.homepage .site-nav {
		background: #e7e7ec;
		border-top: 1px solid rgba(0, 0, 0, 0.08);
		box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
		display: none;
		flex-direction: column;
		gap: 0;
		left: 0;
		padding: 0.5rem 1.75rem 1rem;
		position: absolute;
		right: 0;
		top: 100%;
		z-index: 100;
	}

	body.homepage .site-nav a {
		border-bottom: 1px solid rgba(0, 0, 0, 0.07);
		font-size: 1.1rem;
		padding: 0.65rem 0;
	}

	body.homepage .site-nav a:last-child {
		border-bottom: none;
	}

	/* Mobile nav — visible when open */
	body.homepage .site-header.nav-open .site-nav {
		display: flex;
	}

	/* QuickStudy — dark dropdown */
	body.take-flight-page.quickstudy-page .site-header .site-nav {
		background: #2f1a57;
		border-top-color: rgba(255, 255, 255, 0.12);
	}

	body.take-flight-page.quickstudy-page .site-nav a {
		border-bottom-color: rgba(255, 255, 255, 0.1);
	}

	/* CommonSight — dark dropdown */
	body.take-flight-page.commonsight-page .site-header .site-nav {
		background: #0d3a47;
		border-top-color: rgba(255, 255, 255, 0.12);
	}

	body.take-flight-page.commonsight-page .site-nav a {
		border-bottom-color: rgba(255, 255, 255, 0.1);
	}
}

/* =========================================================
   Scroll-aware sticky header
   Uses transform + transition so the slide is stateful and
   never restarts mid-way (unlike @keyframes animation).
   ========================================================= */

/* Pinned: fixed at top, visible */
body.homepage .site-header.header-pinned {
	left: 0;
	position: fixed !important;
	right: 0;
	top: 0;
	transform: translateY(0);
	transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1),
	            box-shadow 0.32s ease;
	z-index: 999;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}

/* Hidden: slide above the viewport (transition fires from current position) */
body.homepage .site-header.header-hidden {
	transform: translateY(-110%);
}

/* Homepage / Resume / Contact — light frosted */
body.homepage.home-view .site-header.header-pinned,
body.homepage.resume-page .site-header.header-pinned,
body.homepage.contact-page .site-header.header-pinned {
	background: rgba(231, 231, 236, 0.97);
	backdrop-filter: blur(10px);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}

/* Take Flight base — dark frosted */
body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .site-header.header-pinned {
	background: rgba(15, 15, 20, 0.95);
	backdrop-filter: blur(10px);
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .site-header.header-pinned .site-name,
body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .site-header.header-pinned .site-nav a {
	color: #fff;
}

/* QuickStudy — purple frosted */
body.take-flight-page.quickstudy-page .site-header.header-pinned {
	background: rgba(47, 26, 87, 0.97);
	backdrop-filter: blur(10px);
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}

/* CommonSight — teal frosted */
body.take-flight-page.commonsight-page .site-header.header-pinned {
	background: rgba(13, 58, 71, 0.97);
	backdrop-filter: blur(10px);
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}

/* =========================================================
   End sticky header
   ========================================================= */

body.case-study-page .project-case-study {
	margin: 0 auto;
	max-width: 980px;
	padding: 2rem 0 4rem;
}

body.case-study-page .project-kicker {
	color: #333;
	font-size: 1.05rem;
	letter-spacing: 0.08em;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
}

body.case-study-page .project-case-study h2 {
	color: #111;
	font-size: clamp(2.2rem, 5vw, 4.2rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin: 0 0 1.5rem;
}

body.case-study-page .project-intro {
	color: #111;
	font-size: clamp(1.1rem, 2.3vw, 1.45rem);
	line-height: 1.6;
	margin: 0 0 1.5rem;
}

body.case-study-page .featured-project-grid {
	display: grid;
	gap: 1.1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.case-study-page .featured-project-card {
	background: rgba(240, 241, 246, 0.9);
	border: 1px solid rgba(165, 169, 182, 0.38);
	border-radius: 0.55rem;
	display: flex;
	flex-direction: column;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}

body.case-study-page .featured-project-card:hover {
	box-shadow:
		0 8px 24px rgba(5, 5, 5, 0.1),
		0 2px 6px rgba(5, 5, 5, 0.06);
	transform: translateY(-2px);
}

body.case-study-page .featured-project-image {
	border: 0;
	display: block;
}

body.case-study-page .featured-project-image img {
	aspect-ratio: 16 / 10;
	display: block;
	object-fit: cover;
	width: 100%;
}

body.case-study-page .featured-project-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 0.8rem 0.9rem 0.9rem;
}

body.case-study-page .featured-project-body h4 {
	margin: 0 0 0.42rem;
}

body.case-study-page .featured-project-body h4 a {
	border: 0;
	color: #121318;
	font-size: 1.24rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	text-decoration: none;
}

body.case-study-page .featured-project-card .featured-project-body p {
	color: #2b2d35;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.45;
	margin: 0;
	max-width: none;
}

body.case-study-page .featured-project-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: auto;
	margin-top: auto;
	padding-top: 0.62rem;
}

body.case-study-page .featured-project-tags span {
	background: #d4d6de;
	border: 1px solid #c2c6d2;
	border-radius: 999px;
	color: #1a1b20;
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.34rem 0.56rem;
}

body.case-study-page .project-hero-image {
	margin: 0 0 2rem;
}

body.case-study-page .project-hero-image img {
	display: block;
	width: 100%;
}

body.case-study-page .project-case-study p {
	color: #111;
	font-size: clamp(1.1rem, 2.3vw, 1.45rem);
	line-height: 1.6;
	margin: 0 0 1.25rem;
}

body.case-study-page .project-back-link {
	border: 0;
	color: #111;
	display: inline-block;
	font-size: 1rem;
	font-weight: 600;
	margin-top: 0.75rem;
	text-decoration: underline;
	text-underline-offset: 0.22em;
}

@media screen and (max-width: 736px) {

	body.case-study-page .featured-project-grid {
		grid-template-columns: 1fr;
	}
}

body.take-flight-page .homepage-main {
	padding: 0;
}

body.take-flight-page .site-header {
	left: 0;
	padding: 2rem 3.75rem;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 10;
}

body.take-flight-page .tf-hero {
	align-items: flex-start;
	background: linear-gradient(rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.2)), url("../../images/coverArt.png") center/cover no-repeat;
	display: flex;
	justify-content: center;
	min-height: 86vh;
	padding: 8.5rem 3rem 5rem;
	position: relative;
}

body.take-flight-page .tf-hero::after {
	background: #e7e7ec;
	border-top-left-radius: 50% 100%;
	border-top-right-radius: 50% 100%;
	bottom: -1px;
	content: "";
	height: 8.5rem;
	left: 0;
	position: absolute;
	width: 100%;
}

body.take-flight-page .tf-hero-oval {
	background: #ececf0;
	border-radius: 999px;
	max-width: 860px;
	padding: 2.7rem 4rem;
	position: relative;
	text-align: center;
	z-index: 1;
}

body.take-flight-page .tf-hero-oval h2 {
	color: #050505;
	font-size: clamp(2rem, 8vw, 5.8rem);
	font-weight: 600;
	letter-spacing: -0.04em;
	line-height: 1.03;
	margin: 0 0 1rem;
}

body.take-flight-page .tf-hero-oval p {
	color: #1b1b1d;
	font-size: clamp(1.2rem, 2vw, 2.05rem);
	font-weight: 600;
	line-height: 1.4;
	margin: 0;
}

body.take-flight-page:not(.quickstudy-page) .tf-hero-oval {
	max-width: 760px;
	padding: 2.1rem 3.1rem;
}

body.take-flight-page:not(.quickstudy-page) .tf-hero-oval p {
	font-size: clamp(1rem, 1.6vw, 1.55rem);
	line-height: 1.3;
}

body.take-flight-page .tf-overview,
body.take-flight-page .tf-game-flow,
body.take-flight-page .tf-experiences,
body.take-flight-page .tf-owned,
body.take-flight-page .tf-code-snippets,
body.take-flight-page .tf-outcomes {
	padding: 3.5rem 3.75rem 2rem;
}

body.take-flight-page .tf-overview .hero-tag {
	margin: 0 auto 2rem;
}

body.take-flight-page .tf-overview-grid,
body.take-flight-page .tf-owned-grid {
	align-items: start;
	display: grid;
	gap: 3rem;
	grid-template-columns: minmax(360px, 1.25fr) minmax(300px, 0.95fr);
}

body.take-flight-page .tf-media {
	margin: 0;
}

body.take-flight-page .tf-media img {
	border-radius: 0.2rem;
	display: block;
	width: 100%;
}

body.take-flight-page .tf-copy h3 {
	color: #050505;
	font-size: clamp(2.1rem, 4.4vw, 4rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin: 0 0 1.25rem;
}

body.take-flight-page .tf-copy p {
	color: #111;
	font-size: clamp(1rem, 1.8vw, 1.35rem);
	line-height: 1.55;
	margin: 0 0 0.6rem;
}

body.take-flight-page .tf-copy strong {
	color: #050505;
	font-weight: 600;
}

body.take-flight-page .tf-project-cta {
	display: flex;
	justify-content: center;
	margin-top: -1.2rem;
	padding: 0 3.75rem 1.2rem;
	position: relative;
	z-index: 2;
}

body.take-flight-page .tf-project-link-wrap {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.72rem;
	margin-top: 1rem;
}

body.take-flight-page .tf-project-link {
	background: #2f6f9e;
	border: 0;
	border-radius: 999px;
	color: #fff;
	display: inline-block;
	font-size: 1.08rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1;
	padding: 0.9rem 1.5rem;
	text-decoration: none;
}

body.take-flight-page .tf-project-link:hover {
	background: #255b81;
	color: #fff;
}

body.take-flight-page .tf-project-link-github {
	background: rgba(18, 23, 34, 0.06);
	border: 1px solid rgba(18, 23, 34, 0.35);
	color: #172034;
}

body.take-flight-page .tf-project-link-github:hover {
	background: rgba(18, 23, 34, 0.14);
	color: #0e1525;
}

body.take-flight-page .tf-game-flow h3,
body.take-flight-page .tf-experiences h3 {
	color: #050505;
	font-size: clamp(2.4rem, 5vw, 4.5rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin: 0 0 2.2rem;
	text-align: center;
}

body.take-flight-page .tf-flow-grid {
	display: grid;
	gap: 1.35rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Take Flight — Challenges & Solutions */
body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-challenges {
	background: #d9d9df;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-challenges .tf-flow-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-card-challenge {
	border-left: 3px solid #2f6f9e;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.8rem 1.6rem 1.6rem 1.5rem;
	position: relative;
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-card-challenge:hover {
	box-shadow:
		0 8px 24px rgba(47, 111, 158, 0.18),
		0 2px 6px rgba(47, 111, 158, 0.1);
	transform: translateY(-2px);
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-challenge-number {
	color: #2f6f9e;
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1;
	margin: 0 0 0.9rem;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-card-challenge p strong {
	border-radius: 4px;
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1;
	padding: 0.2rem 0.45rem;
	text-transform: uppercase;
	vertical-align: middle;
	margin-right: 0.3rem;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-card-challenge p strong:nth-of-type(1) {
	background: rgba(220, 38, 38, 0.1);
	border: 1px solid rgba(220, 38, 38, 0.25);
	color: #b91c1c;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-card-challenge p strong:nth-of-type(2) {
	background: rgba(37, 99, 235, 0.1);
	border: 1px solid rgba(37, 99, 235, 0.25);
	color: #1d4ed8;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-card-challenge p strong:nth-of-type(3) {
	background: rgba(22, 163, 74, 0.1);
	border: 1px solid rgba(22, 163, 74, 0.25);
	color: #15803d;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-card-challenge code {
	background: rgba(47, 111, 158, 0.08);
	border-radius: 3px;
	font-family: monospace;
	font-size: 0.85em;
	padding: 0.1em 0.35em;
}

body.take-flight-page .tf-card {
	background: #e7e7ec;
}

body.take-flight-page .tf-card img {
	display: block;
	height: 280px;
	object-fit: cover;
	width: 100%;
}

body.take-flight-page .tf-card h4 {
	color: #111;
	font-size: clamp(1.45rem, 2.5vw, 2.2rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0.9rem 0 0.55rem;
}

body.take-flight-page .tf-card p {
	color: #111;
	font-size: clamp(0.95rem, 1.55vw, 1.2rem);
	line-height: 1.5;
	margin: 0;
}

/* iPad frame — shared across game flow cards */
body.take-flight-page .tf-card-ipad-frame {
	aspect-ratio: 1764 / 1348;
	background: #121419;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: clamp(0.55rem, 1vw, 0.8rem);
	box-shadow:
		0 0.9rem 1.8rem rgba(0, 0, 0, 0.24),
		inset 0 0 0 1px rgba(255, 255, 255, 0.03);
	overflow: hidden;
	padding: 3px;
}

body.take-flight-page .tf-card-ipad-frame img {
	border-radius: clamp(0.4rem, 0.8vw, 0.6rem);
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center 42%;
	width: 100%;
}

/* Allow iPad frame shadow to show — don't clip the wrapper */
body.take-flight-page .tf-gf-img-wrap:has(.tf-card-ipad-frame) {
	border-radius: 0;
	overflow: visible;
}

/* Game Flow — redesigned white cards */
body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-gf-grid {
	align-items: start;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-gf-card {
	background: #fff;
	border-radius: 1rem;
	box-shadow:
		0 2px 10px rgba(0, 0, 0, 0.07),
		0 1px 3px rgba(0, 0, 0, 0.05);
	padding: 1.1rem;
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-gf-card:hover {
	box-shadow:
		0 6px 20px rgba(0, 0, 0, 0.11),
		0 2px 6px rgba(0, 0, 0, 0.07);
	transform: translateY(-2px);
}


body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-gf-img-wrap {
	border-radius: 0.55rem;
	overflow: hidden;
	width: 100%;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-gf-img-wrap img {
	display: block;
	height: auto;
	object-fit: unset;
	width: 100%;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-gf-copy {
	margin-top: 1.1rem;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-gf-card h4 {
	font-size: clamp(1rem, 1.7vw, 1.3rem);
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.2;
	margin: 0 0 0.4rem;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-gf-card p {
	color: #555;
	font-size: clamp(0.85rem, 1.2vw, 0.98rem);
	line-height: 1.5;
	margin: 0;
}

body.take-flight-page .tf-experiences {
	padding-bottom: 3.8rem;
	position: relative;
}

body.take-flight-page .tf-experience-grid {
	align-items: stretch;
	display: flex;
	gap: 1.25rem;
	overflow-x: auto;
	padding: 0.2rem 0 0.55rem;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
}

body.take-flight-page .tf-experience-grid .tf-card {
	background: #dfe0e6;
	display: flex;
	flex-direction: column;
	flex: 0 0 min(360px, 84vw);
	height: 100%;
	overflow: hidden;
	scroll-snap-align: start;
}

body.take-flight-page .tf-experience-grid .tf-experience-media {
	background: #10131a;
	flex: 0 0 320px;
	overflow: hidden;
}

body.take-flight-page .tf-experience-grid .tf-experience-media img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

body.take-flight-page .tf-experience-grid .tf-experience-copy {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 0.9rem 0.95rem 1rem;
	text-align: center;
}

body.take-flight-page .tf-experience-grid .tf-card h4 {
	margin: 0 0 0.45rem;
}

body.take-flight-page .tf-experience-grid .tf-card p {
	margin: 0;
}

body.take-flight-page .tf-experience-grid::-webkit-scrollbar {
	height: 0.62rem;
}

body.take-flight-page .tf-experience-grid::-webkit-scrollbar-thumb {
	background: rgba(39, 49, 68, 0.45);
	border-radius: 999px;
}

/* Take Flight — Experiences: 2×2 iPad grid */
body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-experience-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	overflow-x: visible;
	scroll-snap-type: none;
	-webkit-overflow-scrolling: auto;
	align-items: stretch;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-experience-grid .tf-card {
	flex: unset;
	border-radius: 1rem;
	overflow: hidden;
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-experience-grid .tf-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 2px 6px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-experience-media {
	background: transparent;
	flex: none;
	overflow: visible;
	padding: 1rem 1rem 0.6rem;
}

/* iPad frame for Take Flight experiences */
body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-ipad-frame {
	background: #111;
	border-radius: 20px;
	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.1),
		0 0 0 1px rgba(0, 0, 0, 0.5),
		0 16px 48px rgba(0, 0, 0, 0.45);
	overflow: hidden;
	padding: 9px;
	width: 100%;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-ipad-frame img {
	aspect-ratio: 4 / 3;
	border-radius: 13px;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-experience-grid .tf-experience-copy {
	flex: 1;
	min-height: 5rem;
}

body.take-flight-page .tf-arrow {
	display: none;
}

body.take-flight-page .tf-arrow-left {
	left: 1.7rem;
}

body.take-flight-page .tf-arrow-right {
	right: 1.7rem;
}

body.take-flight-page .tf-owned {
	background: #d9d9df;
	margin-top: 1.5rem;
	padding-bottom: 4.75rem;
	padding-top: 4.75rem;
}

body.take-flight-page .tf-code-snippets {
	background: #ececf1;
	padding-bottom: 4.5rem;
	padding-top: 4.3rem;
}

body.take-flight-page .tf-outcomes {
	background: #dfe0e6;
	padding-bottom: 4rem;
	padding-top: 3.9rem;
}

body.take-flight-page .tf-outcomes-grid {
	align-items: stretch;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1150px;
}

body.take-flight-page .tf-outcome-card {
	background: #ececf1;
	border: 1px solid rgba(10, 14, 22, 0.08);
	border-radius: 0.32rem;
	height: 100%;
	padding: 1rem 1rem 1.05rem;
}

body.take-flight-page .tf-outcome-card h3 {
	color: #0b0b0d;
	font-size: clamp(1.2rem, 2.2vw, 1.8rem);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.15;
	margin: 0 0 0.45rem;
}

body.take-flight-page .tf-outcome-card p {
	color: #111;
	font-size: clamp(0.94rem, 1.28vw, 1.08rem);
	line-height: 1.58;
	margin: 0;
}

body.take-flight-page .tf-code-header {
	margin: 0 0 2rem;
}

body.take-flight-page .tf-code-header h3 {
	color: #050505;
	font-size: clamp(2.2rem, 4.7vw, 4.1rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin: 0 0 0.9rem;
}

body.take-flight-page .tf-code-header p {
	color: #111;
	font-size: clamp(1rem, 1.7vw, 1.22rem);
	line-height: 1.55;
	margin: 0;
	max-width: 62ch;
}

body.take-flight-page .tf-snippet-grid {
	display: grid;
	gap: 1.3rem;
	grid-template-columns: repeat(2, 1fr);
}

body.take-flight-page .tf-snippet-card {
	background: #121419;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 0.35rem;
	box-shadow: 0 0.9rem 1.6rem rgba(0, 0, 0, 0.2);
	overflow: hidden;
	padding: 0.85rem 0.9rem 0.9rem;
}

body.take-flight-page .tf-snippet-card h4 {
	color: #f4f5f7;
	font-size: clamp(0.95rem, 1.3vw, 1.16rem);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.25;
	margin: 0 0 0.45rem;
}

body.take-flight-page .tf-snippet-card .tf-snippet-desc {
	color: rgba(200, 210, 230, 0.65);
	font-size: clamp(0.8rem, 1.1vw, 0.92rem);
	line-height: 1.55;
	margin: 0 0 0.85rem;
}

body.take-flight-page .tf-snippet-card pre {
	background: rgba(255, 255, 255, 0.025);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 0.3rem;
	color: #f4f5f7;
	font-family: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: clamp(0.72rem, 1vw, 0.84rem);
	line-height: 1.4;
	margin: 0;
	overflow-x: auto;
	padding: 0.7rem 0.76rem 0.76rem;
	white-space: pre;
}

body.take-flight-page .tf-snippet-card code {
	font-family: inherit;
}

body.take-flight-page .tf-dark-list {
	list-style: disc;
	margin: 0.15rem 0 0 1.2rem;
}

body.take-flight-page .tf-dark-list li {
	color: #e7ecf6;
	font-size: clamp(0.9rem, 1.15vw, 1.02rem);
	line-height: 1.5;
	margin: 0 0 0.34rem;
}

body.take-flight-page .tf-list-compact {
	list-style: disc;
	margin: 0.15rem 0 0 1.2rem;
}

body.take-flight-page .tf-list-compact li {
	color: #111;
	font-size: clamp(0.94rem, 1.28vw, 1.08rem);
	line-height: 1.58;
	margin: 0 0 0.32rem;
}

body.take-flight-page .tf-list {
	list-style: disc;
	margin: 1.15rem 0 0 1.6rem;
}

body.take-flight-page .tf-list li {
	color: #111;
	font-size: clamp(1.1rem, 2.2vw, 1.9rem);
	line-height: 1.45;
	margin: 0 0 0.5rem;
}

body.take-flight-page .tf-media video {
  border-radius: 0.2rem;
  display: block;
  width: 100%;
  height: auto;
}

body.take-flight-page .tf-overview .tf-media-ipad,
body.take-flight-page .tf-owned .tf-media-ipad {
	background: #121419;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: clamp(1.65rem, 2.8vw, 2.35rem);
	box-shadow:
		0 0.9rem 1.8rem rgba(0, 0, 0, 0.24),
		inset 0 0 0 1px rgba(255, 255, 255, 0.03);
	justify-self: center;
	max-width: 700px;
	padding: clamp(0.44rem, 0.75vw, 0.56rem);
	width: 100%;
}

body.take-flight-page:not(.quickstudy-page) .tf-overview .tf-media-ipad {
	max-width: 700px;
}

body.take-flight-page:not(.quickstudy-page) .tf-overview .tf-media-ipad video {
	aspect-ratio: 4 / 3;
	border-radius: clamp(1.22rem, 2vw, 1.62rem);
	display: block;
	height: auto;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

body.take-flight-page .tf-owned .tf-media-ipad video {
	aspect-ratio: 4 / 3;
	border-radius: clamp(1.22rem, 2vw, 1.62rem);
	display: block;
	height: auto;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

@media screen and (max-width: 1260px) {

	body.take-flight-page .site-header,
	body.take-flight-page .tf-project-cta,
	body.take-flight-page .tf-overview,
	body.take-flight-page .tf-game-flow,
	body.take-flight-page .tf-experiences,
	body.take-flight-page .tf-owned,
	body.take-flight-page .tf-code-snippets,
	body.take-flight-page .tf-outcomes {
		padding-left: 1.75rem;
		padding-right: 1.75rem;
	}

	body.take-flight-page .tf-flow-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-gf-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 960px) {

	body.take-flight-page .site-header {
		position: static;
	}

	body.take-flight-page .tf-hero {
		min-height: 65vh;
		padding-top: 2rem;
	}

	body.take-flight-page .tf-hero-oval {
		border-radius: 2.1rem;
		padding: 2rem 1.6rem;
	}

	body.take-flight-page .tf-overview .tf-media-ipad,
	body.take-flight-page .tf-owned .tf-media-ipad {
		padding: 0.44rem;
	}

	body.take-flight-page .tf-overview-grid,
	body.take-flight-page .tf-owned-grid {
		grid-template-columns: 1fr;
	}

	body.take-flight-page .tf-snippet-grid {
		grid-template-columns: 1fr;
	}

	body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-challenges .tf-flow-grid {
		grid-template-columns: 1fr;
	}

	body.take-flight-page .tf-outcomes-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 736px) {

	body.take-flight-page .tf-flow-grid {
		grid-template-columns: 1fr;
	}

	body.take-flight-page .tf-card img {
		height: auto;
	}
}

body.take-flight-page.quickstudy-page .tf-hero {
	background:
		radial-gradient(120% 120% at 12% 0%, rgba(197, 170, 255, 0.46) 0%, rgba(197, 170, 255, 0) 46%),
		radial-gradient(130% 130% at 96% 94%, rgba(118, 75, 225, 0.58) 0%, rgba(118, 75, 225, 0) 58%),
		linear-gradient(135deg, #24103f 0%, #38205f 48%, #181818 100%);
}

body.take-flight-page.quickstudy-page .tf-hero::after {
	background: #d9cdf2;
}

body.take-flight-page.quickstudy-page .site-name,
body.take-flight-page.quickstudy-page .site-nav a,
body.take-flight-page.quickstudy-page .nav-toggle {
	color: #ffffff !important;
	text-shadow: 0 2px 10px rgba(20, 10, 36, 0.45);
}

body.take-flight-page.quickstudy-page .site-nav a:hover,
body.take-flight-page.quickstudy-page .site-nav a:focus-visible {
	color: #efe4ff;
}

body.take-flight-page.quickstudy-page .tf-hero-oval {
	background: rgba(240, 233, 255, 0.92);
	box-shadow: 0 1.15rem 2.2rem rgba(26, 13, 47, 0.25);
	max-width: 760px;
	padding: 2.1rem 3.1rem;
}

body.take-flight-page.quickstudy-page .tf-hero-oval h2 {
	color: #2e1b58;
}

body.take-flight-page.quickstudy-page .tf-hero-oval p {
	color: #4a2b83;
	font-size: clamp(1rem, 1.6vw, 1.55rem);
	line-height: 1.3;
}

body.take-flight-page.quickstudy-page .tf-overview,
body.take-flight-page.quickstudy-page .tf-game-flow,
body.take-flight-page.quickstudy-page .tf-experiences {
	background: linear-gradient(180deg, #f6f2fc 0%, #f1e8fb 100%);
}

body.take-flight-page.quickstudy-page .tf-overview {
	padding-bottom: 1.35rem;
	padding-top: 2.4rem;
}

body.take-flight-page.quickstudy-page .tf-overview-grid {
	align-items: center;
	gap: 2rem;
}

body.take-flight-page.quickstudy-page .tf-overview .tf-media-ipad {
	background: #efe6ff;
	border: 1px solid rgba(60, 36, 112, 0.2);
	border-radius: 0.72rem;
	box-shadow: 0 0.85rem 1.6rem rgba(31, 16, 56, 0.2);
	max-width: 100%;
	padding: 0.5rem;
}

body.take-flight-page.quickstudy-page .tf-overview .tf-media-phone {
	background: #111;
	border-radius: 40px;
	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.1),
		0 0 0 1px rgba(0, 0, 0, 0.5),
		0 16px 48px rgba(0, 0, 0, 0.45);
	justify-self: center;
	max-width: 340px;
	padding: 7px;
	position: relative;
	isolation: isolate;
	width: 100%;
}

body.take-flight-page.quickstudy-page .tf-overview .tf-media-phone::before {
	display: none;
}

body.take-flight-page.quickstudy-page .tf-overview .tf-media-phone video {
	aspect-ratio: 9 / 19.5;
	border-radius: 34px;
	display: block;
	height: auto;
	object-fit: cover;
	object-position: center;
	position: relative;
	width: 100%;
	z-index: 1;
}

body.take-flight-page.quickstudy-page .tf-overview-media-shell {
	aspect-ratio: 16 / 10;
	background: #1f1538;
	border-radius: 0.5rem;
	overflow: hidden;
}

body.take-flight-page.quickstudy-page .tf-overview-media-shell img,
body.take-flight-page.quickstudy-page .tf-overview-media-shell video {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

body.take-flight-page.quickstudy-page .tf-overview .tf-copy {
	padding-top: 0.08rem;
}

body.take-flight-page.quickstudy-page .tf-overview-title {
	color: #26154f;
	font-size: clamp(2.2rem, 4.6vw, 3.6rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin: 0 0 0.45rem;
}

body.take-flight-page.quickstudy-page .tf-overview-subtitle {
	color: #4a2b83;
	font-size: clamp(1.08rem, 2vw, 1.36rem);
	font-weight: 600;
	line-height: 1.45;
	margin: 0 0 0.72rem;
}

body.take-flight-page.quickstudy-page .tf-overview-description {
	margin: 0 0 0.3rem;
	max-width: 56ch;
}

body.take-flight-page.quickstudy-page .tf-overview-highlights {
	margin: 0 0 1.02rem;
}

body.take-flight-page.quickstudy-page .tf-overview-highlights h4 {
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1;
	margin: 0 0 0.6rem;
	text-transform: uppercase;
}

body.take-flight-page .tf-overview-tech h4 {
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1;
	margin: 0 0 0.7rem;
}

body.take-flight-page.quickstudy-page .tf-overview-highlights h4,
body.take-flight-page.quickstudy-page .tf-overview-tech h4 {
	color: #2d1a5c;
}

body.take-flight-page:not(.quickstudy-page) .tf-overview-tech h4 {
	color: #0d3050;
}

body.take-flight-page.quickstudy-page .tf-overview-highlights ul {
	list-style: disc;
	margin: 0 0 0 1.2rem;
}

body.take-flight-page.quickstudy-page .tf-overview-highlights li {
	color: #1e1631;
	font-size: 0.98rem;
	line-height: 1.52;
	margin: 0 0 0.22rem;
}

body.take-flight-page.quickstudy-page .tf-overview-meta {
	margin: 0.75rem 0 0;
}

body.take-flight-page.quickstudy-page .tf-overview-meta p {
	margin: 0 0 0.28rem;
}

body.take-flight-page .tf-overview-tech {
	border-top: 1.5px solid rgba(255, 255, 255, 0.12);
	margin: 0.6rem 0 1rem;
	padding-top: 1rem;
}

body.take-flight-page.quickstudy-page .tf-overview-tech {
	border-top-color: rgba(82, 47, 154, 0.18);
}

body.take-flight-page:not(.quickstudy-page) .tf-overview-tech {
	border-top-color: rgba(47, 111, 158, 0.22);
}

body.take-flight-page .tf-tech-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

body.take-flight-page:not(.quickstudy-page) .tf-tech-chips li {
	background: rgba(47, 111, 158, 0.14);
	border: 1.5px solid rgba(47, 111, 158, 0.45);
	border-radius: 999px;
	color: #0d3050;
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.52rem 0.9rem;
}

body.take-flight-page.quickstudy-page .tf-tech-chips li {
	background: rgba(116, 72, 216, 0.14);
	border: 1.5px solid rgba(116, 72, 216, 0.4);
	border-radius: 999px;
	color: #2b1b57;
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.52rem 0.9rem;
}

body.take-flight-page.quickstudy-page .tf-overview .tf-project-link-wrap {
	margin-top: 0.1rem;
}

body.take-flight-page.quickstudy-page .tf-owned {
	background: linear-gradient(180deg, #efe4fb 0%, #eadcf9 100%);
}

body.take-flight-page.quickstudy-page .tf-owned-grid {
	grid-template-columns: minmax(0, 760px);
	max-width: 760px;
}

body.take-flight-page.quickstudy-page .tf-owned .tf-copy p + .tf-list {
	margin-top: 0.3rem;
}

body.take-flight-page.quickstudy-page .tf-owned .tf-list {
	margin-bottom: 1.1rem;
}

body.take-flight-page.quickstudy-page .tf-owned .tf-copy p:first-of-type {
	margin-top: 0.5rem;
}

body.take-flight-page.quickstudy-page .tf-code-snippets {
	background: linear-gradient(180deg, #e9def8 0%, #e2d3f5 100%);
}

body.take-flight-page.quickstudy-page .tf-outcomes {
	background: linear-gradient(180deg, #dfd2f3 0%, #d8c7ee 100%);
}

body.take-flight-page.quickstudy-page .tf-card {
	background: #ece3fb;
}

body.take-flight-page.quickstudy-page .tf-experience-grid .tf-card {
	background: #e7dcfa;
}

body.take-flight-page.quickstudy-page .tf-outcome-card {
	background: #f3ebff;
	border-color: rgba(67, 38, 123, 0.18);
}

body.take-flight-page.quickstudy-page .tf-project-link {
	background: linear-gradient(135deg, #7448d8 0%, #9656ee 100%);
}

body.take-flight-page.quickstudy-page .tf-project-link:hover {
	background: linear-gradient(135deg, #663ac6 0%, #8242dc 100%);
}

body.take-flight-page.quickstudy-page .tf-project-link-github {
	background: rgba(56, 34, 101, 0.08);
	border-color: rgba(56, 34, 101, 0.34);
	color: #2d1a5c;
}

body.take-flight-page.quickstudy-page .tf-project-link-github:hover {
	background: rgba(56, 34, 101, 0.16);
	color: #221348;
}

body.take-flight-page.quickstudy-page .tf-snippet-card {
	background: #171128;
	border-color: rgba(210, 193, 255, 0.16);
}

body.take-flight-page.quickstudy-page .tf-snippet-card pre {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(210, 193, 255, 0.22);
	max-height: 340px;
	overflow-y: auto;
}

body.take-flight-page.quickstudy-page .tf-experience-grid::-webkit-scrollbar-thumb {
	background: rgba(103, 63, 182, 0.55);
}

/* QuickStudy — Screenshots: 4-column grid */
body.take-flight-page.quickstudy-page .tf-experience-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	overflow-x: visible;
	scroll-snap-type: none;
	-webkit-overflow-scrolling: auto;
	align-items: stretch;
}

body.take-flight-page.quickstudy-page .tf-experience-grid .tf-card {
	flex: unset;
	border-radius: 1rem;
	overflow: hidden;
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}

body.take-flight-page.quickstudy-page .tf-experience-grid .tf-card:hover {
	box-shadow:
		0 8px 24px rgba(103, 63, 182, 0.18),
		0 2px 6px rgba(103, 63, 182, 0.1);
	transform: translateY(-2px);
}

body.take-flight-page.quickstudy-page .tf-experience-media {
	background: transparent;
	flex: none;
	overflow: visible;
	padding: 1rem 1rem 0.6rem;
}

/* Modern iPhone frame — visible bezel */
body.take-flight-page.quickstudy-page .tf-iphone-frame {
	background: #111;
	/* 12% of width / 5.66% of height → equal pixel radius on this ~1:2.12 portrait frame */
	border-radius: 12% / 5.66%;
	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.1),
		0 0 0 1px rgba(0, 0, 0, 0.5),
		0 16px 48px rgba(0, 0, 0, 0.45);
	overflow: hidden;
	padding: 2%;
	width: 100%;
}

body.take-flight-page.quickstudy-page .tf-iphone-frame img {
	aspect-ratio: 9 / 19.5;
	/* 10% of width / 4.6% of height → equal pixel radius on 9:19.5 image */
	border-radius: 10% / 4.6%;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

/* Equal-height caption boxes */
body.take-flight-page.quickstudy-page .tf-experience-grid .tf-experience-copy {
	flex: 1;
	min-height: 7rem;
}

@media screen and (max-width: 1260px) {

	body.take-flight-page.quickstudy-page .tf-flow-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}



@media screen and (max-width: 960px) {

	body.take-flight-page.quickstudy-page .tf-experience-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	body.take-flight-page.quickstudy-page .site-header {
		background: linear-gradient(135deg, #2f1a57 0%, #4a2d84 100%);
	}

	body.take-flight-page.quickstudy-page .tf-overview {
		padding-top: 2rem;
	}

	body.take-flight-page.quickstudy-page .tf-overview .tf-media-phone {
		max-width: 420px;
	}

	body.take-flight-page.quickstudy-page .tf-flow-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 736px) {

	body.take-flight-page.quickstudy-page .tf-experience-grid {
		grid-template-columns: 1fr;
	}

	body.take-flight-page.quickstudy-page .tf-overview .tf-project-link-wrap {
		width: 100%;
	}

	body.take-flight-page.quickstudy-page .tf-overview .tf-project-link {
		flex: 1 1 100%;
		text-align: center;
	}

	body.take-flight-page.quickstudy-page .tf-flow-grid {
		grid-template-columns: 1fr;
	}
}

/* QuickStudy — challenge number cards */
body.take-flight-page.quickstudy-page .tf-flow-grid {
	align-items: stretch;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.take-flight-page.quickstudy-page .tf-card-challenge {
	border-left: 3px solid #7448d8;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.8rem 1.6rem 1.6rem 1.5rem;
	position: relative;
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}

body.take-flight-page.quickstudy-page .tf-card-challenge:hover {
	box-shadow:
		0 8px 24px rgba(103, 63, 182, 0.18),
		0 2px 6px rgba(103, 63, 182, 0.1);
	transform: translateY(-2px);
}

body.take-flight-page.quickstudy-page .tf-challenge-number {
	color: #7448d8;
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1;
	margin: 0 0 0.9rem;
	position: static;
}

/* Challenge / Solution / Result inline badges */
body.take-flight-page.quickstudy-page .tf-card-challenge p strong {
	border-radius: 4px;
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1;
	padding: 0.2rem 0.45rem;
	text-transform: uppercase;
	vertical-align: middle;
	margin-right: 0.3rem;
}

body.take-flight-page.quickstudy-page .tf-card-challenge p strong:nth-of-type(1) {
	background: rgba(220, 38, 38, 0.1);
	border: 1px solid rgba(220, 38, 38, 0.25);
	color: #b91c1c;
}

body.take-flight-page.quickstudy-page .tf-card-challenge p strong:nth-of-type(2) {
	background: rgba(37, 99, 235, 0.1);
	border: 1px solid rgba(37, 99, 235, 0.25);
	color: #1d4ed8;
}

body.take-flight-page.quickstudy-page .tf-card-challenge p strong:nth-of-type(3) {
	background: rgba(22, 163, 74, 0.1);
	border: 1px solid rgba(22, 163, 74, 0.25);
	color: #15803d;
}

/* QuickStudy — screenshot pending state (unused, kept for reference) */
body.take-flight-page.quickstudy-page .tf-experience-media--pending {
	background: rgba(103, 63, 182, 0.08);
	border: 1.5px dashed rgba(103, 63, 182, 0.3);
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	flex: 0 0 320px;
}

body.take-flight-page.quickstudy-page .tf-screenshot-pending {
	color: rgba(103, 63, 182, 0.5);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin: 0;
	text-align: center;
}

/* QuickStudy — disabled / coming-soon link */
body.take-flight-page.quickstudy-page .tf-project-link-disabled {
	background: rgba(103, 63, 182, 0.06);
	border: 1.5px solid rgba(103, 63, 182, 0.2);
	border-radius: 8px;
	color: rgba(103, 63, 182, 0.45);
	cursor: default;
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 600;
	padding: 0.6rem 1.1rem;
	text-decoration: none;
}

/* QuickStudy — snippet cards now use <p> instead of <pre> */
body.take-flight-page.quickstudy-page .tf-snippet-card p {
	color: rgba(220, 210, 255, 0.8);
	font-size: 0.9rem;
	line-height: 1.65;
	margin: 0;
}

/* ========================================================
   QuickStudy — Code Showcase
   ======================================================== */

body.take-flight-page.quickstudy-page .qs-code-showcase {
	background: linear-gradient(180deg, #e9def8 0%, #e2d3f5 100%);
	padding: 3.5rem 3.75rem 4.5rem;
}

body.take-flight-page.quickstudy-page .qs-snippet-header {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
	margin-bottom: 0.62rem;
}

body.take-flight-page.quickstudy-page .qs-snippet-header h4 {
	align-items: center;
	display: flex;
	gap: 0.55rem;
	margin: 0;
}

body.take-flight-page.quickstudy-page .qs-lang-badge {
	background: rgba(116, 72, 216, 0.22);
	border: 1px solid rgba(116, 72, 216, 0.45);
	border-radius: 999px;
	color: #c0a0ff;
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	padding: 0.22rem 0.62rem;
	text-transform: uppercase;
}

body.take-flight-page.quickstudy-page .qs-copy-btn {
	background: rgba(116, 72, 216, 0.18);
	border: 1px solid rgba(116, 72, 216, 0.38);
	border-radius: 6px;
	color: #c0a0ff;
	cursor: pointer;
	flex-shrink: 0;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 0.28rem 0.65rem;
	transition: background 0.18s ease, color 0.18s ease;
}

body.take-flight-page.quickstudy-page .qs-copy-btn:hover {
	background: rgba(116, 72, 216, 0.35);
	color: #fff;
}

/* ========================================================
   Case Study — Next Project + CTA sections
   ======================================================== */

.cs-next-project {
	padding: 3.5rem 3rem;
}

body.take-flight-page:not(.quickstudy-page) .cs-next-project {
	background: #d4d5db;
}

body.take-flight-page:not(.quickstudy-page) .cs-next-label {
	color: rgba(30, 30, 40, 0.45);
}

body.take-flight-page:not(.quickstudy-page) .cs-next-card {
	background: rgba(255, 255, 255, 0.55);
	border-color: rgba(30, 30, 40, 0.12);
}

body.take-flight-page:not(.quickstudy-page) .cs-next-card:hover {
	background: rgba(255, 255, 255, 0.8);
	border-color: rgba(30, 30, 40, 0.22);
}

body.take-flight-page:not(.quickstudy-page) .cs-next-copy h4 {
	color: #121318;
}

body.take-flight-page:not(.quickstudy-page) .cs-next-copy p {
	color: rgba(30, 30, 40, 0.6);
}

body.take-flight-page:not(.quickstudy-page) .cs-next-arrow {
	color: rgba(30, 30, 40, 0.4);
}

body.take-flight-page:not(.quickstudy-page) .cs-next-card:hover .cs-next-arrow {
	color: rgba(30, 30, 40, 0.75);
}

body.take-flight-page.quickstudy-page .cs-next-project {
	background: linear-gradient(180deg, #d8c7ee 0%, #cdbde8 100%);
}

.cs-next-label {
	color: rgba(255, 255, 255, 0.45);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

body.take-flight-page.quickstudy-page .cs-next-label {
	color: rgba(44, 22, 90, 0.5);
}

.cs-next-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr 1fr;
	max-width: 960px;
}

.cs-next-card {
	align-items: center;
	background: rgba(255, 255, 255, 0.06);
	border: 1.5px solid rgba(255, 255, 255, 0.1);
	border-radius: 14px;
	display: flex;
	gap: 1.25rem;
	padding: 1.25rem 1.5rem;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.cs-next-card:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.2);
	transform: translateY(-2px);
}

body.take-flight-page.quickstudy-page .cs-next-card {
	background: rgba(44, 22, 90, 0.08);
	border-color: rgba(44, 22, 90, 0.18);
}

body.take-flight-page.quickstudy-page .cs-next-card:hover {
	background: rgba(44, 22, 90, 0.14);
	border-color: rgba(44, 22, 90, 0.3);
}

.cs-next-card img {
	border-radius: 8px;
	flex-shrink: 0;
	height: 64px;
	object-fit: cover;
	width: 96px;
}

.cs-next-copy {
	flex: 1;
}

.cs-next-copy h4 {
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 0.25rem;
}

body.take-flight-page.quickstudy-page .cs-next-copy h4 {
	color: #1a0a38;
}

.cs-next-copy p {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.875rem;
	line-height: 1.5;
	margin: 0;
}

body.take-flight-page.quickstudy-page .cs-next-copy p {
	color: rgba(44, 22, 90, 0.65);
}

.cs-next-arrow {
	color: rgba(255, 255, 255, 0.4);
	flex-shrink: 0;
	font-size: 1.25rem;
	transition: color 0.2s ease, transform 0.2s ease;
}

body.take-flight-page.quickstudy-page .cs-next-arrow {
	color: rgba(44, 22, 90, 0.4);
}

.cs-next-card:hover .cs-next-arrow {
	color: rgba(255, 255, 255, 0.8);
	transform: translateX(4px);
}

body.take-flight-page.quickstudy-page .cs-next-card:hover .cs-next-arrow {
	color: rgba(44, 22, 90, 0.7);
}

/* CTA section */
.cs-cta {
	padding: 5rem 3rem;
	text-align: center;
}

body.take-flight-page:not(.quickstudy-page) .cs-cta {
	background: #080d16;
}

body.take-flight-page.quickstudy-page .cs-cta {
	background: linear-gradient(180deg, #cdbde8 0%, #c4b0e2 100%);
}

.cs-cta-inner {
	margin: 0 auto;
	max-width: 520px;
}

.cs-cta-inner h3 {
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 0.75rem;
}

body.take-flight-page:not(.quickstudy-page) .cs-cta-inner h3 {
	color: #fff;
}

body.take-flight-page.quickstudy-page .cs-cta-inner h3 {
	color: #150830;
}

.cs-cta-inner p {
	font-size: 1rem;
	line-height: 1.6;
	margin: 0 0 2rem;
}

body.take-flight-page:not(.quickstudy-page) .cs-cta-inner p {
	color: rgba(255, 255, 255, 0.6);
}

body.take-flight-page.quickstudy-page .cs-cta-inner p {
	color: rgba(21, 8, 48, 0.65);
}

.cs-cta-button {
	border-radius: 10px;
	display: inline-block;
	font-size: 0.95rem;
	font-weight: 700;
	padding: 0.8rem 2rem;
	text-decoration: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.cs-cta-button:hover {
	opacity: 0.88;
	transform: translateY(-2px);
}

body.take-flight-page:not(.quickstudy-page) .cs-cta-button {
	background: linear-gradient(135deg, #2f6f9e 0%, #3a88bf 100%);
	color: #fff;
}

body.take-flight-page.quickstudy-page .cs-cta-button {
	background: linear-gradient(135deg, #7448d8 0%, #9656ee 100%);
	color: #fff;
}

@media screen and (max-width: 736px) {
	.cs-next-project,
	.cs-cta {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.cs-cta {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.cs-cta-inner h3 {
		font-size: 1.5rem;
	}

	.cs-next-grid {
		grid-template-columns: 1fr;
	}

	.cs-next-card {
		gap: 1rem;
		padding: 1rem 1.1rem;
	}

	.cs-next-card img {
		height: 48px;
		width: 72px;
	}
}

/* ========================================================
   CommonSight page theme
   ======================================================== */

body.take-flight-page.commonsight-page .tf-hero {
	background: linear-gradient(135deg, #0b3a44 0%, #10505c 50%, #0d4450 100%);
}

body.take-flight-page.commonsight-page .tf-hero-oval {
	background: rgba(255, 255, 255, 0.08);
	border: 1.5px solid rgba(255, 255, 255, 0.3);
}

body.take-flight-page.commonsight-page .tf-hero-oval h2 {
	color: #ffffff;
}

body.take-flight-page.commonsight-page .tf-hero-oval p {
	color: rgba(255, 255, 255, 0.85);
}

body.take-flight-page.commonsight-page .site-header {
	background: linear-gradient(135deg, #09303a 0%, #0d4450 100%);
}

body.take-flight-page.commonsight-page .site-name,
body.take-flight-page.commonsight-page .site-nav a,
body.take-flight-page.commonsight-page .nav-toggle {
	color: #ffffff !important;
}

body.take-flight-page.commonsight-page .site-nav a:hover {
	color: rgba(255, 255, 255, 0.7);
}

body.take-flight-page.commonsight-page .tf-overview {
	background: linear-gradient(180deg, #eaf4f6 0%, #e2f0f3 100%);
}

body.take-flight-page.commonsight-page .tf-game-flow {
	background: linear-gradient(180deg, #e2f0f3 0%, #d8eaee 100%);
}

body.take-flight-page.commonsight-page .tf-experiences {
	background: linear-gradient(180deg, #d8eaee 0%, #cfe6eb 100%);
}

body.take-flight-page.commonsight-page .tf-owned {
	background: linear-gradient(180deg, #cfe6eb 0%, #c8e2e8 100%);
}

body.take-flight-page.commonsight-page .tf-code-snippets {
	background: linear-gradient(180deg, #6fa8b8 0%, #64a0b0 100%);
}

body.take-flight-page.commonsight-page .qs-code-showcase {
	padding: 3.5rem 3.75rem 4.5rem;
}

body.take-flight-page.commonsight-page .tf-outcomes {
	background: linear-gradient(180deg, #64a0b0 0%, #5a98a8 100%);
}

body.take-flight-page.commonsight-page .tf-outcome-card {
	background: rgba(255, 255, 255, 0.55);
	border-color: rgba(16, 80, 92, 0.2);
}

body.take-flight-page.commonsight-page .tf-card {
	background: rgba(255, 255, 255, 0.5);
}

/* Challenge cards */
/* CommonSight — challenge cards */
body.take-flight-page.commonsight-page .tf-flow-grid {
	align-items: stretch;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.take-flight-page.commonsight-page .tf-card-challenge {
	border-left: 3px solid #10505c;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.8rem 1.6rem 1.6rem 1.5rem;
	position: relative;
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}

body.take-flight-page.commonsight-page .tf-card-challenge:hover {
	box-shadow:
		0 8px 24px rgba(16, 80, 92, 0.18),
		0 2px 6px rgba(16, 80, 92, 0.1);
	transform: translateY(-2px);
}

body.take-flight-page.commonsight-page .tf-challenge-number {
	color: #10505c;
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1;
	margin: 0 0 0.9rem;
	position: static;
}

body.take-flight-page.commonsight-page .tf-card-challenge p strong {
	border-radius: 4px;
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1;
	padding: 0.2rem 0.45rem;
	text-transform: uppercase;
	vertical-align: middle;
	margin-right: 0.3rem;
}

body.take-flight-page.commonsight-page .tf-card-challenge p strong:nth-of-type(1) {
	background: rgba(220, 38, 38, 0.1);
	border: 1px solid rgba(220, 38, 38, 0.25);
	color: #b91c1c;
}

body.take-flight-page.commonsight-page .tf-card-challenge p strong:nth-of-type(2) {
	background: rgba(37, 99, 235, 0.1);
	border: 1px solid rgba(37, 99, 235, 0.25);
	color: #1d4ed8;
}

body.take-flight-page.commonsight-page .tf-card-challenge p strong:nth-of-type(3) {
	background: rgba(22, 163, 74, 0.1);
	border: 1px solid rgba(22, 163, 74, 0.25);
	color: #15803d;
}

@media screen and (max-width: 1260px) {
	body.take-flight-page.commonsight-page .tf-flow-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (max-width: 960px) {
	body.take-flight-page.commonsight-page .tf-flow-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 736px) {
	body.take-flight-page.commonsight-page .tf-flow-grid {
		grid-template-columns: 1fr;
	}
}

/* Tech chips */
body.take-flight-page.commonsight-page .tf-tech-chips li {
	background: rgba(16, 80, 92, 0.1);
	border: 1.5px solid rgba(16, 80, 92, 0.3);
	color: #0a3540;
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.52rem 0.9rem;
}

body.take-flight-page.commonsight-page .tf-overview-tech h4 {
	color: #0a3540;
}

body.take-flight-page.commonsight-page .tf-overview .tf-media-phone {
	background: #111;
	border-radius: 40px;
	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.1),
		0 0 0 1px rgba(0, 0, 0, 0.5),
		0 16px 48px rgba(0, 0, 0, 0.45);
	justify-self: center;
	max-width: 340px;
	padding: 7px;
	position: relative;
	isolation: isolate;
	width: 100%;
}

body.take-flight-page.commonsight-page .tf-overview .tf-media-phone::before {
	display: none;
}

body.take-flight-page.commonsight-page .tf-overview .tf-media-phone video {
	aspect-ratio: 9 / 19.5;
	border-radius: 34px;
	display: block;
	height: auto;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

@media screen and (max-width: 960px) {
	body.take-flight-page.commonsight-page .tf-overview .tf-media-phone {
		max-width: 420px;
	}
}

/* Project links */
body.take-flight-page.commonsight-page .tf-project-link {
	background: linear-gradient(135deg, #10505c 0%, #0d4350 100%);
}

body.take-flight-page.commonsight-page .tf-project-link:hover {
	background: linear-gradient(135deg, #0d4350 0%, #0a3844 100%);
}

body.take-flight-page.commonsight-page .tf-project-link-github {
	background: rgba(16, 80, 92, 0.08);
	border-color: rgba(16, 80, 92, 0.3);
	color: #0a3540;
}

body.take-flight-page.commonsight-page .tf-project-link-github:hover {
	background: rgba(16, 80, 92, 0.15);
	color: #072830;
}

body.take-flight-page.commonsight-page .tf-project-link-disabled {
	background: rgba(16, 80, 92, 0.05);
	border-color: rgba(16, 80, 92, 0.18);
	color: rgba(16, 80, 92, 0.4);
}

/* CommonSight — Screenshots: 4-column grid */
body.take-flight-page.commonsight-page .tf-experience-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	overflow-x: visible;
	scroll-snap-type: none;
	-webkit-overflow-scrolling: auto;
	align-items: stretch;
}

body.take-flight-page.commonsight-page .tf-experience-grid .tf-card {
	flex: unset;
	border-radius: 1rem;
	overflow: hidden;
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}

body.take-flight-page.commonsight-page .tf-experience-grid .tf-card:hover {
	box-shadow:
		0 8px 24px rgba(16, 80, 92, 0.18),
		0 2px 6px rgba(16, 80, 92, 0.1);
	transform: translateY(-2px);
}

body.take-flight-page.commonsight-page .tf-experience-media {
	background: transparent;
	flex: none;
	overflow: visible;
	padding: 1rem 1rem 0.6rem;
}

body.take-flight-page.commonsight-page .tf-experience-grid .tf-experience-copy {
	flex: 1;
	min-height: 7rem;
}

/* iPhone frame */
body.take-flight-page.commonsight-page .tf-iphone-frame {
	background: #111;
	border-radius: 12% / 5.66%;
	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.1),
		0 0 0 1px rgba(0, 0, 0, 0.5),
		0 16px 48px rgba(0, 0, 0, 0.45);
	overflow: hidden;
	padding: 2%;
	position: relative;
	isolation: isolate;
	width: 100%;
}

body.take-flight-page.commonsight-page .tf-iphone-frame::before {
	background: linear-gradient(180deg, #1f1f1f 0%, #050505 100%);
	border-radius: 999px;
	content: "";
	height: 4%;
	left: 50%;
	position: absolute;
	top: 3.5%;
	transform: translateX(-50%);
	width: 34%;
	z-index: 2;
	pointer-events: none;
}

body.take-flight-page.commonsight-page .tf-iphone-frame img {
	aspect-ratio: 9 / 19.5;
	border-radius: 10% / 4.6%;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

@media screen and (max-width: 960px) {
	body.take-flight-page.commonsight-page .tf-experience-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 736px) {
	body.take-flight-page.commonsight-page .tf-experience-grid {
		grid-template-columns: 1fr;
	}
}

/* Screenshot pending */
body.take-flight-page.commonsight-page .tf-screenshot-pending {
	aspect-ratio: 9 / 19.5;
	border-radius: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.35);
	font-size: 0.85rem;
	background: rgba(255, 255, 255, 0.04);
	margin: 0;
}

/* Snippet cards */
body.take-flight-page.commonsight-page .tf-snippet-card {
	background: #0b3a44;
	border-color: rgba(255, 255, 255, 0.1);
}

body.take-flight-page.commonsight-page .tf-snippet-card h4 {
	color: #fff;
}

body.take-flight-page.commonsight-page .tf-snippet-card p {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.9rem;
	line-height: 1.65;
	margin: 0;
}

/* More Case Studies cards */
body.take-flight-page.commonsight-page .cs-next-project {
	background: #0b3a44;
}

body.take-flight-page.commonsight-page .cs-next-label {
	color: rgba(255, 255, 255, 0.45);
}

body.take-flight-page.commonsight-page .cs-next-card {
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(255, 255, 255, 0.12);
}

body.take-flight-page.commonsight-page .cs-next-card:hover {
	background: rgba(255, 255, 255, 0.13);
	border-color: rgba(255, 255, 255, 0.22);
}

body.take-flight-page.commonsight-page .cs-next-copy h4 {
	color: #fff;
}

body.take-flight-page.commonsight-page .cs-next-copy p {
	color: rgba(255, 255, 255, 0.6);
}

body.take-flight-page.commonsight-page .cs-next-arrow {
	color: rgba(255, 255, 255, 0.4);
}

body.take-flight-page.commonsight-page .cs-next-card:hover .cs-next-arrow {
	color: rgba(255, 255, 255, 0.8);
}

@media screen and (max-width: 960px) {
	body.take-flight-page.commonsight-page .site-header {
		background: linear-gradient(135deg, #09303a 0%, #0d4450 100%);
	}
}

/* =========================================================
   Resume Page
   ========================================================= */

body.resume-page .resume-hero {
	margin: 0 auto;
	max-width: 800px;
	padding: 2rem 0 1.25rem;
	text-align: center;
}

body.resume-page .resume-hero h2 {
	color: #111;
	font-size: clamp(2.6rem, 5vw, 4.4rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin: 0.75rem 0 0;
}

body.resume-page .resume-download-btn {
	align-items: center;
	background: #2f6f9e;
	border: 0;
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 1rem;
	font-weight: 600;
	gap: 0.45rem;
	line-height: 1;
	padding: 0.7rem 1.2rem;
	text-decoration: none;
	transition: background 0.2s ease;
}

body.resume-page .resume-download-btn:hover {
	background: #255b81;
}

body.resume-page .resume-document {
	background: #fff;
	border: 1px solid #e2e3e8;
	border-radius: 0.5rem;
	margin: 0 auto 3rem;
	max-width: 800px;
	padding: 2.5rem 2.75rem;
}

body.resume-page .resume-header {
	border-bottom: 2px solid #111;
	margin-bottom: 1.75rem;
	padding-bottom: 1.25rem;
}

body.resume-page .resume-name {
	color: #111;
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 0.2rem;
}

body.resume-page .resume-title {
	color: #555;
	font-size: 1rem;
	font-style: italic;
	font-weight: 400;
	line-height: 1.4;
	margin: 0 0 0.45rem;
}

body.resume-page .resume-contact {
	color: #444;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.5;
	margin: 0;
}

body.resume-page .resume-contact a {
	border-bottom: 0;
	color: #2f6f9e;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

body.resume-page .resume-contact a:hover {
	color: #255b81;
}

body.resume-page .resume-section {
	margin-bottom: 1.75rem;
}

body.resume-page .resume-section-title {
	color: #111;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	margin: 0 0 1rem;
	text-transform: uppercase;
	border-bottom: 1.5px solid #ddd;
	padding-bottom: 0.4rem;
}

body.resume-page .resume-summary {
	color: #333;
	font-size: 0.95rem;
	line-height: 1.65;
	margin: 0;
}

body.resume-page .resume-entry {
	margin-bottom: 1.25rem;
}

body.resume-page .resume-entry:last-child {
	margin-bottom: 0;
}

body.resume-page .resume-entry-header {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 0.6rem;
	margin-bottom: 0.2rem;
}

body.resume-page .resume-entry-title {
	color: #111;
	font-size: 0.97rem;
	font-weight: 700;
	line-height: 1.3;
}

body.resume-page .resume-entry-tech {
	color: #555;
	font-size: 0.88rem;
	font-style: italic;
	font-weight: 400;
	line-height: 1.3;
}

body.resume-page .resume-entry-meta {
	color: #777;
	font-size: 0.85rem;
	font-style: italic;
	line-height: 1.3;
	margin-left: auto;
}

body.resume-page .resume-entry-org {
	color: #555;
	font-size: 0.88rem;
	font-weight: 400;
	line-height: 1.4;
	margin: 0 0 0.45rem;
}

body.resume-page .resume-bullets {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.resume-page .resume-bullets li {
	color: #333;
	font-size: 0.92rem;
	line-height: 1.6;
	margin-bottom: 0.3rem;
	padding-left: 1.1rem;
	position: relative;
}

body.resume-page .resume-bullets li::before {
	color: #888;
	content: "\2022";
	left: 0;
	position: absolute;
	top: 0;
}

body.resume-page .resume-skills {
	margin: 0;
}

body.resume-page .resume-skill-row {
	display: flex;
	font-size: 0.92rem;
	gap: 0.5rem;
	line-height: 1.6;
	margin-bottom: 0.2rem;
}

body.resume-page .resume-skill-row dt {
	color: #111;
	flex-shrink: 0;
	font-weight: 700;
	min-width: 160px;
}

body.resume-page .resume-skill-row dd {
	color: #333;
	margin: 0;
}

@media screen and (max-width: 860px) {
	body.resume-page .resume-document {
		padding: 1.75rem 1.25rem;
	}

	body.resume-page .resume-entry-meta {
		margin-left: 0;
		width: 100%;
	}
}

@media screen and (max-width: 600px) {
	body.resume-page .resume-skill-row {
		flex-direction: column;
		gap: 0;
		margin-bottom: 0.65rem;
	}

	body.resume-page .resume-skill-row dt {
		min-width: unset;
	}
}

/* =========================================================
   Small phone fixes (≤480px)
   ========================================================= */

@media screen and (max-width: 600px) {

	body.take-flight-page:not(.quickstudy-page):not(.commonsight-page) .tf-experience-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 480px) {

	/* Homepage — tighten outer padding */
	body.homepage .site-header {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	body.homepage .homepage-main {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	/* Homepage — scale down name and nav links */
	body.homepage .site-name {
		font-size: 1.65rem;
	}

	body.homepage .site-nav a {
		font-size: 1rem;
	}

	/* Case study pages — tighten section padding */
	body.take-flight-page .site-header,
	body.take-flight-page .tf-overview,
	body.take-flight-page .tf-game-flow,
	body.take-flight-page .tf-experiences,
	body.take-flight-page .tf-owned,
	body.take-flight-page .tf-code-snippets,
	body.take-flight-page .tf-outcomes {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	/* Case study hero oval — tighten padding */
	body.take-flight-page .tf-hero-oval {
		border-radius: 1.25rem;
		padding: 1.5rem 1.25rem;
	}

	body.take-flight-page.quickstudy-page .tf-hero-oval,
	body.take-flight-page:not(.quickstudy-page) .tf-hero-oval {
		padding: 1.5rem 1.25rem;
	}

	/* Case study hero — reduce min-height */
	body.take-flight-page .tf-hero {
		min-height: 50vh;
	}

	/* Case study — make challenge flow single-column */
	body.take-flight-page .tf-flow-grid,
	body.take-flight-page.quickstudy-page .tf-flow-grid {
		grid-template-columns: 1fr;
	}

	/* Case study next-project section */
	.cs-next-project {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	/* Contact card */
	body.contact-page .contact-card {
		padding: 1.25rem 1rem;
	}

	/* Resume document */
	body.resume-page .resume-document {
		padding: 1.25rem 1rem;
	}

	body.resume-page .resume-hero {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}
