:root {
	--navy-950: #081f2b;
	--navy-900: #0e2a3b;
	--navy-800: #15394b;
	--green-500: #31c36c;
	--green-400: #4bd47e;
	--green-100: #dff7e8;
	--sand-100: #f3f1ea;
	--off-white: #f8f8f6;
	--white: #ffffff;
	--ink: #102c3b;
	--muted: #63737c;
	--line: rgba(14, 42, 59, 0.14);
	--shadow: 0 24px 70px rgba(8, 31, 43, 0.12);
	--radius-sm: 8px;
	--radius-md: 18px;
	--radius-lg: 30px;
	--shell: min(1180px, calc(100% - 48px));
	--display: "Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif;
	--body: "Inter", "Segoe UI", Helvetica, Arial, sans-serif;
}

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

html {
	scroll-behavior: smooth;
	scroll-padding-top: 104px;
}

body {
	margin: 0;
	background: var(--off-white);
	color: var(--ink);
	font-family: var(--body);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

body.nav-open {
	overflow: hidden;
}

img,
svg {
	display: block;
	max-width: 100%;
}

a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

button,
input,
textarea {
	font: inherit;
}

h1,
h2,
h3,
p {
	margin-top: 0;
}

h1,
h2,
h3 {
	font-family: var(--display);
	letter-spacing: -0.035em;
	line-height: 1.08;
}

h1 {
	font-size: clamp(3.7rem, 7vw, 6.7rem);
	font-weight: 650;
}

h2 {
	font-size: clamp(2.35rem, 4.2vw, 4.35rem);
	font-weight: 650;
}

h3 {
	font-size: clamp(1.25rem, 1.8vw, 1.6rem);
	font-weight: 650;
}

::selection {
	background: var(--green-500);
	color: var(--navy-950);
}

:focus-visible {
	outline: 3px solid var(--green-500);
	outline-offset: 4px;
}

.shell {
	width: var(--shell);
	margin-inline: auto;
}

.skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 9999;
	padding: 10px 16px;
	background: var(--white);
	color: var(--navy-950);
	transform: translateY(-160%);
}

.skip-link:focus {
	transform: translateY(0);
}

.eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
	color: var(--green-500);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.2;
	text-transform: uppercase;
}

.eyebrow::before {
	width: 28px;
	height: 2px;
	background: currentColor;
	content: "";
}

.eyebrow--light {
	color: var(--green-400);
}

.lead {
	color: var(--ink);
	font-size: clamp(1.08rem, 1.6vw, 1.3rem);
	line-height: 1.65;
}

.button {
	display: inline-flex;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	padding: 14px 25px;
	border: 0;
	border-radius: var(--radius-sm);
	cursor: pointer;
	font-size: 0.93rem;
	font-weight: 750;
	line-height: 1;
	text-decoration: none;
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease;
}

.button:hover {
	transform: translateY(-2px);
}

.button--green {
	background: var(--green-500);
	color: var(--navy-950);
}

.button--green:hover {
	background: var(--green-400);
}

.button--navy {
	background: var(--navy-900);
	color: var(--white);
}

.button--navy:hover {
	background: var(--navy-800);
}

.button--light {
	background: var(--white);
	color: var(--navy-950);
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--navy-900);
	font-weight: 750;
	text-decoration: none;
}

.text-link .icon {
	width: 19px;
	transition: transform 180ms ease;
}

.text-link:hover .icon {
	transform: translateX(4px);
}

.text-link--light {
	color: var(--white);
}

.icon {
	width: 24px;
	height: 24px;
	flex: 0 0 auto;
}

.topbar {
	position: relative;
	z-index: 50;
	background: var(--navy-950);
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.78rem;
}

.topbar__inner,
.topbar__details,
.topbar__social {
	display: flex;
	align-items: center;
}

.topbar__inner {
	min-height: 42px;
	justify-content: space-between;
	gap: 24px;
}

.topbar__details {
	gap: 26px;
}

.topbar__social {
	gap: 16px;
}

.topbar__social a {
	text-decoration: none;
}

.topbar__social a:hover {
	color: var(--green-400);
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	border-bottom: 1px solid rgba(14, 42, 59, 0.08);
	background: rgba(248, 248, 246, 0.94);
	backdrop-filter: blur(16px);
}

.site-header__inner {
	display: flex;
	min-height: 88px;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--navy-900);
	line-height: 1;
	text-decoration: none;
}

.brand__mark {
	width: 46px;
	height: 46px;
	color: var(--green-500);
}

.brand__text {
	display: grid;
	gap: 3px;
}

.brand__text strong {
	font-family: var(--display);
	font-size: 0.95rem;
	letter-spacing: 0.08em;
}

.brand__text small {
	color: var(--green-500);
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.24em;
}

.brand__custom-logo {
	width: auto;
	max-width: 176px;
	height: 62px;
	object-fit: contain;
}

.brand__image {
	display: block;
	width: auto;
	height: 70px;
	object-fit: contain;
}

.brand--inverse {
	color: var(--white);
}

.primary-nav {
	display: flex;
	align-items: center;
	gap: clamp(18px, 2.2vw, 34px);
}

.primary-nav > a:not(.button) {
	position: relative;
	font-size: 0.88rem;
	font-weight: 720;
	text-decoration: none;
}

.primary-nav > a:not(.button)::after {
	position: absolute;
	right: 0;
	bottom: -8px;
	left: 0;
	height: 2px;
	background: var(--green-500);
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 180ms ease;
}

.primary-nav > a:not(.button):hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

.primary-nav__cta {
	min-height: 46px;
	padding-inline: 20px;
}

.nav-toggle {
	display: none;
	align-items: center;
	gap: 12px;
	padding: 8px;
	border: 0;
	background: transparent;
	color: var(--navy-900);
	cursor: pointer;
	font-weight: 750;
}

.nav-toggle__lines {
	display: grid;
	width: 25px;
	gap: 5px;
}

.nav-toggle__lines i {
	display: block;
	height: 2px;
	background: currentColor;
	transition: transform 180ms ease, opacity 180ms ease;
}

.hero {
	position: relative;
	min-height: min(820px, calc(100svh - 130px));
	overflow: hidden;
	background-color: var(--navy-900);
	background-image:
		linear-gradient(105deg, rgba(8, 31, 43, 0.96) 0%, rgba(14, 42, 59, 0.76) 48%, rgba(49, 195, 108, 0.35) 100%),
		var(--section-image, radial-gradient(circle at 80% 30%, #1d7a63 0%, #0e2a3b 55%, #081f2b 100%));
	background-position: center;
	background-size: cover;
	color: var(--white);
}

.hero::after {
	position: absolute;
	right: -12%;
	bottom: -38%;
	width: 760px;
	height: 760px;
	border: 1px solid rgba(75, 212, 126, 0.32);
	border-radius: 50%;
	box-shadow: 0 0 0 90px rgba(75, 212, 126, 0.045), 0 0 0 180px rgba(75, 212, 126, 0.035);
	content: "";
}

.hero__veil {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 65%, rgba(8, 31, 43, 0.52));
}

.hero__inner {
	position: relative;
	z-index: 2;
	display: grid;
	min-height: inherit;
	align-items: center;
	grid-template-columns: minmax(0, 1fr) 290px;
	gap: 80px;
	padding-block: 100px;
}

.hero__copy {
	max-width: 830px;
}

.hero h1 {
	max-width: 900px;
	margin-bottom: 28px;
}

.hero__lead {
	max-width: 680px;
	margin-bottom: 38px;
	color: rgba(255, 255, 255, 0.8);
	font-size: clamp(1.04rem, 1.5vw, 1.24rem);
}

.hero__actions {
	display: flex;
	align-items: center;
	gap: 26px;
}

.hero__signals {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 38px;
}

.hero__signals > span {
	display: flex;
	align-items: center;
	gap: 8px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.hero__signal-icon {
	width: 30px;
	height: 30px;
	object-fit: contain;
}

.hero__note {
	align-self: end;
	margin-bottom: 8px;
	padding: 26px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--radius-md);
	background: rgba(8, 31, 43, 0.44);
	backdrop-filter: blur(12px);
}

.hero__note-number {
	display: block;
	margin-bottom: 28px;
	color: var(--green-400);
	font-family: var(--display);
	font-size: 2.4rem;
	font-weight: 700;
}

.hero__note p {
	margin: 0;
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.9rem;
}

.section {
	padding-block: clamp(90px, 11vw, 150px);
}

.section--light {
	background: var(--off-white);
}

.section--sand {
	background: var(--sand-100);
}

.section--navy {
	background: var(--navy-900);
	color: var(--white);
}

.section-heading--split {
	display: grid;
	align-items: start;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 0.8fr);
	gap: clamp(60px, 10vw, 140px);
}

.section-heading h2 {
	max-width: 680px;
	margin-bottom: 0;
}

.section-heading__copy {
	padding-top: 44px;
	color: var(--muted);
}

.section-heading__copy p:last-of-type {
	margin-bottom: 26px;
}

.section-heading--inverse .section-heading__copy {
	color: rgba(255, 255, 255, 0.62);
}

.section-heading--inverse .lead {
	color: rgba(255, 255, 255, 0.88);
}

.feature-grid {
	display: grid;
	margin-top: 90px;
	border-top: 1px solid var(--line);
	border-left: 1px solid var(--line);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.feature-card {
	min-height: 330px;
	padding: clamp(28px, 3vw, 42px);
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	transition: background-color 180ms ease, transform 180ms ease;
}

.feature-card:hover {
	position: relative;
	z-index: 2;
	background: var(--white);
	box-shadow: var(--shadow);
	transform: translateY(-6px);
}

.feature-card__icon {
	display: grid;
	width: 58px;
	height: 58px;
	margin-bottom: 46px;
	border-radius: 50%;
	background: var(--green-100);
	color: var(--green-500);
	place-items: center;
}

.feature-card__icon img {
	width: 31px;
	height: 31px;
	object-fit: contain;
}

.feature-card h3 {
	margin-bottom: 18px;
}

.feature-card p {
	margin: 0;
	color: var(--muted);
	font-size: 0.94rem;
}

.why__grid,
.leadership__grid {
	display: grid;
	align-items: stretch;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
	gap: clamp(54px, 8vw, 110px);
}

.photo-panel {
	position: relative;
	min-height: 650px;
	overflow: hidden;
	border-radius: var(--radius-lg);
	background-color: var(--navy-800);
	background-image:
		linear-gradient(155deg, rgba(14, 42, 59, 0.16), rgba(14, 42, 59, 0.76)),
		var(--section-image, radial-gradient(circle at 25% 20%, #3d9b71, #15394b 55%, #0e2a3b));
	background-position: center;
	background-size: cover;
	box-shadow: var(--shadow);
}

.why__quote {
	position: absolute;
	right: 26px;
	bottom: 26px;
	left: 26px;
	padding: 28px;
	border-radius: var(--radius-md);
	background: rgba(8, 31, 43, 0.88);
	color: var(--white);
	backdrop-filter: blur(12px);
}

.why__quote .icon {
	margin-bottom: 24px;
	color: var(--green-400);
}

.why__quote p {
	margin: 0;
	font-family: var(--display);
	font-size: clamp(1.25rem, 2vw, 1.7rem);
	font-weight: 600;
	line-height: 1.45;
}

.why__content {
	align-self: center;
}

.why__content h2 {
	margin-bottom: 28px;
}

.why__content .lead {
	margin-bottom: 34px;
	color: var(--muted);
}

.check-list {
	display: grid;
	gap: 17px;
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
}

.check-list li {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	font-weight: 650;
}

.check-list .icon {
	width: 20px;
	height: 20px;
	margin-top: 4px;
	color: var(--green-500);
}

.stats {
	background: var(--green-500);
	color: var(--navy-950);
}

.stats__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stat {
	display: grid;
	min-height: 260px;
	align-content: center;
	padding: 44px;
	border-right: 1px solid rgba(8, 31, 43, 0.2);
}

.stat:last-child {
	border-right: 0;
}

.stat strong {
	font-family: var(--display);
	font-size: clamp(3.3rem, 6vw, 5.7rem);
	font-weight: 680;
	letter-spacing: -0.06em;
	line-height: 1;
}

.stat span {
	max-width: 210px;
	margin-top: 18px;
	font-size: 0.9rem;
	font-weight: 720;
	line-height: 1.45;
}

.vision .section-heading {
	margin-bottom: 80px;
}

.solution-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.solution-card {
	overflow: hidden;
	border-radius: var(--radius-md);
	background: var(--white);
	color: var(--ink);
	transition: transform 180ms ease;
}

.solution-card:hover {
	transform: translateY(-8px);
}

.solution-card__image {
	height: 290px;
	background-color: var(--navy-800);
	background-image:
		linear-gradient(145deg, rgba(49, 195, 108, 0.1), rgba(8, 31, 43, 0.7)),
		var(--section-image, radial-gradient(circle at 70% 25%, #34a270, #15394b 55%, #081f2b));
	background-position: center;
	background-size: cover;
}

.solution-card:nth-child(2) .solution-card__image {
	background-image:
		linear-gradient(145deg, rgba(49, 195, 108, 0.08), rgba(8, 31, 43, 0.72)),
		var(--section-image, radial-gradient(circle at 30% 25%, #5d8191, #15394b 55%, #081f2b));
}

.solution-card:nth-child(3) .solution-card__image {
	background-image:
		linear-gradient(145deg, rgba(49, 195, 108, 0.08), rgba(8, 31, 43, 0.72)),
		var(--section-image, radial-gradient(circle at 65% 30%, #82784f, #15394b 55%, #081f2b));
}

.solution-card__body {
	padding: 32px;
}

.solution-card__body .eyebrow {
	margin-bottom: 16px;
}

.solution-card__body h3 {
	min-height: 3.4em;
	margin-bottom: 18px;
}

.solution-card__body p:last-child {
	margin: 0;
	color: var(--muted);
}

.leadership__grid {
	grid-template-columns: minmax(360px, 0.78fr) minmax(0, 1fr);
}

.leadership__photo {
	min-height: 660px;
	background-position: center top;
}

.leadership__copy {
	align-self: center;
}

.leadership__copy h2 {
	margin-bottom: 8px;
}

.leadership__role {
	margin-bottom: 30px;
	color: var(--green-500);
	font-size: 1.1rem;
	font-weight: 750;
}

.leadership__copy .lead {
	max-width: 650px;
	margin-bottom: 44px;
	color: var(--muted);
}

.leadership blockquote {
	max-width: 620px;
	margin: 0;
	padding: 28px 0 0 34px;
	border-top: 1px solid var(--line);
	border-left: 3px solid var(--green-500);
	color: var(--navy-900);
	font-family: var(--display);
	font-size: 1.35rem;
	font-weight: 560;
	line-height: 1.55;
}

.section--contact {
	background: var(--sand-100);
}

.contact__heading {
	max-width: 760px;
	margin: 0 auto 80px;
	text-align: center;
}

.contact__heading .eyebrow {
	justify-content: center;
}

.contact__heading h2 {
	margin-bottom: 24px;
}

.contact__heading > p:last-child {
	max-width: 650px;
	margin-inline: auto;
	color: var(--muted);
	font-size: 1.08rem;
}

.contact__grid {
	display: grid;
	align-items: start;
	grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1fr);
	gap: clamp(50px, 8vw, 110px);
}

.contact__reasons {
	display: grid;
}

.contact-reason {
	display: grid;
	padding-block: 30px;
	border-bottom: 1px solid var(--line);
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 24px;
}

.contact-reason:first-child {
	padding-top: 0;
}

.contact-reason > span {
	display: grid;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--navy-900);
	color: var(--green-400);
	place-items: center;
}

.contact-reason h3 {
	margin: 2px 0 10px;
	font-size: 1.18rem;
}

.contact-reason p {
	margin: 0;
	color: var(--muted);
	font-size: 0.94rem;
}

.contact-card {
	padding: clamp(34px, 5vw, 58px);
	border-radius: var(--radius-lg);
	background: var(--navy-900);
	box-shadow: var(--shadow);
	color: var(--white);
}

.contact-card > h3 {
	margin-bottom: 12px;
	font-size: 1.9rem;
}

.contact-card > p {
	margin-bottom: 34px;
	color: rgba(255, 255, 255, 0.64);
}

.contact-card > p a {
	color: var(--white);
}

.contact-form {
	display: grid;
	gap: 9px;
}

.contact-form label {
	margin-top: 12px;
	color: var(--green-400);
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.contact-form input,
.contact-form textarea {
	width: 100%;
	padding: 12px 2px;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 0;
	background: transparent;
	color: var(--white);
	outline: 0;
}

.contact-form input:focus,
.contact-form textarea:focus {
	border-color: var(--green-400);
}

.contact-form textarea {
	resize: vertical;
}

.contact-form .button {
	justify-self: start;
	margin-top: 22px;
}

.form-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.form-notice {
	margin-bottom: 22px;
	padding: 12px 15px;
	border: 1px solid #ffc36c;
	border-radius: var(--radius-sm);
	background: rgba(255, 195, 108, 0.12);
	font-size: 0.9rem;
}

.form-notice--success {
	border-color: var(--green-400);
	background: rgba(75, 212, 126, 0.12);
}

.site-footer {
	background: var(--navy-950);
	color: rgba(255, 255, 255, 0.68);
}

.site-footer__main {
	display: grid;
	min-height: 430px;
	align-items: start;
	padding-block: 85px;
	grid-template-columns: minmax(0, 1.35fr) 0.7fr 0.9fr;
	gap: 70px;
}

.site-footer__about {
	max-width: 410px;
}

.site-footer__about .brand {
	margin-bottom: 36px;
}

.site-footer__about p {
	margin-bottom: 15px;
}

.site-footer__about strong {
	color: var(--white);
}

.site-footer h2 {
	margin-bottom: 28px;
	color: var(--white);
	font-size: 1rem;
	letter-spacing: 0;
}

.site-footer__nav,
.site-footer__contact {
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.site-footer__nav a,
.site-footer__contact a {
	text-decoration: none;
}

.site-footer__nav a:hover,
.site-footer__contact a:hover,
.site-footer__legal a:hover {
	color: var(--green-400);
}

.site-footer address {
	margin-top: 12px;
	font-style: normal;
}

.site-footer__legal {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer__legal-inner {
	display: flex;
	min-height: 74px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	font-size: 0.78rem;
}

.site-footer__legal p {
	margin: 0;
}

.content-page,
.error-page .shell {
	max-width: 850px;
}

.content-page > article > h1,
.error-page h1 {
	font-size: clamp(2.7rem, 5vw, 4.8rem);
}

@media (max-width: 1050px) {
	:root {
		--shell: min(100% - 40px, 920px);
	}

	.topbar__details span:last-child {
		display: none;
	}

	.nav-toggle {
		display: flex;
	}

	.site-header {
		background: var(--off-white);
		backdrop-filter: none;
	}

	.primary-nav {
		position: fixed;
		top: 130px;
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		align-content: start;
		gap: 0;
		padding: 36px 24px;
		background: var(--off-white);
		opacity: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
		pointer-events: none;
		transform: translateY(-18px);
		visibility: hidden;
		transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;
	}

	.primary-nav.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
		transition-delay: 0s;
	}

	.primary-nav > a:not(.button) {
		padding-block: 17px;
		border-bottom: 1px solid var(--line);
		font-size: 1.15rem;
	}

	.primary-nav > a:not(.button)::after {
		display: none;
	}

	.primary-nav__cta {
		margin-top: 28px;
		justify-self: start;
	}

	.nav-open .nav-toggle__lines i:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.nav-open .nav-toggle__lines i:nth-child(2) {
		opacity: 0;
	}

	.nav-open .nav-toggle__lines i:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.hero__inner {
		grid-template-columns: 1fr;
	}

	.hero__note {
		display: none;
	}

	.feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.why__grid,
	.leadership__grid {
		grid-template-columns: 1fr 1fr;
		gap: 45px;
	}

	.solution-grid {
		gap: 18px;
	}

	.solution-card__body {
		padding: 25px;
	}

	.contact__grid {
		grid-template-columns: 1fr 1fr;
		gap: 45px;
	}
}

@media (max-width: 780px) {
	:root {
		--shell: calc(100% - 32px);
	}

	html {
		scroll-padding-top: 82px;
	}

	.topbar {
		display: none;
	}

	.site-header__inner {
		min-height: 78px;
	}

	.primary-nav {
		top: 78px;
	}

	.brand__mark {
		width: 40px;
		height: 40px;
	}

	.hero {
		min-height: calc(100svh - 78px);
	}

	.hero__inner {
		align-items: end;
		padding-block: 100px 68px;
	}

	.hero h1 {
		font-size: clamp(3.15rem, 15vw, 5.2rem);
	}

	.hero__actions {
		align-items: flex-start;
		flex-direction: column;
		gap: 20px;
	}

	.section-heading--split,
	.why__grid,
	.leadership__grid,
	.contact__grid {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.section-heading__copy {
		padding-top: 0;
	}

	.feature-grid {
		margin-top: 60px;
		grid-template-columns: 1fr;
	}

	.feature-card {
		min-height: 0;
	}

	.feature-card__icon {
		margin-bottom: 32px;
	}

	.photo-panel,
	.leadership__photo {
		min-height: 520px;
	}

	.why__visual {
		order: 2;
	}

	.stats__grid,
	.solution-grid {
		grid-template-columns: 1fr;
	}

	.stat {
		min-height: 205px;
		border-right: 0;
		border-bottom: 1px solid rgba(8, 31, 43, 0.2);
	}

	.stat:last-child {
		border-bottom: 0;
	}

	.solution-card__body h3 {
		min-height: 0;
	}

	.contact__reasons {
		order: 2;
	}

	.contact-card {
		order: 1;
	}

	.site-footer__main {
		min-height: 0;
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__about {
		grid-column: 1 / -1;
	}
}

@media (max-width: 520px) {
	:root {
		--shell: calc(100% - 28px);
	}

	body {
		font-size: 15px;
	}

	.nav-toggle__label {
		display: none;
	}

	.hero h1 {
		font-size: clamp(2.85rem, 14vw, 4rem);
	}

	.section {
		padding-block: 78px;
	}

	.feature-card,
	.stat,
	.solution-card__body,
	.contact-card {
		padding: 28px;
	}

	.photo-panel,
	.leadership__photo {
		min-height: 430px;
	}

	.why__quote {
		right: 16px;
		bottom: 16px;
		left: 16px;
		padding: 22px;
	}

	.contact-reason {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 18px;
	}

	.contact-reason > span {
		width: 48px;
		height: 48px;
	}

	.site-footer__main {
		grid-template-columns: 1fr;
		gap: 44px;
		padding-block: 65px;
	}

	.site-footer__about {
		grid-column: auto;
	}

	.site-footer__legal-inner {
		align-items: flex-start;
		justify-content: center;
		padding-block: 22px;
		flex-direction: column;
		gap: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
