:root {
	/* #region Color Variables */
	--color-slate-50: #f8fafc;
	--color-slate-100: #f1f5f9;
	--color-slate-200: #e2e8f0;
	--color-slate-300: #cbd5e1;
	--color-slate-400: #94a3b8;
	--color-slate-500: #64748b;
	--color-slate-600: #475569;
	--color-slate-700: #334155;
	--color-slate-800: #1e293b;
	--color-slate-900: #0f172a;
	--color-gray-50: #f9fafb;
	--color-gray-100: #f3f4f6;
	--color-gray-200: #e5e7eb;
	--color-gray-300: #d1d5db;
	--color-gray-400: #9ca3af;
	--color-gray-500: #6b7280;
	--color-gray-600: #4b5563;
	--color-gray-700: #374151;
	--color-gray-800: #1f2937;
	--color-gray-900: #111827;
	--color-zinc-50: #fafafa;
	--color-zinc-100: #f4f4f5;
	--color-zinc-200: #e4e4e7;
	--color-zinc-300: #d4d4d8;
	--color-zinc-400: #a1a1aa;
	--color-zinc-500: #71717a;
	--color-zinc-600: #52525b;
	--color-zinc-700: #3f3f46;
	--color-zinc-800: #27272a;
	--color-zinc-900: #18181b;
	--color-neutral-50: #fafafa;
	--color-neutral-100: #f5f5f5;
	--color-neutral-200: #e5e5e5;
	--color-neutral-300: #d4d4d4;
	--color-neutral-400: #a3a3a3;
	--color-neutral-500: #737373;
	--color-neutral-600: #525252;
	--color-neutral-700: #404040;
	--color-neutral-800: #262626;
	--color-neutral-900: #171717;
	--color-stone-50: #fafaf9;
	--color-stone-100: #f5f5f4;
	--color-stone-200: #e7e5e4;
	--color-stone-300: #d6d3d1;
	--color-stone-400: #a8a29e;
	--color-stone-500: #78716c;
	--color-stone-600: #57534e;
	--color-stone-700: #44403c;
	--color-stone-800: #292524;
	--color-stone-900: #1c1917;
	--color-red-50: #fef2f2;
	--color-red-100: #fee2e2;
	--color-red-200: #fecaca;
	--color-red-300: #fca5a5;
	--color-red-400: #f87171;
	--color-red-500: #ef4444;
	--color-red-600: #dc2626;
	--color-red-700: #b91c1c;
	--color-red-800: #991b1b;
	--color-red-900: #7f1d1d;
	--color-orange-50: #fff7ed;
	--color-orange-100: #ffedd5;
	--color-orange-200: #fed7aa;
	--color-orange-300: #fdba74;
	--color-orange-400: #fb923c;
	--color-orange-500: #f97316;
	--color-orange-600: #ea580c;
	--color-orange-700: #c2410c;
	--color-orange-800: #9a3412;
	--color-orange-900: #7c2d12;
	--color-amber-50: #fffbeb;
	--color-amber-100: #fef3c7;
	--color-amber-200: #fde68a;
	--color-amber-300: #fcd34d;
	--color-amber-400: #fbbf24;
	--color-amber-500: #f59e0b;
	--color-amber-600: #d97706;
	--color-amber-700: #b45309;
	--color-amber-800: #92400e;
	--color-amber-900: #78350f;
	--color-yellow-50: #fefce8;
	--color-yellow-100: #fef9c3;
	--color-yellow-200: #fef08a;
	--color-yellow-300: #fde047;
	--color-yellow-400: #facc15;
	--color-yellow-500: #eab308;
	--color-yellow-600: #ca8a04;
	--color-yellow-700: #a16207;
	--color-yellow-800: #854d0e;
	--color-yellow-900: #713f12;
	--color-lime-50: #f7fee7;
	--color-lime-100: #ecfccb;
	--color-lime-200: #d9f99d;
	--color-lime-300: #bef264;
	--color-lime-400: #a3e635;
	--color-lime-500: #84cc16;
	--color-lime-600: #65a30d;
	--color-lime-700: #4d7c0f;
	--color-lime-800: #3f6212;
	--color-lime-900: #365314;
	--color-green-50: #f0fdf4;
	--color-green-100: #dcfce7;
	--color-green-200: #bbf7d0;
	--color-green-300: #86efac;
	--color-green-400: #4ade80;
	--color-green-500: #22c55e;
	--color-green-600: #16a34a;
	--color-green-700: #15803d;
	--color-green-800: #166534;
	--color-green-900: #14532d;
	--color-emerald-50: #ecfdf5;
	--color-emerald-100: #d1fae5;
	--color-emerald-200: #a7f3d0;
	--color-emerald-300: #6ee7b7;
	--color-emerald-400: #34d399;
	--color-emerald-500: #10b981;
	--color-emerald-600: #059669;
	--color-emerald-700: #047857;
	--color-emerald-800: #065f46;
	--color-emerald-900: #064e3b;
	--color-teal-50: #f0fdfa;
	--color-teal-100: #ccfbf1;
	--color-teal-200: #99f6e4;
	--color-teal-300: #5eead4;
	--color-teal-400: #2dd4bf;
	--color-teal-500: #14b8a6;
	--color-teal-600: #0d9488;
	--color-teal-700: #0f766e;
	--color-teal-800: #115e59;
	--color-teal-900: #134e4a;
	--color-cyan-50: #ecfeff;
	--color-cyan-100: #cffafe;
	--color-cyan-200: #a5f3fc;
	--color-cyan-300: #67e8f9;
	--color-cyan-400: #22d3ee;
	--color-cyan-500: #06b6d4;
	--color-cyan-600: #0891b2;
	--color-cyan-700: #0e7490;
	--color-cyan-800: #155e75;
	--color-cyan-900: #164e63;
	--color-sky-50: #f0f9ff;
	--color-sky-100: #e0f2fe;
	--color-sky-200: #bae6fd;
	--color-sky-300: #7dd3fc;
	--color-sky-400: #38bdf8;
	--color-sky-500: #0ea5e9;
	--color-sky-600: #0284c7;
	--color-sky-700: #0369a1;
	--color-sky-800: #075985;
	--color-sky-900: #0c4a6e;
	--color-blue-50: #eff6ff;
	--color-blue-100: #dbeafe;
	--color-blue-200: #bfdbfe;
	--color-blue-300: #93c5fd;
	--color-blue-400: #60a5fa;
	--color-blue-500: #3b82f6;
	--color-blue-600: #2563eb;
	--color-blue-700: #1d4ed8;
	--color-blue-800: #1e40af;
	--color-blue-900: #1e3a8a;
	--color-indigo-50: #eef2ff;
	--color-indigo-100: #e0e7ff;
	--color-indigo-200: #c7d2fe;
	--color-indigo-300: #a5b4fc;
	--color-indigo-400: #818cf8;
	--color-indigo-500: #6366f1;
	--color-indigo-600: #4f46e5;
	--color-indigo-700: #4338ca;
	--color-indigo-800: #3730a3;
	--color-indigo-900: #312e81;
	--color-violet-50: #f5f3ff;
	--color-violet-100: #ede9fe;
	--color-violet-200: #ddd6fe;
	--color-violet-300: #c4b5fd;
	--color-violet-400: #a78bfa;
	--color-violet-500: #8b5cf6;
	--color-violet-600: #7c3aed;
	--color-violet-700: #6d28d9;
	--color-violet-800: #5b21b6;
	--color-violet-900: #4c1d95;
	--color-purple-50: #faf5ff;
	--color-purple-100: #f3e8ff;
	--color-purple-200: #e9d5ff;
	--color-purple-300: #d8b4fe;
	--color-purple-400: #c084fc;
	--color-purple-500: #a855f7;
	--color-purple-600: #9333ea;
	--color-purple-700: #7e22ce;
	--color-purple-800: #6b21a8;
	--color-purple-900: #581c87;
	--color-fuchsia-50: #fdf4ff;
	--color-fuchsia-100: #fae8ff;
	--color-fuchsia-200: #f5d0fe;
	--color-fuchsia-300: #f0abfc;
	--color-fuchsia-400: #e879f9;
	--color-fuchsia-500: #d946ef;
	--color-fuchsia-600: #c026d3;
	--color-fuchsia-700: #a21caf;
	--color-fuchsia-800: #86198f;
	--color-fuchsia-900: #701a75;
	--color-pink-50: #fdf2f8;
	--color-pink-100: #fce7f3;
	--color-pink-200: #fbcfe8;
	--color-pink-300: #f9a8d4;
	--color-pink-400: #f472b6;
	--color-pink-500: #ec4899;
	--color-pink-600: #db2777;
	--color-pink-700: #be185d;
	--color-pink-800: #9d174d;
	--color-pink-900: #831843;
	--color-rose-50: #fff1f2;
	--color-rose-100: #ffe4e6;
	--color-rose-200: #fecdd3;
	--color-rose-300: #fda4af;
	--color-rose-400: #fb7185;
	--color-rose-500: #f43f5e;
	--color-rose-600: #e11d48;
	--color-rose-700: #be123c;
	--color-rose-800: #9f1239;
	--color-rose-900: #881337;
	--color-background: var(--color-neutral-50);
	--color-foreground: var(--color-neutral-900);
	--color-brand: #2e126d;
	--color-brand-light: #3d1a8f;
	--color-brand-dark: #1e0c47;
	--color-accent: #4f46e5;

	/* #endregion */

	/* #region Typography */
	--font-size: max(1.375rem, 2.225vw);
	--font-size-xxxx-small: max(0.875rem, 50%);
	--font-size-xxx-small: max(0.9375rem, 60%);
	--font-size-xx-small: max(1rem, 65%);
	--font-size-x-small: max(1.0625rem, 75%);
	--font-size-small: 85%;
	--font-size-medium: 120%;
	--font-size-large: 140%;
	--font-size-x-large: 160%;
	--font-size-xx-large: 200%;
	--letter-spacing-loose: -0.0175em;
	--letter-spacing: -0.025em;
	--letter-spacing-tight: -0.0338em;
	--letter-spacing-x-tight: -0.0412em;
	--line-height: 1.4;

	/* #endregion */

	/* #region Spacing */
	--space-neutral: 1.4em;
	--space-small: 0.5em;
	--space-medium: 1em;
	--space-large: 2em;
	--space-x-large: 3em;
	--space-xx-large: 4em;
	--space-xxx-large: 5em;

	/* #endregion */

	/* #region Transitions */
	--transition: 0.1s ease;
	--transition-slow: 0.2s ease;

	/* #endregion */

	box-sizing: border-box;
	font-size: clamp(100%, 0.45vw + 93%, 150%);
	interpolate-size: allow-keywords;
	overflow-x: hidden;
	scroll-behavior: smooth;
	text-size-adjust: 100%;
	text-spacing-trim: trim-start;
	touch-action: manipulation;

	@media (width >= 1024px) {
		--font-size-medium: 125%;
		--font-size-large: 175%;
		--font-size-x-large: 200%;
		--font-size-xx-large: 300%;
	}

	@supports (font-kerning: normal) and (font-variant-ligatures: common-ligatures contextual) and
		(font-variant-numeric: oldstyle-nums proportional-nums) {
		font-feature-settings: normal;
		font-kerning: normal;
		font-variant-ligatures: common-ligatures contextual;
		font-variant-numeric: oldstyle-nums proportional-nums;
	}
	/* @media (prefers-color-scheme: dark) {} */

	/* @media (prefers-color-scheme: dark) {
    html {
      color-scheme: dark;;
    }
  } */
}

*,
*::before,
*::after {
	box-sizing: inherit;
	grid-area: 1 / 1 / 1 / 1;
	min-width: 0;
}

html:has(dialog[open]) {
	overflow: hidden;
}

body {
	/* Remove those jagged edges on CSS transformations in Chrome is to add the CSS
  property -webkit-backface-visibility with a value of hidden.
  http://stackoverflow.com/questions/6492027/css-transform-jagged-edges-in-chrome
  */
	backface-visibility: hidden;
	color: var(--color-foreground);
	font-family: 'Inter Tight', Inter, system-ui, sans-serif;
	font-kerning: normal;
	/* Improve (or in some cases royally screw with) safari's legibility somewhat */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	min-height: 100dvh;
	-webkit-overflow-scrolling: touch;
	/* Improve kerning pairs. Webkit gets funny with this sometimes */
	text-rendering: optimizelegibility;
	text-size-adjust: none;
	/* Disable callout on iOS */
	-webkit-touch-callout: none;

	@supports (-webkit-touch-callout: none) {
		min-height: -webkit-fill-available;
	}
}
/*
header, main, article, section, aside, footer, div {
  display: contents;
}
*/

a {
	text-underline-offset: 2px;
	white-space: nowrap;

	&:not(:is(:hover, :focus)) {
		text-decoration-color: color-mix(in srgb, currentcolor, transparent 75%);
	}
}
/* Enable hover only on non-touch devices  */

/* @media (hover: hover) and (pointer: fine) {
        a:hover {
        }
} */

abbr {
	font-feature-settings: 'kern', 'liga', 'clig', 'calt', 'c2sc', 'smcp';
}

@supports (font-variant-caps: all-small-caps) {
	abbr {
		font-feature-settings: normal;
		font-variant-caps: all-small-caps;
	}
}

h1,
h2,
h3,
h4,
h5,
h6 {
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

i,
em {
	font-style: italic;
}

img,
object,
video {
	height: auto;
	width: 100%;
}

small {
	display: inline-block;
	font-size: 80%;
	line-height: 1.1;
}

.no-break {
	hyphens: none;
}

.numbers {
	letter-spacing: 0.01em;
}

svg use {
	pointer-events: none;
}

.visually-hidden {
	/* clip: rect(1px, 1px, 1px, 1px); */
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}
/* If using normalize, these resets not needed */
[hidden] {
	display: none;
}

b,
strong {
	font-weight: bolder;
}

/* #region Font Faces */

@font-face {
	font-display: swap;
	font-family: 'Inter Tight';
	font-style: normal;
	font-weight: 100 900;
	src: url('../fonts/InterTight-VariableFont.ttf') format('truetype');
}

@font-face {
	font-display: swap;
	font-family: 'Inter Tight';
	font-style: italic;
	font-weight: 100 900;
	src: url('../fonts/InterTight-Italic-VariableFont.ttf') format('truetype');
}

@font-face {
	font-display: swap;
	font-family: Inter;
	font-style: normal;
	font-weight: 100 900;
	src: url('../fonts/Inter-VariableFont.ttf') format('truetype');
}

@font-face {
	font-display: swap;
	font-family: Inter;
	font-style: italic;
	font-weight: 100 900;
	src: url('../fonts/Inter-Italic-VariableFont.ttf') format('truetype');
}

/* #endregion */

/* #region Layout */

.section-inner {
	margin-inline: auto;
	max-width: 72rem;
	padding-inline: var(--space-large);
}

.section-header {
	margin-block-end: var(--space-xx-large);
	max-width: 36rem;

	& h2 {
		font-size: var(--font-size-x-large);
		font-weight: 700;
		letter-spacing: var(--letter-spacing-tight);
		line-height: 1.1;
		margin-block-end: var(--space-small);
	}

	& p {
		color: var(--color-neutral-600);
		font-size: var(--font-size-x-small);
		line-height: var(--line-height);
		text-wrap: balance;
	}
}

/* #endregion */

/* #region Header */

.site-header {
	backdrop-filter: blur(12px);
	background-color: color-mix(in srgb, var(--color-background) 85%, transparent);
	inset-block-start: 0;
	inset-inline: 0;
	position: fixed;
	z-index: 100;
}

.header-inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-inline: auto;
	max-width: 72rem;
	padding: var(--space-small) var(--space-medium);
}

.logo {
	display: block;
	text-decoration: none;
	width: 3rem;

	& img {
		display: block;
		height: auto;
		width: 100%;
	}
}

.main-nav {
	align-items: center;
	display: none;
	gap: var(--space-large);

	& a {
		color: var(--color-neutral-700);
		font-size: var(--font-size-xxxx-small);
		font-weight: 500;
		letter-spacing: var(--letter-spacing-loose);
		text-decoration: none;
		transition: color var(--transition);

		&:hover {
			color: var(--color-foreground);
			text-decoration: underline;
		}
	}

	@media (width >= 768px) {
		display: flex;
	}
}

.nav-cta {
	background-color: var(--color-brand);
	border-radius: 6px;
	color: var(--color-neutral-50) !important;
	padding: 0.5em 1.2em;

	&:hover {
		background-color: var(--color-brand-light);
		color: var(--color-neutral-50);
	}
}

.menu-toggle {
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 0.5em;

	& span {
		background-color: var(--color-foreground);
		border-radius: 1px;
		display: block;
		height: 2px;
		transition:
			transform var(--transition-slow),
			opacity var(--transition);
		width: 22px;
	}

	&[aria-expanded='true'] span:first-child {
		transform: rotate(45deg) translate(2.5px, 2.5px);
	}

	&[aria-expanded='true'] span:last-child {
		transform: rotate(-45deg) translate(2.5px, -2.5px);
	}

	@media (width >= 768px) {
		display: none;
	}
}

.mobile-nav {
	backdrop-filter: blur(20px);
	background-color: color-mix(in srgb, var(--color-background) 95%, transparent);
	display: flex;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	transition: opacity 0.3s ease;
	z-index: 99;

	&.is-open {
		opacity: 1;
		pointer-events: auto;
	}

	& nav {
		align-items: center;
		display: flex;
		flex-direction: column;
		gap: var(--space-large);
		justify-content: center;
		width: 100%;
	}

	& a {
		color: var(--color-foreground);
		font-size: var(--font-size-large);
		font-weight: 600;
		letter-spacing: var(--letter-spacing-tight);
		text-decoration: none;
	}
}

/* #endregion */

/* #region Hero */

.hero {
	display: grid;
	min-height: 100dvh;
	padding-block-start: 4rem;
	position: relative;

	@media (width >= 768px) {
		grid-template-columns: 1fr 1fr;
	}
}

.hero-content {
	align-self: center;
	grid-area: auto;
	padding: var(--space-xx-large) var(--space-large);

	@media (width >= 768px) {
		padding: var(--space-xxx-large) var(--space-xx-large);
	}
}

.hero-brand {
	max-width: 180px;
}

.hero-headline {
	font-size: var(--font-size-xx-large);
	font-weight: 800;
	letter-spacing: var(--letter-spacing-x-tight);
	line-height: 1.05;
	margin-block-end: var(--space-medium);
}

.hero-sub {
	color: var(--color-neutral-600);
	font-size: var(--font-size-x-small);
	line-height: var(--line-height);
	margin-block-end: var(--space-large);
	max-width: 28rem;
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-medium);
}

.hero-image {
	background-color: var(--color-neutral-200);
	display: none;
	grid-area: auto;
	overflow: hidden;

	& img {
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

	@media (width >= 768px) {
		display: block;
	}
}

/* #endregion */

/* #region Buttons */

.btn {
	border: none;
	border-radius: 6px;
	cursor: pointer;
	display: inline-block;
	font-family: inherit;
	font-size: var(--font-size-xxxx-small);
	font-weight: 600;
	letter-spacing: var(--letter-spacing-loose);
	padding: 0.75em 1.5em;
	text-decoration: none;
	transition:
		background-color var(--transition),
		color var(--transition),
		transform var(--transition);

	&:active {
		transform: scale(0.98);
	}
}

.btn-primary {
	background-color: var(--color-brand);
	color: var(--color-neutral-50);

	&:hover {
		background-color: var(--color-brand-light);
		color: var(--color-neutral-50);
	}
}

.btn-ghost {
	background-color: transparent;
	border: 1px solid var(--color-neutral-300);
	color: var(--color-foreground);

	&:hover {
		background-color: var(--color-neutral-100);
		border-color: var(--color-neutral-400);
	}
}

.btn-secondary {
	background-color: var(--color-neutral-900);
	color: var(--color-neutral-50);

	&:hover {
		background-color: var(--color-neutral-700);
		color: var(--color-neutral-50);
	}
}

/* #endregion */

/* #region Stats Bar */

.stats-bar {
	background-color: var(--color-brand);
	color: var(--color-neutral-50);
	padding-block: var(--space-xx-large);
}

.stats-inner {
	display: grid;
	gap: var(--space-large);
	grid-template-columns: repeat(2, 1fr);
	margin-inline: auto;
	max-width: 72rem;
	padding-inline: var(--space-large);

	@media (width >= 768px) {
		grid-template-columns: repeat(4, 1fr);
	}
}

.stat {
	grid-area: auto;
	text-align: center;
}

.stat-number {
	display: block;
	font-size: var(--font-size-x-large);
	font-weight: 800;
	letter-spacing: var(--letter-spacing-tight);
	line-height: 1;
}

.stat-label {
	color: color-mix(in srgb, var(--color-neutral-50) 75%, transparent);
	display: block;
	font-size: var(--font-size-xxxx-small);
	margin-block-start: 0.25em;
}

/* #endregion */

/* #region Services */

.services {
	padding-block: var(--space-xxx-large);
}

.services-grid {
	display: grid;
	gap: var(--space-xx-large);

	@media (width >= 900px) {
		grid-template-columns: repeat(2, 1fr);
	}
}

.service-card {
	grid-area: auto;
	overflow: hidden;
}

.service-image {
	aspect-ratio: 4 / 3;
	background-color: var(--color-neutral-200);
	border-radius: 8px;
	margin-block-end: var(--space-large);
	overflow: hidden;

	& img {
		height: 100%;
		object-fit: cover;
		width: 100%;
	}
}

.service-body {
	& h3 {
		font-size: var(--font-size-large);
		font-weight: 700;
		letter-spacing: var(--letter-spacing-tight);
		margin-block-end: var(--space-small);
	}

	& > p {
		color: var(--color-neutral-600);
		font-size: var(--font-size-xxxx-small);
		line-height: var(--line-height);
		margin-block-end: var(--space-medium);
	}
}

.service-list {
	color: var(--color-neutral-700);
	font-size: var(--font-size-xxxx-small);
	line-height: 1.8;
	list-style: none;
	margin-block-end: var(--space-large);
	padding: 0 0 0 var(--space-medium);

	& li::before {
		color: var(--color-neutral-400);
		content: '\2014\00a0';
	}
}

/* #endregion */

/* #region About */

.about {
	background-color: var(--color-neutral-100);
	padding-block: var(--space-xxx-large);
}

.about-grid {
	display: grid;
	gap: var(--space-xx-large);

	@media (width >= 768px) {
		align-items: center;
		grid-template-columns: 1fr 1fr;
	}
}

.about-content {
	grid-area: auto;

	& h2 {
		font-size: var(--font-size-x-large);
		font-weight: 700;
		letter-spacing: var(--letter-spacing-tight);
		line-height: 1.1;
		margin-block-end: var(--space-large);
	}

	& p {
		color: var(--color-neutral-600);
		font-size: var(--font-size-xxxx-small);
		line-height: var(--line-height);
		margin-block-end: var(--space-medium);
	}

	& a {
		color: var(--color-brand);
		font-weight: 600;
	}
}

.about-image {
	aspect-ratio: 4 / 3;
	background-color: var(--color-neutral-200);
	border-radius: 8px;
	grid-area: auto;
	overflow: hidden;

	& img {
		height: 100%;
		object-fit: cover;
		width: 100%;
	}
}

/* #endregion */

/* #region Credentials */

.credential-section {
	padding-block: var(--space-xxx-large);
}

.credential-bonded {
	background-color: var(--color-background);
}

.credential-smartway {
	background-color: var(--color-neutral-100);
}

.credential-grid {
	align-items: center;
	display: grid;
	gap: var(--space-xx-large);

	@media (width >= 768px) {
		grid-template-columns: 1fr 2fr;
	}
}

.credential-grid-reverse {
	@media (width >= 768px) {
		grid-template-columns: 2fr 1fr;

		& .credential-badge {
			order: 2;
		}

		& .credential-content {
			order: 1;
		}
	}
}

.credential-badge {
	grid-area: auto;
	justify-self: center;

	& img {
		display: block;
		height: auto;
		width: 100%;
	}
}

.credential-content {
	grid-area: auto;

	& h2 {
		font-size: var(--font-size-large);
		font-weight: 700;
		letter-spacing: var(--letter-spacing-tight);
		line-height: 1.1;
		margin-block-end: var(--space-medium);
		text-wrap: balance;
	}

	& > p {
		color: var(--color-neutral-600);
		font-size: var(--font-size-xxxx-small);
		line-height: var(--line-height);
		margin-block-end: var(--space-large);
		text-wrap: balance;
	}
}

.credential-benefits {
	list-style: none;
	margin-block-end: var(--space-large);
	padding: 0;
	text-wrap: balance;

	& li {
		border-block-start: 1px solid var(--color-neutral-200);
		color: var(--color-neutral-600);
		font-size: var(--font-size-xxxx-small);
		line-height: var(--line-height);
		padding-block: var(--space-medium);

		& strong {
			color: var(--color-foreground);
		}
	}
}

/* #endregion */

/* #region Capabilities */

.capabilities {
	background-color: var(--color-neutral-900);
	color: var(--color-neutral-50);
	padding-block: var(--space-xxx-large);
}

.cap-grid {
	display: grid;
	gap: var(--space-large);
	grid-template-columns: 1fr;

	@media (width >= 768px) {
		grid-template-columns: repeat(2, 1fr);
	}

	@media (width >= 1024px) {
		grid-template-columns: repeat(2, 1fr);
	}
}

.cap-item {
	border-block-start: 1px solid var(--color-neutral-700);
	grid-area: auto;
	padding-block-start: var(--space-medium);

	& h4 {
		font-size: var(--font-size-xxx-small);
		font-weight: 700;
		letter-spacing: var(--letter-spacing);
		margin-block-end: var(--space-small);
	}

	& p {
		color: var(--color-neutral-400);
		font-size: var(--font-size-xxxx-small);
		line-height: var(--line-height);
	}
}

/* #endregion */

/* #region Careers */

.careers {
	padding-block: var(--space-xxx-large);
}

.jobs-grid {
	display: grid;
	gap: var(--space-large);

	@media (width >= 768px) {
		grid-template-columns: repeat(2, 1fr);
	}
}

.job-card {
	border: 1px solid var(--color-neutral-200);
	border-radius: 8px;
	grid-area: auto;
	padding: var(--space-large);
	transition: border-color var(--transition-slow);

	&:hover {
		border-color: var(--color-neutral-400);
	}
}

.job-header {
	margin-block-end: var(--space-small);

	& h3 {
		font-size: var(--font-size-medium);
		font-weight: 700;
		letter-spacing: var(--letter-spacing);
	}
}

.job-meta {
	color: var(--color-neutral-500);
	display: flex;
	font-size: var(--font-size-xxxx-small);
	gap: var(--space-medium);
	margin-block-start: 0.25em;
}

.job-summary {
	color: var(--color-neutral-600);
	font-size: var(--font-size-xxxx-small);
	line-height: var(--line-height);
	margin-block-end: var(--space-medium);
}

.job-details {
	margin-block-end: var(--space-medium);

	& summary {
		color: var(--color-brand);
		cursor: pointer;
		font-size: var(--font-size-xxxx-small);
		font-weight: 600;
	}
}

.job-details-content {
	color: var(--color-neutral-600);
	font-size: var(--font-size-xxxx-small);
	line-height: var(--line-height);
	padding-block-start: var(--space-medium);

	& h4 {
		color: var(--color-foreground);
		font-size: var(--font-size-xxxx-small);
		font-weight: 700;
		margin-block: var(--space-medium) var(--space-small);
	}

	& ul {
		padding-inline-start: 1.2em;
	}

	& li {
		margin-block-end: 0.25em;
	}
}

.job-apply-btn {
	width: 100%;
}

/* #endregion */

/* #region Footer */

.site-footer {
	background-color: var(--color-neutral-900);
	color: var(--color-neutral-400);
	padding-block: var(--space-xx-large);
}

.footer-inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--space-large);
	margin-inline: auto;
	max-width: 72rem;
	padding-inline: var(--space-large);
	text-align: center;
}

.footer-brand {
	& img {
		margin-inline: auto;
		width: 3.5rem;
	}

	& p {
		color: var(--color-neutral-500);
		font-size: var(--font-size-xxxx-small);
		margin-block-start: var(--space-small);
	}

	& a {
		color: var(--color-neutral-300);
	}
}

.footer-links {
	display: flex;
	gap: var(--space-large);

	& a {
		color: var(--color-neutral-400);
		font-size: var(--font-size-xxxx-small);
		text-decoration: none;
		transition: color var(--transition);

		&:hover {
			color: var(--color-neutral-200);
		}
	}
}

.footer-copy {
	color: var(--color-neutral-600);
	font-size: var(--font-size-xxxx-small);
}

/* #endregion */

/* #region Contact */

.contact {
	background-color: var(--color-neutral-100);
	padding-block: var(--space-xxx-large);
}

.contact-grid {
	display: grid;
	gap: var(--space-xx-large);

	@media (width >= 768px) {
		grid-template-columns: 1fr 1.2fr;
	}
}

.contact-info {
	grid-area: auto;

	& h2 {
		font-size: var(--font-size-x-large);
		font-weight: 700;
		letter-spacing: var(--letter-spacing-tight);
		line-height: 1.1;
		margin-block-end: var(--space-medium);
	}

	& p {
		color: var(--color-neutral-600);
		font-size: var(--font-size-xxxx-small);
		line-height: var(--line-height);
		margin-block-end: var(--space-medium);
	}

	& address {
		font-style: normal;
		margin-block-start: var(--space-large);

		& a {
			color: var(--color-brand);
			font-weight: 600;
		}
	}
}

.contact-form {
	grid-area: auto;
}

.form-group {
	margin-block-end: var(--space-medium);

	& label {
		color: var(--color-neutral-700);
		display: block;
		font-size: var(--font-size-xxxx-small);
		font-weight: 600;
		margin-block-end: 0.25em;

		& abbr {
			color: var(--color-red-500);
			text-decoration: none;
		}
	}

	& input,
	& textarea {
		background-color: var(--color-background);
		border: 1px solid var(--color-neutral-300);
		border-radius: 6px;
		color: var(--color-foreground);
		font-family: inherit;
		font-size: var(--font-size-xxxx-small);
		padding: 0.6em 0.8em;
		transition: border-color var(--transition);
		width: 100%;

		&:focus {
			border-color: var(--color-brand);
			outline: none;
		}

		&.is-invalid {
			border-color: var(--color-red-500);
		}
	}

	& textarea {
		resize: vertical;
	}
}

.form-error {
	color: var(--color-red-600);
	display: block;
	font-size: var(--font-size-xxxx-small);
	min-height: 1.2em;
}

.form-status {
	font-size: var(--font-size-xxxx-small);
	margin-block-start: var(--space-small);

	&.is-success {
		color: var(--color-green-700);
	}

	&.is-error {
		color: var(--color-red-600);
	}
}

.btn-submit {
	width: 100%;

	&:disabled {
		cursor: wait;
		opacity: 0.7;
	}
}

/* #endregion */

/* #region Animations */

[data-animate] {
	opacity: 0;
	transform: translateY(1.5rem);
	transition:
		opacity 0.6s ease,
		transform 0.6s ease;
}

[data-animate].is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* #endregion */
