/*
Theme Name: newTheme
Author: Linara
Version: 1.0
*/

:root {
	--bg: #f7f2e8;
	--bg-soft: #fbf8f3;
	--white: #ffffff;
	--text: #1c2b26;
	--muted: #66756f;
	--line: rgba(28, 43, 38, 0.08);

	--green: #2e5b4f;
	--green-deep: #183b33;
	--gold: #d7a94b;
	--berry: #8b4d5d;

	--shadow-lg: 0 30px 80px rgba(21, 39, 33, 0.14);
	--shadow-md: 0 18px 40px rgba(21, 39, 33, 0.10);

	--radius-xl: 34px;
	--radius-lg: 26px;
	--radius-md: 18px;
	--radius-sm: 14px;

	--transition: .35s ease;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: 'Manrope', sans-serif;
	color: var(--text);
	background:
		radial-gradient(circle at 12% 14%, rgba(215, 169, 75, 0.10), transparent 18%),
		radial-gradient(circle at 88% 8%, rgba(122, 183, 201, 0.10), transparent 22%),
		linear-gradient(180deg, #faf6ef 0%, #f7f2e8 100%);
	background: var(--bg);
	overflow-x: hidden;
}

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

a {
	text-decoration: none;
	color: inherit;
	transition: var(--transition);
}

.section-pad {
	padding: 110px 0;
	position: relative;
}

.container {
	position: relative;
	z-index: 2;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* HEADER */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	padding: 18px 0;
	transition: var(--transition);
}

.site-header.is-scrolled {
	padding: 10px 0;
}

.header-blur {
	position: absolute;
	inset: 0;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	background: rgba(255, 248, 237, 0.30);
	border-bottom: 1px solid rgba(255,255,255,0.24);
	opacity: 0;
	transition: var(--transition);
}

.site-header.is-scrolled .header-blur {
	opacity: 1;
}

.header-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-left: 24px;
	padding-right: 24px;
}

.site-branding {
	display: flex;
	align-items: center;
	gap: 14px;
}

.brand-image {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.brand-crest img {
	width: 56px;
	height: auto;
	object-fit: contain;
}

.brand-logo img {
	width: 72px;
	height: auto;
	object-fit: contain;
}

.brand-text {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}

.brand-subtitle {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .14em;
	color: rgba(255,255,255,0.88);
	font-weight: 700;
}

.brand-title {
	font-size: 28px;
	font-weight: 800;
	color: #fff;
}

.site-header.is-scrolled .brand-subtitle {
	color: var(--muted);
}

.site-header.is-scrolled .brand-title {
	color: var(--green-deep);
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.header-phone,
.header-accessibility,
.nav-toggle {
	height: 48px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 16px;
	background: rgba(255,255,255,0.14);
	color: #fff;
	border: 1px solid rgba(255,255,255,0.22);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	font-weight: 700;
}

.site-header.is-scrolled .header-phone,
.site-header.is-scrolled .header-accessibility,
.site-header.is-scrolled .nav-toggle {
	background: rgba(255,255,255,0.78);
	color: var(--green-deep);
	border-color: rgba(28, 43, 38, 0.08);
}

.header-phone {
	gap: 10px;
}

.header-accessibility {
	width: 48px;
	padding: 0;
}

.nav-toggle {
	width: 48px;
	padding: 0;
	flex-direction: column;
	gap: 5px;
	border: none;
	cursor: pointer;
}

.nav-toggle span {
	width: 20px;
	height: 2px;
	background: currentColor;
	display: block;
	border-radius: 10px;
}

/* MOBILE MENU */
.mobile-menu-box {
	position: fixed;
	inset: 0;
	background: rgba(16, 28, 24, 0.35);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	opacity: 0;
	visibility: hidden;
	transition: .3s ease;
	z-index: 1200;
}

.mobile-menu-box.is-open {
	opacity: 1;
	visibility: visible;
}

.mobile-menu-inner {
	position: absolute;
	top: 0;
	right: 0;
	width: min(420px, 100%);
	height: 100%;
	background: linear-gradient(180deg, #fff8ef 0%, #f6efe2 100%);
	box-shadow: -20px 0 60px rgba(0,0,0,0.18);
	padding: 28px 24px;
	transform: translateX(100%);
	transition: .35s ease;
	overflow-y: auto;
}

.mobile-menu-box.is-open .mobile-menu-inner {
	transform: translateX(0);
}

.mobile-menu-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
}

.mobile-menu-title {
	font-size: 28px;
	font-weight: 800;
	color: var(--green-deep);
	line-height: 1;
}

.mobile-menu-subtitle {
	margin-top: 8px;
	font-size: 13px;
	color: var(--muted);
}

.mobile-menu-close {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: none;
	background: rgba(46, 91, 79, 0.08);
	color: var(--green-deep);
	font-size: 18px;
}

.mobile-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 10px;
}

.mobile-menu li a {
	display: block;
	padding: 16px 18px;
	border-radius: 18px;
	background: rgba(255,255,255,0.65);
	color: var(--green-deep);
	font-size: 16px;
	font-weight: 700;
	border: 1px solid rgba(28,43,38,0.05);
}

.mobile-menu li a:hover {
	transform: translateX(4px);
	background: #fff;
}

body.menu-open {
	overflow: hidden;
}

/* HERO */
.hero-section {
	position: relative;
	min-height: 100vh;
	padding: 150px 0 90px;
	display: flex;
	align-items: center;
	overflow: hidden;
	color: #fff;
}

.hero-media,
.hero-overlay {
	position: absolute;
	inset: 0;
}

.hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(1.06) contrast(1.01);
}

.hero-media img {
	transform: scale(1.08);
	transition: transform 1s ease;
}

.hero-overlay {
	background:
		linear-gradient(110deg, rgba(24, 53, 47, 0.30) 8%, rgba(33, 73, 63, 0.14) 42%, rgba(255,255,255,0.02) 100%),
		linear-gradient(180deg, rgba(16, 28, 24, 0.05) 0%, rgba(16, 28, 24, 0.14) 100%);
}

.hero-gradient,
.hero-line,
.hero-dot {
	position: absolute;
	z-index: 1;
	pointer-events: none;
}

.hero-gradient {
	border-radius: 50%;
	filter: blur(12px);
	opacity: .9;
}

.hero-gradient-1 {
	width: 420px;
	height: 420px;
	top: 8%;
	right: 5%;
	background: radial-gradient(circle, rgba(255,178,76,.34) 0%, rgba(255,178,76,0) 70%);
}

.hero-gradient-2 {
	width: 320px;
	height: 320px;
	bottom: 14%;
	right: 18%;
	background: radial-gradient(circle, rgba(79,190,225,.24) 0%, rgba(79,190,225,0) 70%);
}

.hero-gradient-3 {
	width: 260px;
	height: 260px;
	top: 18%;
	left: 48%;
	background: radial-gradient(circle, rgba(255,90,120,.14) 0%, rgba(255,90,120,0) 70%);
}

.hero-line {
	border: 1px solid rgba(255,255,255,0.26);
	border-radius: 999px;
}

.hero-line-1 {
	width: 540px;
	height: 540px;
	right: -120px;
	top: 70px;
	transform: rotate(-10deg);
}

.hero-line-2 {
	width: 340px;
	height: 340px;
	right: 40px;
	bottom: 60px;
	transform: rotate(14deg);
}

.hero-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: rgba(255,255,255,0.75);
	box-shadow: 0 0 0 12px rgba(255,255,255,0.08);
	animation: pulseDot 3s ease-in-out infinite;
}

.hero-dot-1 {
	top: 23%;
	right: 28%;
}

.hero-dot-2 {
	top: 54%;
	right: 14%;
	animation-delay: 1s;
}

.hero-dot-3 {
	bottom: 24%;
	right: 32%;
	animation-delay: 2s;
}

@keyframes pulseDot {
	0%, 100% {
		transform: scale(1);
		opacity: .8;
	}
	50% {
		transform: scale(1.15);
		opacity: 1;
	}
}

.hero-content {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) 360px;
	gap: 34px;
	align-items: center;
}

.hero-topline {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 22px;
}

.hero-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 999px;
	background: rgba(255,255,255,0.16);
	border: 1px solid rgba(255,255,255,0.22);
	backdrop-filter: blur(10px);
	font-size: 14px;
	font-weight: 700;
}

.hero-copy h1 {
	font-size: clamp(44px, 6vw, 88px);
	line-height: .95;
	font-weight: 800;
	max-width: 820px;
	margin: 0 0 22px;
	letter-spacing: -0.04em;
	text-shadow: 0 8px 22px rgba(0,0,0,0.12);
}

.hero-text {
	font-size: 19px;
	line-height: 1.75;
	max-width: 670px;
	color: rgba(255,255,255,0.95);
	margin: 0 0 30px;
	text-shadow: 0 4px 16px rgba(0,0,0,0.10);
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 28px;
}

.btn-hero {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 24px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .01em;
}

.btn-hero-primary {
	background: linear-gradient(135deg, var(--gold) 0%, #e6bb69 100%);
	color: #2d2412;
	box-shadow: 0 16px 40px rgba(215, 169, 75, 0.32);
}

.btn-hero-primary:hover {
	transform: translateY(-2px);
	color: #2d2412;
}

.btn-hero-secondary {
	background: rgba(255,255,255,0.12);
	color: #fff;
	border: 1px solid rgba(255,255,255,0.24);
	backdrop-filter: blur(8px);
}

.btn-hero-secondary:hover {
	background: rgba(255,255,255,0.18);
	color: #fff;
}

.hero-search {
	max-width: 620px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px;
	padding: 10px;
	border-radius: 26px;
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.15);
	backdrop-filter: blur(10px);
}

.hero-search input {
	height: 56px;
	border: 0;
	outline: 0;
	padding: 0 20px;
	border-radius: 18px;
	font-size: 15px;
	background: rgba(255,255,255,0.92);
	color: var(--text);
}

.hero-search button {
	height: 56px;
	padding: 0 24px;
	border: 0;
	border-radius: 18px;
	background: var(--green-deep);
	color: #fff;
	font-weight: 800;
}

.hero-decor-side {
	position: relative;
	height: 420px;
}

.hero-badge {
	position: absolute;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 16px 20px;
	border-radius: 999px;
	background: rgba(255,255,255,0.18);
	border: 1px solid rgba(255,255,255,0.22);
	backdrop-filter: blur(12px);
	box-shadow: 0 18px 44px rgba(23, 41, 36, 0.12);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	animation: badgeFloat 5s ease-in-out infinite;
}

.hero-badge-icon {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255,255,255,0.18);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.hero-badge-top {
	top: 40px;
	right: 10px;
}

.hero-badge-middle {
	top: 160px;
	left: 10px;
	animation-delay: 1.2s;
}

.hero-badge-bottom {
	bottom: 50px;
	right: 0;
	animation-delay: 2.2s;
}

@keyframes badgeFloat {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-8px);
	}
}

.hero-bottom-wave {
	position: absolute;
	left: -5%;
	right: -5%;
	bottom: -70px;
	height: 160px;
	background: var(--bg);
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	z-index: 1;
}

/* SECTION HEAD */
.section-head {
	max-width: 780px;
	margin-bottom: 44px;
}

.section-head.center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.section-kicker {
	display: inline-block;
	margin-bottom: 14px;
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(46, 91, 79, 0.08);
	color: var(--green);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .14em;
}

.section-head h2 {
	font-size: clamp(34px, 4vw, 58px);
	line-height: 1.03;
	font-weight: 800;
	margin: 0 0 16px;
	letter-spacing: -0.03em;
	color: var(--green-deep);
}

.section-head p {
	font-size: 17px;
	line-height: 1.8;
	color: var(--muted);
	margin: 0;
}

/* PORTAL GRID */
.portal-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.portal-card {
	position: relative;
	min-height: 220px;
	padding: 28px;
	border-radius: 30px;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(32, 41, 37, 0.14);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border: 1px solid rgba(255,255,255,0.45);
	transition: .35s ease;
}

.portal-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0));
	mix-blend-mode: screen;
}

.portal-card::after {
	content: "";
	position: absolute;
	width: 220px;
	height: 220px;
	right: -70px;
	top: -70px;
	border-radius: 50%;
	background: rgba(255,255,255,0.15);
}

.portal-card:hover {
	transform: translateY(-8px) scale(1.015);
}

.portal-icon {
	position: relative;
	z-index: 2;
	width: 64px;
	height: 64px;
	border-radius: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.22);
	font-size: 28px;
	color: #fff;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.14);
}

.portal-title,
.portal-arrow {
	position: relative;
	z-index: 2;
	color: #fff;
}

.portal-title {
	font-size: 26px;
	font-weight: 800;
	line-height: 1.1;
	max-width: 250px;
	text-shadow: 0 4px 14px rgba(0,0,0,0.10);
}

.portal-arrow {
	font-size: 22px;
}

.portal-gold { background: linear-gradient(135deg, #d39d2e 0%, #eac67c 100%); }
.portal-emerald { background: linear-gradient(135deg, #28584d 0%, #4f8c7b 100%); }
.portal-sun { background: linear-gradient(135deg, #cf7f2c 0%, #e7b862 100%); }
.portal-berry { background: linear-gradient(135deg, #7f4254 0%, #b56b7b 100%); }
.portal-sky { background: linear-gradient(135deg, #4a8b9f 0%, #79b8c9 100%); }
.portal-terracotta { background: linear-gradient(135deg, #a55e3d 0%, #ce8967 100%); }
.portal-violet { background: linear-gradient(135deg, #5a4a76 0%, #8b79b2 100%); }
.portal-ocean { background: linear-gradient(135deg, #23617a 0%, #4fa0bf 100%); }
.portal-forest { background: linear-gradient(135deg, #355f35 0%, #6f9d69 100%); }
.portal-sand { background: linear-gradient(135deg, #b8945d 0%, #d9bf8f 100%); }
.portal-night { background: linear-gradient(135deg, #243248 0%, #506789 100%); }
.portal-mint { background: linear-gradient(135deg, #41856f 0%, #7dbf9d 100%); }

/* HOME NEWS */
.news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) 1.1fr;
	gap: 22px;
	align-items: stretch;
}

.news-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: 30px;
	overflow: hidden;
	background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(255,255,255,0.88) 100%);
	border: 1px solid rgba(28, 43, 38, 0.06);
	box-shadow: 0 20px 55px rgba(28, 43, 38, 0.10);
	transition: .35s ease;
}

.news-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 28px 70px rgba(28, 43, 38, 0.14);
}

.news-card-image {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #e9e3d7;
}

.news-card-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.02) 0%, rgba(0,0,0,0.14) 100%);
	pointer-events: none;
}

.news-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .65s ease;
}

.news-card:hover .news-card-image img {
	transform: scale(1.07);
}

.news-card-date--overlay {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(255,255,255,0.20);
	color: #fff;
	border: 1px solid rgba(255,255,255,0.24);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	box-shadow: 0 8px 20px rgba(0,0,0,0.10);
}

.news-card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 24px 24px 22px;
}

.news-card-cat {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	align-self: flex-start;
	margin-bottom: 14px;
	padding: 8px 12px;
	border-radius: 999px;
	background: linear-gradient(135deg, rgba(215,169,75,0.12), rgba(46,91,79,0.08));
	color: var(--green);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.news-card-title {
	margin: 0 0 14px;
	font-size: 24px;
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.news-card-title a {
	color: var(--green-deep);
}

.news-card-title a:hover {
	color: var(--berry);
}

.news-card-excerpt {
	color: var(--muted);
	font-size: 15px;
	line-height: 1.8;
	margin-bottom: 20px;
}

.news-card-footer {
	margin-top: auto;
	padding-top: 4px;
}

.news-card-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 800;
	color: var(--berry);
}

.news-card-link i {
	transition: transform .3s ease;
}

.news-card:hover .news-card-link i {
	transform: translateX(4px);
}

.news-highlight-card {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 100%;
	border-radius: 30px;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgba(24, 39, 34, 0.16), rgba(24, 39, 34, 0.62)),
		linear-gradient(135deg, #2a8fa8 0%, #5f7f59 50%, #d79d3f 100%);
	box-shadow: 0 24px 60px rgba(28, 43, 38, 0.16);
}

.news-highlight-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at top right, rgba(255,255,255,0.20), transparent 30%),
		radial-gradient(circle at bottom left, rgba(255,255,255,0.12), transparent 24%);
}

.news-highlight-inner {
	position: relative;
	z-index: 2;
	padding: 32px;
	color: #fff;
}

.news-highlight-label {
	display: inline-block;
	margin-bottom: 18px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,0.18);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
}

.news-highlight-inner h3 {
	font-size: 34px;
	line-height: 1.05;
	margin-bottom: 14px;
	font-weight: 800;
}

.news-highlight-inner p {
	font-size: 16px;
	line-height: 1.8;
	color: rgba(255,255,255,0.88);
	margin-bottom: 20px;
}

.news-highlight-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 800;
	color: #fff;
}

.news-empty,
.empty-block {
	padding: 30px;
	border-radius: 20px;
	background: rgba(255,255,255,0.72);
	border: 1px solid rgba(28,43,38,0.05);
	color: var(--muted);
}

.cookie-button {
    margin: 0 0 0 10px;
    display: inline-block;
    background: linear-gradient(135deg, var(--gold) 0%, #e6bb69 100%);
    color: #2d2412;
    box-shadow: 0 16px 40px rgba(215, 169, 75, 0.32);
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 24px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .01em;
    border: none!important;
}

/* cat-news */
.category-news {
	padding: 0 0 120px;
	position: relative;
}

.category-news-top {
	position: relative;
	min-height: 560px;
	padding: 150px 0 90px;
	margin-bottom: 42px;
	overflow: hidden;
	color: #fff;
}

.category-news-media,
.category-news-top-overlay {
	position: absolute;
	inset: 0;
}

.category-news-media {
	transform: translate3d(0, 0, 0) scale(1.08);
	will-change: transform;
}

.category-news-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.category-news-top-overlay {
	background:
		linear-gradient(180deg, rgba(14, 25, 22, 0.58) 0%, rgba(18, 35, 31, 0.32) 24%, rgba(18, 35, 31, 0.18) 54%, rgba(247,242,232,0.86) 100%),
		linear-gradient(110deg, rgba(21,44,38,0.42) 0%, rgba(21,44,38,0.08) 46%, rgba(255,255,255,0.02) 100%);
}

.category-news-top-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(14px);
	pointer-events: none;
}

.category-news-top-glow.glow-1 {
	width: 340px;
	height: 340px;
	top: 12%;
	right: 8%;
	background: radial-gradient(circle, rgba(215,169,75,0.26) 0%, rgba(215,169,75,0) 70%);
}

.category-news-top-glow.glow-2 {
	width: 260px;
	height: 260px;
	bottom: 18%;
	left: 10%;
	background: radial-gradient(circle, rgba(122,183,201,0.18) 0%, rgba(122,183,201,0) 70%);
}

.category-news-intro {
	position: relative;
	z-index: 3;
	max-width: 980px;
}

.page-breadcrumbs {
	margin-bottom: 18px;
	font-size: 14px;
}

.page-breadcrumbs--light,
.page-breadcrumbs--light a,
.page-breadcrumbs--light span {
	color: rgba(255,255,255,0.84);
}

.category-news-head {
	position: relative;
	max-width: 760px;
	padding: 42px 42px;
	border-radius: 34px;
	overflow: hidden;
	background: rgba(255, 250, 242, 0.16);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border: 1px solid rgba(255,255,255,0.24);
	box-shadow:
		0 28px 70px rgba(16, 29, 25, 0.16),
		inset 0 1px 0 rgba(255,255,255,0.16);
}

.category-news-head::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(145deg, rgba(255,255,255,0.10), rgba(255,255,255,0.02)),
		radial-gradient(circle at 88% 18%, rgba(215,169,75,0.18), transparent 24%);
	pointer-events: none;
}

.category-news-head > * {
	position: relative;
	z-index: 1;
}

.category-news-kicker {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 14px;
	margin-bottom: 16px;
	border-radius: 999px;
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.14);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.category-news-title {
	margin: 0 0 14px;
	font-size: clamp(44px, 6vw, 78px);
	line-height: .94;
	font-weight: 800;
	letter-spacing: -0.05em;
	color: #fff;
	text-shadow: 0 10px 30px rgba(0,0,0,0.16);
}

.category-news-desc {
	max-width: 640px;
	font-size: 17px;
	line-height: 1.8;
	color: rgba(255,255,255,0.88);
}

.category-news-bottom-wave {
	position: absolute;
	left: -5%;
	right: -5%;
	bottom: -76px;
	height: 170px;
	background: var(--bg);
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	z-index: 2;
}

/* подрубрики */
.category-news-children {
	margin-bottom: 30px;
}

.category-news-children-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.category-news-children-list li {
	margin: 0;
}

.category-news-children-list li a {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 0 18px;
	border-radius: 999px;
	background: rgba(255,255,255,0.78);
	border: 1px solid rgba(28,43,38,0.06);
	box-shadow: 0 10px 24px rgba(28,43,38,0.06);
	font-size: 14px;
	font-weight: 700;
	color: var(--green-deep);
}

.category-news-children-list li.current-cat a,
.category-news-children-list li a:hover {
	background: var(--green);
	color: #fff;
}

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

.category-pagination {
	margin-top: 36px;
	display: flex;
	justify-content: center;
}

.empty-block {
	padding: 30px;
	border-radius: 20px;
	background: rgba(255,255,255,0.72);
	border: 1px solid rgba(28,43,38,0.05);
	color: var(--muted);
}

@media (max-width: 1199.98px) {
	.category-news-top {
		min-height: 500px;
	}

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

@media (max-width: 991.98px) {
	.category-news-top {
		min-height: 430px;
		padding: 130px 0 70px;
	}

	.category-news-head {
		padding: 34px 28px;
		border-radius: 28px;
	}

	.category-news-title {
		font-size: 48px;
	}
}

@media (max-width: 767.98px) {
	.category-news {
		padding-bottom: 90px;
	}

	.category-news-top {
		min-height: 360px;
		padding: 118px 0 54px;
		margin-bottom: 28px;
	}

	.category-news-head {
		padding: 26px 20px;
		border-radius: 24px;
	}

	.category-news-title {
		font-size: 34px;
		line-height: 1;
	}

	.category-news-desc {
		font-size: 15px;
		line-height: 1.7;
	}

	.news-archive-grid {
		grid-template-columns: 1fr;
	}
}

/* single */
/* SINGLE */
.single-page {
	position: relative;
}

.single-intro {
	position: relative;
	padding: 150px 0 90px;
	min-height: 420px;
	overflow: hidden;
	color: #fff;
}

.single-intro-bg,
.single-intro-overlay {
	position: absolute;
	inset: 0;
}

.single-intro-bg {
	background:
		radial-gradient(circle at 12% 18%, rgba(215,169,75,0.18), transparent 22%),
		radial-gradient(circle at 84% 16%, rgba(122,183,201,0.14), transparent 20%),
		linear-gradient(180deg, #21463d 0%, #2a5a4e 36%, #efe6d8 100%);
}

.single-intro-overlay {
	background:
		linear-gradient(180deg, rgba(16,28,24,0.34) 0%, rgba(16,28,24,0.12) 24%, rgba(16,28,24,0) 52%);
}

.single-intro-inner {
	position: relative;
	z-index: 2;
	max-width: 900px;
}

.page-breadcrumbs--light,
.page-breadcrumbs--light a,
.page-breadcrumbs--light span {
	color: rgba(255,255,255,0.84);
}

.single-intro-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}

.single-intro-cat,
.single-intro-date {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 0 14px;
	border-radius: 999px;
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.16);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	font-size: 13px;
	font-weight: 800;
	color: #fff;
}

.single-intro-title {
	margin: 0 0 18px;
	font-size: clamp(38px, 5.4vw, 74px);
	line-height: .95;
	font-weight: 800;
	letter-spacing: -0.05em;
	color: #fff;
	text-shadow: 0 8px 24px rgba(0,0,0,0.14);
	max-width: 900px;
}

.single-intro-excerpt {
	max-width: 720px;
	font-size: 18px;
	line-height: 1.8;
	color: rgba(255,255,255,0.88);
}

.single-intro-excerpt p:last-child {
	margin-bottom: 0;
}

.single-intro-wave {
	position: absolute;
	left: -5%;
	right: -5%;
	bottom: -70px;
	height: 160px;
	background: var(--bg);
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	z-index: 1;
}

/* COVER */
.single-cover {
	position: relative;
	margin-top: -20px;
	padding-bottom: 26px;
	z-index: 3;
}

.single-cover-image {
	position: relative;
	overflow: hidden;
	border-radius: 34px;
	box-shadow: 0 28px 70px rgba(21, 39, 33, 0.14);
	background: #e8dfd1;
}

.single-cover-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* CONTENT */
.single-content-section {
	padding: 20px 0 110px;
}

.single-article {
	position: relative;
}

.single-content {
	font-size: 18px;
	line-height: 1.9;
	color: var(--text);
}

.single-content > *:first-child {
	margin-top: 0;
}

.single-content h2,
.single-content h3,
.single-content h4 {
	color: var(--green-deep);
	font-weight: 800;
	line-height: 1.15;
	margin-top: 1.8em;
	margin-bottom: .7em;
	letter-spacing: -0.02em;
}

.single-content h2 {
	font-size: clamp(28px, 3vw, 40px);
}

.single-content h3 {
	font-size: clamp(24px, 2.4vw, 32px);
}

.single-content h4 {
	font-size: 24px;
}

.single-content p {
	margin-bottom: 1.2em;
	color: var(--text);
}

.single-content ul,
.single-content ol {
	margin: 0 0 1.4em 0;
	padding-left: 1.3em;
}

.single-content li {
	margin-bottom: .55em;
}

.single-content a {
	color: var(--berry);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.single-content strong {
	color: var(--green-deep);
	font-weight: 800;
}

.single-content img {
	border-radius: 24px;
	margin: 26px 0;
	box-shadow: 0 18px 40px rgba(21, 39, 33, 0.10);
}

.single-content blockquote {
	margin: 2em 0;
	padding: 24px 28px;
	border-radius: 24px;
	background: rgba(255,255,255,0.72);
	border-left: 4px solid var(--gold);
	box-shadow: 0 14px 30px rgba(21,39,33,0.06);
	font-size: 20px;
	line-height: 1.7;
	color: var(--green-deep);
}

.single-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 28px 0;
	background: rgba(255,255,255,0.82);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(21,39,33,0.06);
}

.single-content table th,
.single-content table td {
	padding: 14px 16px;
	border: 1px solid rgba(28,43,38,0.08);
	text-align: left;
}

.single-content table th {
	background: rgba(46,91,79,0.08);
	color: var(--green-deep);
	font-weight: 800;
}

/* RESPONSIVE */
@media (max-width: 991.98px) {
	.single-intro {
		padding: 130px 0 80px;
		min-height: 360px;
	}

	.single-intro-title {
		font-size: 46px;
	}

	.single-intro-excerpt {
		font-size: 16px;
	}

	.single-cover-image {
		border-radius: 26px;
	}
}

@media (max-width: 767.98px) {
	.single-intro {
		padding: 118px 0 60px;
		min-height: 300px;
	}

	.single-intro-title {
		font-size: 34px;
		line-height: 1;
	}

	.single-intro-excerpt {
		font-size: 15px;
		line-height: 1.7;
	}

	.single-intro-meta {
		gap: 8px;
	}

	.single-intro-cat,
	.single-intro-date {
		min-height: 34px;
		padding: 0 12px;
		font-size: 12px;
	}

	.single-cover {
		padding-bottom: 18px;
	}

	.single-cover-image {
		border-radius: 22px;
	}

	.single-content-section {
		padding: 10px 0 90px;
	}

	.single-content {
		font-size: 16px;
		line-height: 1.8;
	}

	.single-content blockquote {
		padding: 20px 18px;
		font-size: 17px;
		border-radius: 18px;
	}
}

/* FOOTER */
.site-footer {
	position: relative;
	margin-top: 30px;
	background: #162823;
	color: rgba(255,255,255,0.88);
	overflow: hidden;
}

.footer-top {
	height: 80px;
	background: var(--bg);
	border-radius: 0 0 50% 50% / 0 0 100% 100%;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.15fr .85fr .85fr;
	gap: 36px;
	padding: 54px 0 28px;
}

.footer-logo {
	font-size: 40px;
	font-weight: 800;
	letter-spacing: -0.04em;
	color: #fff;
	margin-bottom: 14px;
}

.footer-brand p {
	max-width: 460px;
	line-height: 1.8;
	color: rgba(255,255,255,0.72);
}

.footer-col h4 {
	font-size: 18px;
	font-weight: 800;
	color: #fff;
	margin-bottom: 18px;
}

.footer-menu,
.footer-contacts {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 12px;
}

.footer-menu li a,
.footer-contacts li,
.footer-contacts a {
	color: rgba(255,255,255,0.74);
}

.footer-contacts li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.footer-bottom {
	padding: 18px 0 32px;
	border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-bottom p {
	margin: 0;
	color: rgba(255,255,255,0.52);
}

/* RESPONSIVE */
@media (max-width: 1399.98px) {
	.news-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.news-highlight-card {
		grid-column: span 2;
		min-height: 320px;
	}
}

@media (max-width: 1199.98px) {
	.hero-content {
		grid-template-columns: 1fr;
	}

	.hero-decor-side {
		height: 260px;
	}

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

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

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

	.footer-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 991.98px) {
	.brand-crest img {
		width: 46px;
	}

	.brand-logo img {
		width: 62px;
	}

	.header-phone span {
		display: none;
	}

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

@media (max-width: 767.98px) {
	.hero-section {
		padding: 130px 0 80px;
	}

	.hero-content {
		grid-template-columns: 1fr;
	}

	.hero-copy h1 {
		font-size: 42px;
	}

	.hero-text {
		font-size: 16px;
	}

	.hero-search {
		grid-template-columns: 1fr;
	}

	.hero-decor-side {
		height: 200px;
	}

	.hero-badge {
		font-size: 13px;
		padding: 12px 16px;
	}

	.portal-grid,
	.news-grid,
	.news-archive-grid,
	.footer-grid {
		grid-template-columns: 1fr;
	}

	.news-highlight-card {
		grid-column: auto;
		min-height: 260px;
	}

	.news-card-title {
		font-size: 22px;
	}

	.news-card-body {
		padding: 20px 18px 18px;
	}

	.brand-title {
		font-size: 24px;
	}

	.brand-subtitle {
		font-size: 10px;
	}

	.category-news-head {
		padding: 26px 20px;
	}

	.category-news-title {
		font-size: 34px;
	}

	.category-news-desc {
		font-size: 15px;
	}

	.footer-top {
		height: 50px;
	}
}

@media (max-width: 575.98px) {
	.header-wrap {
		padding-left: 16px;
		padding-right: 16px;
	}

	.hero-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.btn-hero {
		width: 100%;
	}

	.portal-card {
		min-height: 190px;
		padding: 24px;
	}

	.portal-title {
		font-size: 22px;
	}

	.news-highlight-inner {
		padding: 24px 20px;
	}

	.news-highlight-inner h3 {
		font-size: 28px;
	}

	.news-highlight-inner p {
		font-size: 15px;
	}
}

