
@font-face {
	font-family: Roboto;
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/roboto-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
		U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
		U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: Roboto;
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/roboto-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
		U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
		U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
		U+A720-A7FF;
}

:root {
	--primary:   #1D3557;	--secondary: #44CCDDE4;	--text:      #4A4A48;	--accent:    #F1A208;	--light:     #E2E2E2;	--border:    #D5D8DC;	--font-arial:  Arial, sans-serif;
	--font-roboto: Roboto, sans-serif;
	--font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
	               "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

* { box-sizing: border-box; }

body {
	margin: 0;
	background: #fff;
	color: #333;
	font-family: var(--font-system);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	scroll-behavior: smooth;
}

img { max-width: 100%; height: auto; }

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

.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	padding: 16px 20px;
	background: #fff;
	box-shadow: 0 0 5px rgba(29, 53, 87, 1);
}

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

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1140px;
	min-height: 68px;	margin: 0 auto;
}

.site-logo img { width: 80px; height: auto; display: block; }

.site-nav ul {
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav a {
	display: block;
	padding: 8px 15px;
	border-radius: 3px;
	background: var(--primary);
	color: #fff;
	text-decoration: none;
	opacity: .8;
}

.site-nav a:hover { opacity: 1; }

.nav-toggle { display: none; }

.site-nav-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	margin-top: 10px;
	max-height: 0;
	overflow: hidden;
	transform: scaleY(0);
	transform-origin: top;
	transition: max-height .3s, transform .3s;
	z-index: 10000;
}

.site-nav-dropdown.open { max-height: 100vh; transform: scaleY(1); }

.site-nav-dropdown ul {
	margin: 0;
	padding: 0;
	list-style: none;
	background: #fff;
}

.site-nav-dropdown a {
	display: block;
	padding: 20px;
	background: #fff;
	color: #55595c;
	text-decoration: none;
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .102);
}

.site-nav-dropdown a[aria-current="page"] { background: #55595c; color: #fff; }

.prehero { height: 120px; }

.section {
	position: relative;
	padding: 0 10px;
}

.section-inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 1140px;
	margin: 0 auto;
	padding: 10px 0;
}

.spacer     { height: 100px; }
.spacer--50 { height: 50px; }

.section-title {
	margin: 0;
	color: var(--primary);
	font-family: var(--font-arial);
	font-size: 32px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

.section:nth-of-type(even) { background: var(--primary); color: var(--light); }
.section:nth-of-type(even) .section-title { color: var(--light); }

.section:nth-of-type(even)::before,
.section:nth-of-type(even)::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 45px;
	background: var(--i-shape) no-repeat;
	background-size: 100% 100%;
	pointer-events: none;
}

.section:nth-of-type(even)::before { top: -1px; }
.section:nth-of-type(even)::after  { bottom: -1px; transform: rotate(180deg); }

.hero {
	display: flex;
	min-height: 60vh;
	max-width: 1140px;
	margin: 0 auto;
	padding-top: 20px;
}

.hero-media {
	width: 50%;
	padding: 10px;
}

.hero-media img { display: block; width: 100%; }

.hero-info {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 50%;
	padding: 20px;
}

.hero-info h2 {
	margin: 0;
	color: #333;
	font-family: var(--font-roboto);
	font-size: 32px;
	font-weight: 600;
	line-height: 1;
}

.hero-info ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hero-info li {
	display: flex;
	align-items: center;
	padding-bottom: 5px;
	color: #111;
	font-family: var(--font-arial);
	font-size: 22px;
	line-height: 1.5;
}

.hero-info li + li { margin-top: 5px; }
.hero-info li:last-child { padding-bottom: 0; }

.hero-info li svg {
	flex-shrink: 0;
	width: 25px;
	height: 25px;
	margin-right: 10px;	fill: var(--primary);
}

.hero-info p { margin: 0; }

.btn {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 3px;
	background: var(--primary);
	color: #fff;
	font-family: var(--font-arial);
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	text-decoration: none;
}

.btn--block { display: block; }

.acc { width: 100%; }

.acc summary {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px;
	border: 1px solid var(--border);
	color: #1F2124;
	cursor: pointer;
	list-style: none;}

.acc summary::-webkit-details-marker { display: none; }

.acc summary .acc-title {
	font-size: 22px;
	line-height: 1.5;
}

.acc > summary::before {
	content: "";
	flex-shrink: 0;
	width: 13.125px;
	height: 15px;
	background: currentColor;
	-webkit-mask: var(--i-plus) center / contain no-repeat;
	        mask: var(--i-plus) center / contain no-repeat;
}

.acc[open] > summary::before {
	-webkit-mask-image: var(--i-minus);
	        mask-image: var(--i-minus);
}

.acc-content {
	padding: 10px;
	border: 1px solid var(--border);
}

.section:nth-of-type(even) .acc summary { color: var(--light); }

.acc-content p,
.acc-content ul {
	margin: 0;
	font-family: var(--font-arial);
	font-size: 16px;
	line-height: 1.5;
}

.acc-content p { margin-bottom: .9em; }

.section:nth-of-type(even) .acc-content p,
.section:nth-of-type(even) .acc-content ul { color: var(--light); }

img.emoji {
	display: inline;
	width: 1em;
	height: 1em;
	margin: 0 .07em;
	vertical-align: -.1em;
	border: none;
}

.acc-content ul { padding-left: 40px; color: #2A2A2A; }
.acc-content li { margin: 0; }

.qs-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	padding: 10px;}

.qs-grid img { display: block; width: 100%; }

.qs-info {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 10px;
}

.qs-info h2 {
	margin: 0;
	color: var(--primary);
	font-family: var(--font-arial);
	font-size: 32px;
	font-weight: 600;
	line-height: 1;
}

.qs-info p {
	margin: 0 0 .9em;
	color: var(--text);
	font-family: var(--font-arial);
	font-size: 16px;
	line-height: 1.5;
}

.section:nth-of-type(even) .qs-info h2,
.section:nth-of-type(even) .qs-info p { color: var(--light); }


.contact-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin: 80px 0;
	padding: 10px;
}

.contact-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 10%;
	background: var(--primary);
}

.contact-icon svg {
	width: 25px;
	height: 25px;
	fill: #fff;
}

:root {
	--i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E");
	--i-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E");
	--i-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M738,99l262-93V0H0v5.6L738,99z'/%3E%3C/svg%3E");
}

.col-1  { width: 8.333%; }
.col-2  { width: 16.667%; }
.col-3  { width: 25%; }
.col-4  { width: 33.333%; }
.col-5  { width: 41.667%; }
.col-6  { width: 50%; }
.col-7  { width: 58.333%; }
.col-8  { width: 66.667%; }
.col-9  { width: 75%; }
.col-10 { width: 83.333%; }
.col-11 { width: 91.667%; }
.col-12 { width: 100%; }
img[class*="col-"] { height: auto; max-width: 100%; }

.img-left   { display: block; margin: 0 auto 0 0; }
.img-center { display: block; margin: 0 auto; }
.img-right  { display: block; margin: 0 0 0 auto; }
.img-inline-left  { float: left;  margin: 0 1em 1em 0; max-width: 100%; height: auto; }
.img-inline-right { float: right; margin: 0 0 1em 1em; max-width: 100%; height: auto; }

.cards {
	display: flex;
	flex-wrap: wrap;
	max-width: 1140px;
	margin: 0 auto;
}

.card {
	display: flex;
	flex-direction: column;
	width: 33.333%;
	padding: 0 10px;
	margin-bottom: 20px;
}

.card::after { content: ""; height: 20px; margin-top: auto; }

.card a { text-decoration: none; }

.card img {
	display: block;
	width: 100%;
	height: 180px;
	object-fit: cover;
	border-radius: 3px;}

.card h3 {
	margin: 12px 0 0;
	color: var(--primary);
	font-family: var(--font-arial);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
}

.card h3 a { color: inherit; }

.card p {
	margin: 8px 0 0;
	color: var(--text);
	font-family: var(--font-arial);
	font-size: 16px;
	line-height: 1.5;
}

.legal {
	max-width: 1160px;
	margin: 0 auto;
	padding: 160px 10px 10px;
	color: var(--text);
	font-family: var(--font-arial);
	font-size: 16px;
	line-height: 1.5;
}

.legal h1 { display: none; }

.legal h2 {
	margin: 8px 0 16px;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.2;
}

.legal p { margin: 0 0 .9em; }

.site-footer {
	padding: 16px 0;
	background: var(--primary);
}

.site-footer ul {
	display: flex;
	justify-content: flex-end;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.site-footer a {
	display: block;
	padding: 5px 15px;
	color: var(--light);
	font-size: 12px;
	text-decoration: none;
}


@media (max-width: 1024px) {
	.container,
	.section-inner,
	.header-inner,
	.hero,
	.site-footer ul { max-width: 1024px; }

	.card { width: 50%; }

	.site-nav { display: none; }

	.nav-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 8px 15px;
		padding: 8px;
		border: 0;
		border-radius: 3px;
		background: rgba(0, 0, 0, .05);
		color: #494c4f;
		cursor: pointer;
	}

	.nav-toggle-icon { display: block; width: 1.25rem; }

	.nav-toggle-icon::before,
	.nav-toggle-icon::after {
		content: "";
		display: block;
		height: 3px;
		border-radius: 3px;
		background: currentColor;
		transition: all .2s ease-in-out;
	}

	.nav-toggle-icon::before {
		margin-bottom: .5rem;
		box-shadow: 0 .35rem 0 currentColor;
	}

	.nav-toggle[aria-expanded="true"] .nav-toggle-icon::before {
		box-shadow: none;
		transform: translateY(.35rem) rotate(45deg);
	}

	.nav-toggle[aria-expanded="true"] .nav-toggle-icon::after {
		transform: translateY(-.35rem) rotate(-45deg);
	}
}

@media (min-width: 1025px) {
	.site-nav-dropdown { display: none; }
}

@media (max-width: 1024px) and (min-width: 768px) {
	.site-footer ul { max-width: 600px; }
}

@media (max-width: 767px) {
	.header-inner { padding: 0 10px; }

	.prehero { height: 100px; }

	.legal { padding-top: 110px; }

	.hero { flex-wrap: wrap; }
	.hero-media,
	.hero-info { width: 100%; }

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

	.card { width: 100%; }

	.site-footer ul { justify-content: center; }
}

.lightbox-link {
	display: block;
	cursor: zoom-in;}

.lightbox {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(14, 14, 14, 0.9);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.lightbox.open { opacity: 1; }

.lightbox[hidden] { display: none; }

.lightbox-img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	cursor: default;
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}

.lightbox-close {
	position: absolute;
	top: 12px;
	right: 20px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 36px;
	line-height: 1;
	cursor: pointer;
}

.lightbox-close:hover,
.lightbox-close:focus-visible { color: var(--accent); }

@media (prefers-reduced-motion: reduce) {
	.lightbox { transition: none; }
}
