:root {
	--font-primary: Arial, Helvetica, sans-serif;

	--color-primary: #0d3b66;
	--color-secondary: #1c78b5;
	--color-accent: #e9f4fa;

	--color-text: #1c2630;
	--color-muted: #606b74;
	--color-white: #ffffff;
	--color-border: #e5e7eb;

	--container-width: 1200px;

	--radius-small: 6px;
	--radius-medium: 12px;
	--radius-large: 20px;
}


/* Reset */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--font-primary);
	font-size: 16px;
	line-height: 1.6;
	color: var(--color-text);
	background: var(--color-white);
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input,
textarea,
select {
	font: inherit;
}


/* Container */

.container {
	width: min(
		calc(100% - 40px),
		var(--container-width)
	);
	margin-inline: auto;
}


/* Accessibility */

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed;
	top: 10px;
	left: 10px;
	width: auto;
	height: auto;
	padding: 12px 20px;
	margin: 0;
	clip: auto;
	background: #000;
	color: #fff;
	z-index: 99999;
}


/* Header */

.site-header {
	position: relative;
	background: #fff;
	border-bottom: 1px solid var(--color-border);
	z-index: 100;
}

.site-header__inner {
	min-height: 84px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.site-header__logo img {
	max-height: 58px;
	width: auto;
}

.site-header__name {
	font-size: 24px;
	font-weight: 700;
	color: var(--color-primary);
}

.primary-menu {
	display: flex;
	align-items: center;
	gap: 32px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.primary-menu a {
	font-weight: 500;
	transition: color 0.2s ease;
}

.primary-menu a:hover,
.primary-menu .current-menu-item > a {
	color: var(--color-secondary);
}


/* Buttons */

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	border-radius: var(--radius-small);
	font-weight: 600;
	cursor: pointer;
}

.button--primary {
	background: var(--color-primary);
	color: #fff;
}


/* Footer */

.site-footer {
	padding: 64px 0 24px;
	background: #071d2d;
	color: #fff;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 50px;
}

.footer-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu li + li {
	margin-top: 10px;
}

.site-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	margin-top: 50px;
	padding-top: 24px;
	border-top: 1px solid rgba(255,255,255,0.15);
	font-size: 14px;
}