:root {
	--a1: #f9f9f9; /* color5 */
	--a2: #d1e0cd; /* color4 */
	--g1: #5c9e55; /* color1 */
	--g2: #88b581; /* color2 */
	--g3: #92bc8f; /* color3 */
	--ink: #20391d; /* тёмный для хорошей читаемости */
	--mw: 1200px;
	--sh: 0 20px 40px rgba(158, 85, 120, 0.06);
}

html {
	scroll-behavior: smooth;
}
* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--a1);
	color: var(--ink);
	font-family:
		Inter,
		system-ui,
		Segoe UI,
		Roboto,
		Arial,
		sans-serif;
	line-height: 1.5;
	max-width: 100vw;
	overflow-x: hidden;
}

.t-90311 {
	position: sticky;
	top: 0;
	z-index: 50;
	backdrop-filter: saturate(120%) blur(8px);
	background: linear-gradient(
		180deg,
		rgba(249, 249, 249, 0.85),
		rgba(249, 249, 249, 0.55)
	);
}

.t-90311 .ct {
	max-width: var(--mw);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.85rem 1rem;
	border-bottom: 1px solid #e0e0cd;
}

.t-90311 .br {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	text-decoration: none;
}

.t-90311 .lg {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	display: grid;
	place-items: center;
	background: conic-gradient(from 90deg, var(--g1), var(--g3));
}

.t-90311 .lg svg {
	width: 24px;
	height: 24px;
}
.t-90311 .nm {
	font-weight: 700;
	color: var(--g1);
}

nav.n-22 a {
	color: var(--ink);
	text-decoration: none;
	padding: 0.5rem 0.75rem;
	border-radius: 10px;
}

nav.n-22 a:hover {
	background: var(--a2);
}

.bg {
	display: none;
	position: relative;
	width: 40px;
	height: 40px;
	border: none;
	background: 0 0;
	cursor: pointer;
}

.bg span,
.bg::after,
.bg::before {
	content: '';
	position: absolute;
	left: 9px;
	right: 9px;
	height: 2px;
	background: var(--ink);
	top: 19px;
	transition: 0.3s;
}

.bg::before {
	top: 12px;
}
.bg::after {
	top: 26px;
}
.bg.is-open span {
	opacity: 0;
}
.bg.is-open::before {
	transform: translateY(7px) rotate(45deg);
}
.bg.is-open::after {
	transform: translateY(-7px) rotate(-45deg);
}

.mov {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(158, 85, 120, 0.7);
	backdrop-filter: blur(6px);
	z-index: 40;
}

.mov nav {
	background: var(--a1);
	border-top-left-radius: 18px;
	border-top-right-radius: 18px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 1rem;
}

main {
	min-height: 100vh;
}

.wrap {
	max-width: var(--mw);
	margin: 0 auto;
	padding: 2.2rem 1rem;
}

.ttl {
	font-size: clamp(2rem, 3.5vw, 2.6rem);
	color: var(--g1);
	margin: 0 0 0.6rem;
}

.meta {
	color: var(--g2);
	margin: 0 0 1.2rem;
}

.card {
	background: #fff;
	border: 1px solid #e0e0cd;
	border-radius: 18px;
	box-shadow: var(--sh);
	padding: 1.2rem;
}

.card h2 {
	margin: 1.2rem 0 0.4rem;
	color: var(--g1);
	font-size: 1.25rem;
}

.card h3 {
	margin: 1rem 0 0.4rem;
	color: var(--g3);
	font-size: 1.05rem;
}

.card p {
	margin: 0.6rem 0;
}
.card ul {
	margin: 0.4rem 0 0.6rem 1.2rem;
}

footer {
	border-top: 1px solid #e0e0cd;
	background: var(--a2);
}

.f {
	max-width: var(--mw);
	margin: 0 auto;
	padding: 1rem;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}

[role='button'],
a,
button {
	cursor: pointer;
}

@media (max-width: 900px) {
	.bg {
		display: block;
	}
	nav.n-22 {
		display: none;
	}
}

.elem--inl-378f8e {
	opacity: 0.85;
}
.elem--inl-a5fdbc {
	display: flex;
	gap: 1rem;
}
