@import url("https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz:400,300,200");

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: #D4D9DD url("halcyonic_images/bg00.jpg");
	color: #474f51;
	font-size: 13.5pt;
	font-family: 'Yanone Kaffeesatz';
	line-height: 1.85em;
	font-weight: 300;
	}
input, textarea, select
	{
	color: #474f51;
	font-size: 13.5pt;
	font-family: 'Yanone Kaffeesatz';
	line-height: 1.85em;
	font-weight: 300;
	}
ul, ol, p, dl
	{
	margin: 0 0 2em 0;
	}
a
	{
	text-decoration: underline;
	}
a:hover
	{
	text-decoration: none;
	}
section > :last-child, 	section:last-child, 	.last-child
	{
	margin-bottom: 0 !important;
	}
/* Container */
	.container
	{
	margin: 0 auto;
	max-width: 100%;
	width: 1200px;
	}
@media screen and (max-width: 1680px)
	{
	.container
		{
		width: 1200px;
		}
	}
@media screen and (max-width: 1280px)
	{
	.container
		{
		width: calc(100% - 40px);
		}
	}
@media screen and (max-width: 980px)
	{
	.container
		{
		width: calc(100% - 50px);
		}
	}
@media screen and (max-width: 736px)
	{
	.container
		{
		width: calc(100% - 40px);
		}
	}

/* =====================================================
   GRID LAYOUTS — замена старой системы .row / .col-*
   ===================================================== */

/* Header: лого слева, nav справа, выровнены по центру вертикали */
.header-inner
	{
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    min-height: 155px;
    padding: 20px 0;
    gap: 10px 20px;
	}
#nav
	{
	justify-self: end;
	}
.header-lang
	{
	align-self: center;
	justify-self: end;
	display: flex;
	align-items: center;
	}
.header-logo
	{
	align-self: center;
	}
.header-logo img
	{
	width: 80px;
	height: 80px;
	object-fit: contain;
	display: block;
	border: 0;
	}
.header-brand
	{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: center;
	}
.header-brand h1
	{
	font-size: 2.75em;
	color: #fff;
	line-height: 1;
	margin: 0;
	}
.header-brand p
	{
	color: rgba(255,255,255,0.75);
	font-size: 1em;
	line-height: 1.4;
	margin: 0;
	}

/* Features: 4 колонки → 2 на medium → 1 на small */
.features-grid
	{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
	}

/* Footer: 2/3 ссылки + 1/3 blurb */
.footer-grid
	{
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 25px;
	align-items: start;
	}

/* Ссылки внутри футера: 4 колонки */
.links-grid
	{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 15px;
	}

/* =====================================================
   АДАПТИВ
   ===================================================== */

/* ≤ 1280px — large */
@media screen and (max-width: 1280px)
	{
	.header-inner
		{
		min-height: 135px;
		}
	.header-brand h1
		{
		font-size: 2.25em;
		}
	}

/* ≤ 980px — medium: схлопываем в 1 колонку */
@media screen and (max-width: 980px)
	{
	.header-inner
		{
		grid-template-columns: 1fr;
		justify-items: center;
		align-items: center;
		text-align: center;
		padding-bottom: 20px;
		min-height: auto;
		}
	.lang-switcher
		{
		flex-direction: row;
		justify-content: center;
		}
	.features-grid
		{
		grid-template-columns: repeat(2, 1fr);
		}
	.footer-grid
		{
		grid-template-columns: 1fr;
		}
	/* blurb идёт первым на мобиле */
	.footer-blurb
		{
		order: -1;
		}
	.links-grid
		{
		grid-template-columns: repeat(2, 1fr);
		}
	}

/* ≤ 736px — small */
@media screen and (max-width: 736px)
	{
	.features-grid
		{
		grid-template-columns: 1fr;
		}
	.links-grid
		{
		grid-template-columns: 1fr;
		}
	}

/* Multi-use */
	.link-list li
	{
	padding: 0.2em 0 0.2em 0;
	}
.link-list li:first-child
	{
	padding-top: 0 !important;
	border-top: 0 !important;
	}
.link-list li:last-child
	{
	padding-bottom: 0 !important;
	border-bottom: 0 !important;
	}
.quote-list li
	{
	padding: 1em 0 1em 0;
	overflow: hidden;
	}
.quote-list li:first-child
	{
	padding-top: 0 !important;
	border-top: 0 !important;
	}
.quote-list li:last-child
	{
	padding-bottom: 0 !important;
	border-bottom: 0 !important;
	}
.quote-list li img
	{
	float: left;
	}
.quote-list li p
	{
	margin: 0 0 0 90px;
	font-size: 1.2em;
	font-style: italic;
	}
.quote-list li span
	{
	display: block;
	margin-left: 90px;
	font-size: 0.9em;
	font-weight: 400;
	}
.check-list li
	{
	padding: 0.7em 0 0.7em 45px;
	font-size: 1.2em;
	background: url("halcyonic_images/icon-checkmark.png") 0px 1.05em no-repeat;
	}
.check-list li:first-child
	{
	padding-top: 0 !important;
	border-top: 0 !important;
	background-position: 0 0.3em;
	}
.check-list li:last-child
	{
	padding-bottom: 0 !important;
	border-bottom: 0 !important;
	}
.feature-image
	{
	display: block;
	margin: 0 0 2em 0;
	outline: 0;
	}
.feature-image img
	{
	display: block;
	width: 100%;
	}
.bordered-feature-image
	{
	display: block;
	background: #fff url("halcyonic_images/bg01.png");
	padding: 10px;
	box-shadow: 3px 3px 3px 1px rgba(0, 0, 0, 0.15);
	margin: 0 0 1.5em 0;
	outline: 0;
	}
.bordered-feature-image img
	{
	display: block;
	width: 100%;
	}
.button-large
	{
	background-image: -moz-linear-gradient(top, #ed391b #A52A2A);
	background-image: -webkit-linear-gradient(top, #FA8072,#A52A2A);
	background-image: -ms-linear-gradient(top, #FA8072, #A52A2A);
	background-image: linear-gradient(top, #FA8072,#A52A2A);
	display: inline-block;
	background-color: #2E8B57;
	color: #fff;
	text-decoration: none;
	font-size: 1.75em;
	height: 2em;
	line-height: 2.125em;
	font-weight: 300;
	padding: 0 45px;
	outline: 0;
	border-radius: 10px;
	box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.75), inset 0px 2px 0px 0px rgba(255, 192, 192, 0.5), inset 0px 0px 0px 2px rgba(255, 96, 96, 0.85), 3px 3px 3px 1px rgba(0, 0, 0, 0.15);
	text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.5);
	}
.button-large:hover
	{
	background-image: -moz-linear-gradient(top, #2E8B57, #de2a10);
	background-image: -webkit-linear-gradient(top, #2E8B57, #de2a10);
	background-image: -ms-linear-gradient(top, #2E8B57, #de2a10);
	background-image: linear-gradient(top, #2E8B57, #de2a10);
	background-color: #2E8B57;
	box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.75), inset 0px 2px 0px 0px rgba(255, 192, 192, 0.5), inset 0px 0px 0px 2px rgba(255, 96, 96, 0.85), 3px 3px 3px 1px rgba(0, 0, 0, 0.15);
	}
.button-large:active
	{
	background-image: -moz-linear-gradient(top, #2E8B57, #ed391b);
	background-image: -webkit-linear-gradient(top, #2E8B57, #ed391b);
	background-image: -ms-linear-gradient(top, #2E8B57, #ed391b);
	background-image: linear-gradient(top, #2E8B57, #ed391b);
	background-color: #2E8B57;
	box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.75), inset 0px 2px 0px 0px rgba(255, 192, 192, 0.5), inset 0px 0px 0px 2px rgba(255, 96, 96, 0.85), 3px 3px 3px 1px rgba(0, 0, 0, 0.15);
	}
/* Header */
	#header
	{
	position: relative;
	background: #3B4346 url("halcyonic_images/bg01.jpg");
	border-bottom: solid 1px #272d30;
	box-shadow: inset 0px -1px 0px 0px #51575a;
	text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.75);
	}
#header > .container
	{
	}
#header h1
	{
	font-size: 2.75em;
	}
#header h1 a
	{
	color: #fff;
	text-decoration: none;
	}
#header nav
	{
	font-weight: 200;
	}
#header nav a
	{
	color: #c6c8c8;
	text-decoration: none;
	font-size: 1.4em;
	margin-left: 60px;
	outline: 0;
	}
#header nav a:hover
	{
	color: #f6f8f8;
	}
.subpage #header > .container
	{
	height: 155px;
	}
/* Banner */
	#banner
	{
	border-top: solid 1px #222628;
	box-shadow: inset 0px 1px 0px 0px #3e484a;
	padding: 35px 0 35px 0;
	color: #fff;
	}
#banner .bordered-feature-image
	{
	margin-bottom: 0;
	}
#banner p
	{
	font-size: 2em;
	font-weight: 200;
	line-height: 1.25em;
	padding-right: 1em;
	margin: 0 0 1em 0;
	}
/* Features */
	#features
	{
	background: #353D40 url("halcyonic_images/bg01.jpg");
	border-bottom: solid 1px #272e31;
	padding: 45px 0 45px 0;
	text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.75);
	color: #a0a8ab;
	}
#features h2
	{
	font-size: 1.25em;
	color: #fff;
	margin: 0 0 0.25em 0;
	}
#features a
	{
	color: #e0e8eb;
	}
#features strong
	{
	color: #fff;
	}
/* Content */
	#content
	{
	background: #f7f7f7 url("halcyonic_images/bg01.png");
	border-top: solid 1px #fff;
	padding: 10px 0 45px 0;
	}
#content section
	{
	background: #fff;
	padding: 40px 30px 45px 30px;
	box-shadow: 2px 2px 2px 1px rgba(128, 128, 128, 0.1);
	margin: 0 0 25px 0;
	}
.page-title
	{
	background: #4a5255;
	color: #fff;
	font-size: 1.6em;
	font-weight: 400;
	padding: 0.25em 30px;
	margin: -40px -30px 30px -30px;
	text-align: center;
	text-shadow: 1px 1px 2px #000, -1px -1px 2px rgba(255, 255, 255, 0.3);
	letter-spacing: 0.02em;
	border: 1px solid #fff;
	outline: 1px solid #4a5255;
	}
#content h2
	{
	font-size: 1.8em;
	color: #373f42;
	margin: 0 0 0.25em 0;
	}
#content h3
	{
	color: #96a9b5;
	font-size: 1.25em;
	}
#content a
	{
	color: #ED391B;
	}
#content header
	{
	margin: 0 0 2em 0;
	}
#content .quote-list li
	{
	border-bottom: solid 1px #e2e6e8;
	}
#content .link-list li
	{
	border-bottom: solid 1px #e2e6e8;
	}
#content .check-list li
	{
	border-bottom: solid 1px #e2e6e8;
	}
/* Footer */
	#footer
	{
	padding: 45px 0 45px 0;
	text-shadow: 1px 1px 1px white;
	color: #546b76;
	text-shadow: 1px 1px 0px rgba(255, 255, 255, 0.5);
	}
#footer h2
	{
	font-size: 1.25em;
	color: #212f35;
	margin: 0 0 1em 0;
	}
#footer a
	{
	color: #546b76;
	}
#footer .quote-list li
	{
	border-top: solid 1px #e0e4e6;
	border-bottom: solid 1px #b5bec3;
	}
#footer .link-list li
	{
	border-top: solid 1px #e0e4e6;
	border-bottom: solid 1px #b5bec3;
	}
#footer .check-list li
	{
	border-top: solid 1px #e0e4e6;
	border-bottom: solid 1px #b5bec3;
	}
/* Copyright */
	#copyright
	{
	border-top: solid 1px #b5bec3;
	box-shadow: inset 0px 1px 0px 0px #e0e4e7;
	text-align: center;
	padding: 45px 0 80px 0;
	color: #8d9ca3;
	text-shadow: 1px 1px 0px rgba(255, 255, 255, 0.5);
	}
#copyright a
	{
	color: #8d9ca3;
	}
/* Large */
	@media screen and (max-width: 1280px)
	{
	/* Multi-use */
				.check-list li
		{
		font-size: 1em;
		line-height: 2em;
		}
	.quote-list li
		{
		padding: 1em 0 1em 0;
		}
	.quote-list li img
		{
		width: 60px;
		}
	.quote-list li p
		{
		margin: 0 0 0 80px;
		font-size: 1em;
		font-style: italic;
		line-height: 1.8em;
		}
	.quote-list li span
		{
		display: block;
		margin-left: 80px;
		font-size: 0.8em;
		font-weight: 400;
		line-height: 1.8em;
		}
	.feature-image
		{
		margin: 0 0 1em 0;
		}
	.button-large
		{
		font-size: 1.5em;
		}
	/* Banner */
				#banner p
		{
		font-size: 1.75em;
		}
	/* Header */
				#header h1
		{
		font-size: 2.25em;
		}
	#header nav a
		{
		font-size: 1.1em;
		}
	/* Content */
				#content h2
		{
		font-size: 1.4em;
		}
	#content h3
		{
		font-size: 1.1em;
		}
	#content header
		{
		margin: 0 0 1.25em 0;
		}
	}
/* Medium */
	#navPanel, #titleBar
	{
	display: none;
	}
@media screen and (max-width: 980px)
	{
	/* Basic */
				html, body
		{
		overflow-x: hidden;
		}
	/* Header */
				#header
		{
		text-align: center;
		}
	#titleBar .title
		{
		display: none;
		}
	#nav
		{
		display: none;
		}
	#features
		{
		display: none;
		}
	/* Content */
				#content
		{
		padding: 25px 0;
		}
	/* Nav */
				#page-wrapper
		{
		-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;
		padding-top: 44px;
		}
	#titleBar
		{
		-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: 44px;
		left: 0;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 10001;
		color: #fff;
		background: url("halcyonic_images/bg01.jpg");
		box-shadow: inset 0px -20px 70px 0px rgba(200, 220, 245, 0.1), inset 0px -1px 0px 0px rgba(255, 255, 255, 0.1), 0px 1px 7px 0px rgba(0, 0, 0, 0.6);
		text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.75);
		}
	#titleBar .title
		{
		display: block;
		text-align: center;
		font-size: 1.2em;
		font-weight: 400;
		line-height: 48px;
		}
	#titleBar .toggle
		{
		position: absolute;
		left: 0;
		top: 0;
		width: 80px;
		height: 60px;
		}
	#titleBar .toggle:after
		{
		content: '';
		display: block;
		position: absolute;
		top: 6px;
		left: 6px;
		color: #fff;
		background: rgba(255, 255, 255, 0.025);
		box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 0.1), inset 0px 0px 0px 1px rgba(255, 255, 255, 0.05), inset 0px -8px 10px 0px rgba(0, 0, 0, 0.15), 0px 1px 2px 0px rgba(0, 0, 0, 0.25);
		text-shadow: -1px -1px 1px black;
		width: 49px;
		height: 31px;
		border-radius: 8px;
		}
	#titleBar .toggle:before
		{
		content: '';
		position: absolute;
		width: 20px;
		height: 30px;
		background: url("halcyonic_images/mobileUI-site-nav-opener-bg.svg");
		top: 15px;
		left: 20px;
		z-index: 1;
		opacity: 0.25;
		}
	#titleBar .toggle:active:after
		{
		background: rgba(255, 255, 255, 0.05);
		}
	#navPanel
		{
		-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;
		display: block;
		height: 100%;
		left: 0;
		overflow-y: auto;
		position: fixed;
		top: 0;
		width: 275px;
		z-index: 10002;
		background: url("halcyonic_images/bg01.jpg");
		box-shadow: inset -1px 0px 0px 0px rgba(255, 255, 255, 0.25), inset -2px 0px 25px 0px rgba(0, 0, 0, 0.5);
		text-shadow: -1px -1px 1px black;
		}
	#navPanel .link
		{
		display: block;
		color: #fff;
		text-decoration: none;
		font-size: 1.25em;
		line-height: 2em;
		padding: 0.625em 1.5em 0.325em 1.5em;
		border-top: solid 1px #373d40;
		border-bottom: solid 1px rgba(0, 0, 0, 0.4);
		}
	#navPanel .link:first-child
		{
		border-top: 0;
		}
	#navPanel .link:last-child
		{
		border-bottom: 0;
		}
	body.navPanel-visible #page-wrapper
		{
		-moz-transform: translateX(275px);
		-webkit-transform: translateX(275px);
		-ms-transform: translateX(275px);
		transform: translateX(275px);
		}
	body.navPanel-visible #titleBar
		{
		-moz-transform: translateX(275px);
		-webkit-transform: translateX(275px);
		-ms-transform: translateX(275px);
		transform: translateX(275px);
		}
	body.navPanel-visible #navPanel
		{
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
		}
	}
/* Small */
	@media screen and (max-width: 736px)
	{
	/* Basic */
				body, input, textarea, select
		{
		font-size: 13pt;
		line-height: 1.4em;
		}
	/* Multi-use */
				.link-list li
		{
		padding: 0.75em 0 0.75em 0;
		}
	.quote-list li p
		{
		margin-bottom: 0.5em;
		}
	.check-list li
		{
		font-size: 1em;
		}
	.button-large
		{
		width: 100%;
		}
	/* Banner */
				#banner p
		{
		font-size: 1.25em;
		font-weight: 200;
		line-height: 1.25em;
		margin: 0 0 1em 0;
		}
	/* Content */
				#content section
		{
		padding: 30px 20px;
		}
	#content h2
		{
		font-size: 1.25em;
		}
	#content h3
		{
		font-size: 1em;
		}
	#content header
		{
		margin: 0 0 1.25em 0;
		}
	/* Footer */
				#footer .link-list
		{
		margin: 0 0 10px 0 !important;
		}
	/* Copyright */
				#copyright
		{
		padding: 20px 30px;
		}
	}
/* для сайта KUBNIX.COM */
.custom_01
	{
	width: 100vw;
	margin-left: calc(50% - 50vw);
	}
.section_box input
	{
	display: none;
	}
.section_box input:checked ~ .content_box
	{
	display: block;
	}
.section_box .content_box
	{
	display: none;
	padding: 10px;
	border: 1px solid #ccc;
	}
label
	{
	display: block;
	cursor: pointer;
	padding: 8px;
	background: #eee;
	margin-top: 5px;
	}
/* === LANG SWITCHER === */
.lang-switcher
{
    display: flex;
    flex-direction: row;
    gap: 10px;
}
.lang-btn
	{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 7px;
	width: 72px;
	height: 34px;
	padding: 0 10px;
	border-radius: 6px;
	text-decoration: none;
	font-size: 1em;
	font-weight: 400;
	letter-spacing: 0.05em;
	color: rgba(255,255,255,0.5);
	background: rgba(255,255,255,0.07);
	border: 1px solid rgba(255,255,255,0.1);
	transition: background 0.2s, color 0.2s;
	}
.lang-btn:hover
	{
	background: rgba(255,255,255,0.15);
	color: #fff;
	text-decoration: none;
	}
.lang-btn.active
	{
	background: rgba(255,255,255,0.18);
	color: #fff;
	border-color: rgba(255,255,255,0.3);
	font-weight: 400;
	}
.lang-btn img
	{
	width: 24px;
	height: 16px;
	object-fit: cover;
	border-radius: 2px;
	flex-shrink: 0;
	}
/* логотип */
.header-logo
{
    grid-column: 1;
    grid-row: 1;
}

/* бренд */
.header-brand
{
    grid-column: 2;
    grid-row: 1;
}

/* меню */
#nav
{
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
}

/* языки — ВНИЗ */
.header-lang
{
    grid-column: 1 / -1; /* на всю ширину */
    grid-row: 2;
    display: flex;
    justify-content: center; /* или flex-end если справа */
    margin-top: 5px;
}

/* === CONTACT FORM === */
.contact-layout
	{
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 40px;
	align-items: start;
	}
.contact-image
	{
	width: 100%;
	height: auto;
	display: block;
	border-radius: 6px;
	}
.contact-form
	{
	display: flex;
	flex-direction: column;
	gap: 12px;
	}
.contact-form label
	{
	display: block;
	font-size: 1em;
	font-weight: 400;
	color: #474f51;
	margin-bottom: 2px;
	background: none;
	padding: 0;
	margin-top: 0;
	cursor: default;
	}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea
	{
	width: 100%;
	padding: 8px 12px;
	border: 1px solid #c8cfd2;
	border-radius: 4px;
	background: #fff;
	font-size: 1em;
	color: #474f51;
	}
.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form textarea:focus
	{
	outline: none;
	border-color: #8d9ca3;
	box-shadow: 0 0 0 2px rgba(141,156,163,0.2);
	}
.contact-form textarea
	{
	min-height: 120px;
	resize: vertical;
	}
.contact-form button[type="submit"]
	{
	align-self: flex-start;
	background: #3B4346;
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 10px 28px;
	font-size: 1.1em;
	font-family: 'Yanone Kaffeesatz';
	font-weight: 300;
	cursor: pointer;
	transition: background 0.2s;
	}
.contact-form button[type="submit"]:hover
	{
	background: #51575a;
	}
@media screen and (max-width: 736px)
	{
	.contact-layout
		{
		grid-template-columns: 1fr;
		}
	}
.contact-right
	{
	display: flex;
	flex-direction: column;
	gap: 0;
	}

.kb-section
	{
	background: #f0efeb;
	padding: 2rem 1.5rem;
	}

.kb-header
	{
	background: #4a4a4a;
	color: #fff;
	text-align: center;
	font-size: 13px;
	letter-spacing: 0.08em;
	padding: 10px;
	margin-bottom: 1.5rem;
	}

.kb-grid
	{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	}

.kb-card
	{
	border: 1px solid #b0aea8;
	padding: 1.5rem;
	background: #f0efeb;
	display: flex;
	flex-direction: column;
	}

.kb-card-title
	{
	font-size: 15px;
	font-weight: 500;
	color: #5a8fa0;
	margin: 0 0 0.75rem;
	}

.kb-card-body
	{
	font-size: 13px;
	color: #444;
	line-height: 1.6;
	margin: 0;
	}

.kb-vs
	{
	display: inline-block;
	background: #e0ddd8;
	color: #666;
	font-size: 11px;
	padding: 1px 6px;
	border-radius: 3px;
	margin-bottom: 0.5rem;
	}

table
	{
	border-collapse: collapse;
	}
td, th
	{
	border: 1px solid #ccc; padding: 6px;
	}

#content p
	{
	margin-bottom: 0.8em;
	}

hr
	{
	width: 80%;
	margin-top: 20px;
	margin-bottom: 20px;
	margin-left: auto;
	margin-right: auto;
	}
	
