:root {
	--color-blue-900: #002763;
	--color-blue-700: #1b59a4;
	--color-blue-800: #174c8c;
	--color-red-600: #e62e28;
	--color-text: #1a1a1a;
	--color-body: #333333;
	--color-muted: #666666;
	--color-border: #e5e7eb;
	--color-page: #f5f5f5;
	--color-surface: #ffffff;
	--color-footer: #1a1a1a;
	--color-footer-heading: #f9d279;
	--color-footer-muted: #99a1af;
	--font-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--font-serif: "PT Serif", Georgia, "Times New Roman", serif;
	--container: 1178px;
	--content: 880px;
	--sidebar: 274px;
	--gutter: 20px;
	--space-section: 40px;
	--radius-sm: 4px;
	--radius-md: 6px;
	--radius-lg: 10px;
	--shadow-card: 0 10px 30px rgba(0, 39, 99, 0.08);
}

@keyframes dzerzh-fade-up {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body.site {
	margin: 0;
	background: var(--color-page);
	color: var(--color-body);
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.6;
}

a {
	color: var(--color-blue-700);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

a:hover {
	color: var(--color-red-600);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid rgba(27, 89, 164, 0.35);
	outline-offset: 3px;
}

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

.site-container {
	width: min(100% - 32px, var(--container));
	margin-inline: auto;
}

.skip-link {
	position: absolute;
	left: 16px;
	top: 12px;
	z-index: 100;
	transform: translateY(-150%);
	background: var(--color-surface);
	color: var(--color-blue-900);
	padding: 8px 12px;
	border-radius: var(--radius-sm);
}

.skip-link:focus {
	transform: translateY(0);
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.site-header {
	background: var(--color-surface);
}

.header-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 118px;
	padding-block: 0;
	border-bottom: 1px solid var(--color-border);
}

.brand-link,
.footer-logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--color-text);
	text-decoration: none;
}

.brand-logo-image {
	display: block;
	width: 383px;
	height: auto;
}

.brand-mark {
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	background: var(--color-blue-700);
	color: #ffffff;
	border-radius: var(--radius-md);
	font-family: var(--font-serif);
	font-weight: 700;
	line-height: 1;
}

.brand-text {
	display: grid;
	gap: 2px;
}

.brand-title {
	color: var(--color-blue-900);
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.15;
}

.brand-subtitle {
	color: var(--color-muted);
	font-size: 13px;
}

.header-tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 24px;
	flex: 1 1 auto;
	min-width: 0;
}

.header-meta {
	display: grid;
	gap: 0;
	color: var(--color-muted);
	font-size: 12px;
	line-height: 18px;
	white-space: nowrap;
}

.header-search-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 562px;
	max-width: 100%;
}

.header-search {
	width: 446px;
	max-width: 100%;
}

.header-search label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.header-search .mod-finder,
.header-search search {
	display: block;
	width: 100%;
}

.header-search input,
.header-search .form-control {
	width: 100%;
	min-height: 40px;
	border: 1px solid #d1d5dc;
	border-radius: var(--radius-md);
	background: #f9f9f9;
	padding: 8px 40px 8px 16px;
	color: var(--color-muted);
	font-size: 14px;
}

.header-social,
.footer-social {
	display: flex;
	align-items: center;
	gap: 10px;
}

.header-social a,
.footer-social a {
	display: block;
	width: 36px;
	height: 36px;
	overflow: hidden;
	border-radius: var(--radius-md);
}

.header-social img,
.footer-social img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.site-nav-wrap {
	background: var(--color-blue-900);
}

.nav-container {
	display: flex;
	align-items: center;
	min-height: 40px;
}

.nav-toggle {
	display: none;
	width: 42px;
	height: 42px;
	border: 0;
	background: transparent;
	color: #ffffff;
	padding: 9px;
}

.nav-toggle-line {
	display: block;
	height: 2px;
	margin: 5px 0;
	background: currentColor;
	border-radius: 999px;
}

.site-nav {
	width: 100%;
}

.site-nav .menu,
.site-nav ul {
	display: flex;
	align-items: center;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav li {
	position: relative;
}

.site-nav a,
.site-nav .mod-menu__item > a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	color: #ffffff;
	font-size: 14px;
	font-weight: 400;
	text-decoration: none;
}

.site-nav .default {
	display: none;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav .current > a,
.site-nav .active > a {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
}

.site-nav .current > a,
.site-nav .active > a {
	box-shadow: inset 0 -2px 0 rgba(255, 255, 255, 0.82);
}

.site-nav .has-editorial-dropdown > a::after {
	width: 7px;
	height: 7px;
	margin-left: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	content: "";
	transform: rotate(45deg) translateY(-2px);
}

.editorial-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 40;
	display: grid;
	min-width: 180px;
	padding: 8px;
	border: 1px solid rgba(0, 39, 99, 0.12);
	border-radius: var(--radius-md);
	background: #ffffff;
	box-shadow: 0 14px 34px rgba(0, 39, 99, 0.18);
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity 160ms ease, transform 160ms ease;
}

.site-nav .has-editorial-dropdown:hover .editorial-dropdown,
.site-nav .has-editorial-dropdown:focus-within .editorial-dropdown {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.editorial-dropdown a {
	min-height: 36px;
	padding: 0 10px;
	border-radius: var(--radius-sm);
	color: var(--color-text);
	white-space: nowrap;
}

.editorial-dropdown a:hover,
.editorial-dropdown a:focus-visible {
	background: #f3f7fc;
	color: var(--color-blue-700);
}

.site-main-wrap {
	padding-block: 32px 0;
}

.breadcrumbs-wrap {
	position: relative;
	z-index: 1;
	margin-bottom: 16px;
	color: var(--color-muted);
	font-size: 14px;
}

.breadcrumbs-wrap ol,
.breadcrumbs ol,
.mod-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.breadcrumbs-wrap .breadcrumb,
.breadcrumbs-wrap .mod-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	min-height: 43px;
	margin: 0;
	padding: 0 !important;
	background: transparent;
	list-style: none;
	color: var(--color-muted);
	font-size: 14px;
	line-height: 20px;
}

.breadcrumbs-wrap .mod-breadcrumbs__here {
	display: none;
}

.breadcrumbs-wrap a {
	color: var(--color-blue-900);
	text-decoration: none;
}

.breadcrumbs-wrap a:hover {
	text-decoration: underline;
}

.breadcrumbs-wrap .active {
	color: var(--color-text);
}

.breadcrumbs-wrap li:not(:last-child)::after,
.breadcrumbs li:not(:last-child)::after {
	content: "/";
	margin-left: 8px;
	color: #9ca3af;
}

.homepage-hero,
.module-band,
.home-news-modules {
	margin-bottom: var(--space-section);
}

.module-band,
.home-news-modules {
	display: grid;
	gap: 20px;
}

.content-layout {
	display: grid;
	grid-template-columns: minmax(0, var(--content)) var(--sidebar);
	gap: var(--gutter);
	align-items: stretch;
}

.site-content {
	align-self: start;
	min-width: 0;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 28px;
}

.news-card,
.ad-slot,
.ad-service-card,
.ad-price-card,
.ad-contact-card,
.standard-page-card,
.article-related,
.current-issue-sticky {
	animation: dzerzh-fade-up 260ms ease both;
}

.view-featured .site-content,
.view-category .site-content {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
}

.component-view .site-component {
	width: min(100% - 32px, var(--content));
	margin: 32px auto;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 28px;
}

.site-sidebar {
	--sidebar-offset-top: 0px;
	--sidebar-sticky-top: 16px;
	display: grid;
	gap: 20px;
	min-width: 0;
	align-self: stretch;
	height: auto;
	padding-top: var(--sidebar-offset-top);
}

.site-sidebar > *,
.content-modules > *,
.module-band > *,
.home-news-modules > * {
	min-width: 0;
}

.content-modules {
	margin-block: 24px;
}

.com-content-article h1,
.page-header h1,
.site-content h1 {
	margin: 0 0 20px;
	color: var(--color-text);
	font-family: var(--font-serif);
	font-size: 36px;
	line-height: 1.12;
}

.site-content h2,
.site-content h3 {
	color: var(--color-blue-900);
	font-family: var(--font-serif);
	line-height: 1.25;
}

.site-content h2 {
	font-size: 28px;
}

.site-content h3 {
	font-size: 24px;
}

.site-content blockquote {
	margin: 28px 0;
	padding: 4px 0 4px 20px;
	border-left: 4px solid var(--color-blue-700);
	color: var(--color-text);
	font-family: var(--font-serif);
	font-size: 20px;
	line-height: 1.55;
}

.site-content table {
	width: 100%;
	border-collapse: collapse;
	margin-block: 24px;
}

.site-content th,
.site-content td {
	border: 1px solid var(--color-border);
	padding: 10px 12px;
	text-align: left;
}

.category-header {
	margin-bottom: 28px;
}

.category-header h1,
.article-header h1 {
	margin: 0;
	color: var(--color-text);
	font-family: var(--font-serif);
	font-size: 36px;
	line-height: 1.12;
}

.category-description {
	max-width: 720px;
	margin-top: 12px;
	color: var(--color-muted);
	font-size: 18px;
	line-height: 1.65;
}

.category-description p {
	margin: 0;
}

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

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

.news-card-featured {
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr);
}

.news-card-featured .news-card-image {
	aspect-ratio: 16 / 10;
}

.news-card-featured .news-card-body {
	align-content: center;
	padding: 24px;
}

.news-card-featured h2 {
	font-size: 28px;
	line-height: 1.2;
}

.pagination-wrap {
	margin-top: 28px;
}

.pagination-wrap ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pagination-wrap a,
.pagination-wrap span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	min-height: 36px;
	padding: 0 10px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	text-decoration: none;
}

.pagination-wrap .active span {
	background: var(--color-blue-700);
	color: #ffffff;
	border-color: var(--color-blue-700);
}

.article-header {
	display: grid;
	gap: 14px;
	margin-bottom: 24px;
}

.status-badge {
	display: inline-flex;
	width: fit-content;
	padding: 4px 8px;
	border-radius: var(--radius-sm);
	background: #fef3c7;
	color: #92400e;
	font-size: 12px;
	font-weight: 700;
}

.article-lead {
	margin-bottom: 24px;
	color: var(--color-text);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.65;
}

.article-lead p {
	margin: 0;
}

.article-image {
	margin: 0 0 28px;
}

.article-image img {
	display: block;
	width: 100%;
	height: clamp(360px, 55vw, 853px);
	border-radius: 0;
	object-fit: cover;
}

.view-article .site-content {
	border: 1px solid var(--color-border);
	border-radius: 0;
	padding: 32px;
	background: #ffffff;
}

.view-article .site-content:has(.advertising-page),
.view-article .site-content:has(.standard-page) {
	border: 0;
	padding: 0;
	background: transparent;
}

.view-article .article-header h1 {
	max-width: 812px;
	font-size: 36px;
	line-height: 40px;
}

.view-article .article-meta {
	margin-bottom: 0;
	font-size: 16px;
	line-height: 28.8px;
}

.view-article .article-meta time,
.view-article .article-meta-author {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 29px;
}

.view-article .article-meta svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.33191;
}

.article-meta-author b {
	color: var(--color-body);
	font-weight: 500;
}

.article-body {
	max-width: 812px;
	color: var(--color-body);
	font-size: 16px;
	line-height: 28.8px;
}

.article-body p {
	margin: 0 0 20px;
}

.article-body h2,
.article-body h3 {
	margin: 32px 0 16px;
	color: var(--color-blue-900);
	font-family: var(--font-serif);
	line-height: 1.25;
}

.article-body h2 {
	font-size: 24px;
	line-height: 33.6px;
}

.article-body h3 {
	font-size: 24px;
	line-height: 33.6px;
}

.article-body ul,
.article-body ol {
	display: grid;
	gap: 10px;
	margin: 0 0 24px;
	padding-left: 24px;
}

.article-body li::marker {
	color: var(--color-blue-700);
	font-weight: 700;
}

.article-body blockquote {
	margin: 30px 0;
	padding: 0 0 0 14px;
	border-left: 3.733px solid var(--color-blue-700);
	background: transparent;
	color: var(--color-text);
	font-size: 16px;
	font-style: italic;
	font-weight: 400;
	line-height: 28.8px;
}

.article-body > :first-child {
	margin-top: 0;
}

.article-body > :last-child {
	margin-bottom: 0;
}

.article-share {
	max-width: 812px;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid var(--color-border);
}

.article-share .mod-custom,
.article-share-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	min-height: 36px;
}

.article-share strong {
	color: var(--color-muted);
	font-size: 16px;
	font-weight: 500;
	line-height: 28.8px;
}

.article-share a {
	display: inline-flex;
	width: 36px;
	height: 36px;
	overflow: hidden;
	border-radius: 6px;
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.article-share a:hover,
.article-share a:focus-visible {
	opacity: 0.82;
	transform: translateY(-1px);
}

.article-share img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.article-related {
	width: 100%;
	margin-top: 48px;
}

.article-related-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 31px;
	margin-bottom: 16px;
	border-bottom: 1.108px solid var(--color-red-600);
}

.article-related-header h2 {
	margin: 0;
	color: var(--color-red-600);
	font-family: var(--font-serif);
	font-size: 18px;
	letter-spacing: 0;
	line-height: 27px;
	text-transform: uppercase;
}

.article-related-controls {
	display: flex;
	gap: 4px;
	align-items: flex-start;
}

.article-related-controls button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1.108px solid var(--color-border-strong);
	border-radius: 999px;
	background: #ffffff;
	color: var(--color-muted);
	cursor: pointer;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.article-related-controls button:hover,
.article-related-controls button:focus-visible {
	border-color: var(--color-blue-700);
	color: var(--color-blue-700);
}

.article-related-controls button:disabled {
	opacity: 0.45;
	cursor: default;
}

.article-related-controls svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.5;
}

.article-related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	scroll-behavior: smooth;
}

.article-related .news-card {
	height: 201px;
	border-radius: var(--radius-lg);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.article-related .news-card-image {
	height: 120px;
	aspect-ratio: auto;
}

.article-related .category-badge {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 1;
	min-height: 28px;
	background: var(--color-blue-900);
	font-size: 11px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.article-related .news-card-body {
	position: relative;
	gap: 4px;
	height: 81px;
	padding: 12px;
}

.article-related .news-card h2 {
	display: -webkit-box;
	overflow: hidden;
	font-size: 13px;
	font-weight: 400;
	line-height: 18.2px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.article-related .news-card time {
	font-size: 11px;
	line-height: 16.5px;
}

.section-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
	border-bottom: 2px solid var(--color-blue-900);
}

.section-heading h2 {
	margin: 0;
	padding-bottom: 8px;
	color: var(--color-blue-900);
	font-family: var(--font-serif);
	font-size: 20px;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-transform: uppercase;
}

.dzerzh-featured .section-heading {
	border-bottom-color: var(--color-red-600);
}

.dzerzh-featured .section-heading h2 {
	color: var(--color-red-600);
}

.section-heading a {
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.section-heading a:hover,
.section-heading a:focus-visible {
	color: var(--color-red-600);
}

.article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-bottom: 18px;
	color: var(--color-muted);
	font-size: 14px;
}

.category-badge,
.ad-slot-label {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-height: 24px;
	padding: 3px 9px;
	border-radius: var(--radius-sm);
	background: var(--color-blue-700);
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

.ad-slot {
	display: grid;
	gap: 10px;
	background: #f9fafb;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 18px;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.ad-slot:hover,
.ad-slot:focus-within {
	transform: translateY(-1px);
	background: #ffffff;
	border-color: rgba(27, 89, 164, 0.28);
	box-shadow: 0 10px 24px rgba(0, 39, 99, 0.1);
}

.ad-slot h2 {
	margin: 0;
	color: var(--color-text);
	font-family: var(--font-serif);
	font-size: 20px;
	line-height: 1.3;
}

.ad-slot p {
	margin: 0;
	color: var(--color-muted);
	font-size: 14px;
}

.ad-slot-label {
	background: var(--color-red-600);
}

.site-sidebar .ad-slot {
	min-height: 193px;
	align-content: start;
	background: #1a1a1a;
	border: 0;
	border-radius: var(--radius-lg);
	color: #99a1af;
	padding: 12px;
}

.site-sidebar .ad-slot h2 {
	color: #ffffff;
	font-size: 18px;
	letter-spacing: 0.05em;
	line-height: 27px;
	text-transform: uppercase;
}

.site-sidebar .ad-slot p {
	align-self: end;
	color: #99a1af;
	font-size: 12px;
	line-height: 18px;
}

.site-sidebar .ad-slot-label {
	background: transparent;
	color: #ffffff;
	font-size: 11px;
	letter-spacing: 0.05em;
	padding: 0;
	text-transform: uppercase;
}

.site-sidebar .mod-custom + .mod-custom .ad-slot {
	min-height: 0;
	background: #ffffff;
	border: 1px solid var(--color-border);
	color: var(--color-body);
}

.site-sidebar .mod-custom + .mod-custom .ad-slot h2 {
	color: var(--color-text);
	font-size: 18px;
	letter-spacing: 0;
	text-transform: none;
}

.site-sidebar .mod-custom + .mod-custom .ad-slot p {
	color: var(--color-muted);
	font-size: 14px;
	line-height: 1.5;
}

.site-sidebar .mod-custom + .mod-custom .ad-slot-label {
	background: var(--color-red-600);
	color: #ffffff;
	padding: 3px 9px;
}

.news-card {
	position: relative;
	display: grid;
	overflow: hidden;
	background: var(--color-surface);
	border: 0;
	border-radius: var(--radius-md);
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.news-card:hover,
.news-card:focus-within {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(0, 39, 99, 0.12);
}

.news-card-image {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: #eef2f7;
}

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

.news-card:hover .news-card-image img,
.news-card:focus-within .news-card-image img {
	transform: scale(1.035);
}

.news-card-body {
	display: grid;
	gap: 10px;
	padding: 16px;
}

.news-card h2 {
	margin: 0;
	color: var(--color-text);
	font-family: var(--font-serif);
	font-size: 20px;
	line-height: 1.35;
}

.news-card h2 a {
	color: inherit;
	text-decoration: none;
}

.news-card h2 a:hover {
	color: var(--color-blue-700);
}

.news-card h2 a:focus-visible {
	border-radius: 2px;
	outline-offset: 4px;
}

.news-card p {
	margin: 0;
	color: var(--color-muted);
	font-size: 14px;
	line-height: 1.55;
}

.news-card time {
	color: var(--color-muted);
	font-size: 13px;
}

.page-hero {
	position: relative;
	overflow: hidden;
	width: 100vw;
	min-height: 194px;
	margin: -32px 0 28px calc((var(--container) - 100vw) / 2);
	background:
		linear-gradient(90deg, #002763 0%, #002763 37.5%, rgba(0, 39, 99, 0) 87%),
		url("/templates/dzerzh/images/figma/news-hero-bg.png") right center / auto 253% no-repeat,
		#002763;
	color: #ffffff;
}

.view-category .page-hero {
	margin-top: 0;
}

.view-article .page-hero {
	margin-top: 0;
}

.view-category .site-sidebar {
	--sidebar-offset-top: 222px;
}

.page-hero-inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: min(100% - 32px, var(--container));
	min-height: 194px;
	margin: 0 auto;
	padding: 0 0 0 16px;
}

.page-hero h1 {
	margin: 0;
	color: #ffffff;
	font-family: var(--font-serif);
	font-size: 36px;
	line-height: 1.12;
}

.page-hero p {
	margin: 12px 0 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 18px;
	line-height: 1.55;
}

.news-filter-panel {
	display: grid;
	gap: 16px;
	margin-bottom: 24px;
	padding: 24px;
	background: #ffffff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.news-filter-row {
	display: grid;
	grid-template-columns: minmax(0, 556px) 256px;
	gap: 16px;
	justify-content: space-between;
}

.news-filter-row input,
.news-filter-row select,
.news-filter-sort a {
	min-height: 48px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: #f9fafb;
	color: var(--color-text);
	font: inherit;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

.news-filter-row input {
	padding: 0 16px;
}

.news-filter-row select {
	padding: 0 36px 0 14px;
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #6b7280 50%), linear-gradient(135deg, #6b7280 50%, transparent 50%);
	background-position: calc(100% - 18px) 20px, calc(100% - 12px) 20px;
	background-repeat: no-repeat;
	background-size: 6px 6px, 6px 6px;
}

.news-filter-sort a {
	cursor: pointer;
	font-weight: 700;
}

.news-filter-row input:hover,
.news-filter-row select:hover,
.news-filter-tags a:hover,
.news-filter-sort a:hover {
	border-color: rgba(27, 89, 164, 0.45);
	background: #ffffff;
	color: var(--color-blue-700);
}

.news-filter-tags,
.news-filter-sort {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.news-filter-tags a,
.news-filter-sort a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 0 12px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: #ffffff;
	color: var(--color-text);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}

.news-filter-sort span {
	color: var(--color-muted);
	font-size: 14px;
}

.news-filter-tags .is-active,
.news-filter-sort .is-active {
	background: var(--color-blue-700);
	border-color: var(--color-blue-700);
	color: #ffffff;
}

.news-filter-tags .is-active:hover,
.news-filter-sort .is-active:hover {
	background: var(--color-blue-800);
	border-color: var(--color-blue-800);
	color: #ffffff;
}

.news-found {
	margin-right: auto;
	color: var(--color-muted);
	font-size: 16px;
	line-height: 27.2px;
}

.news-found strong {
	color: var(--color-body);
	font-weight: 700;
}

.view-category .news-card {
	grid-template-columns: 279px minmax(0, 1fr);
	height: 184px;
	min-height: 184px;
	border-radius: var(--radius-lg);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.view-category .news-card-image {
	aspect-ratio: auto;
	height: 100%;
}

.view-category .news-card-body {
	align-content: start;
	gap: 8px;
	padding: 18px 22px;
}

.view-category .news-card h2 {
	display: -webkit-box;
	overflow: hidden;
	font-size: 19px;
	line-height: 1.3;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.view-category .news-card p {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.news-list-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
	align-items: start;
}

.view-category .news-list-grid .news-card {
	display: flex;
	flex-direction: column;
	height: 537px;
	min-height: 537px;
	border: 1.244px solid var(--color-border);
	border-radius: 0;
	box-shadow: none;
}

.view-category .news-list-grid .news-card-image {
	position: relative;
	width: 100%;
	height: 360px;
	aspect-ratio: auto;
}

.view-category .news-list-grid .news-card-body {
	position: static;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	min-height: 177px;
	padding: 22px 20px;
}

.view-category .news-list-grid .category-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 1;
	min-height: 28px;
	padding-inline: 12px;
	font-size: 14px;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

.view-category .news-list-grid .news-card h2 {
	display: -webkit-box;
	overflow: hidden;
	font-size: 20px;
	line-height: 28px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.view-category .news-list-grid .news-card p {
	display: -webkit-box;
	overflow: hidden;
	min-height: 46px;
	line-height: 22.75px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.view-category .news-list-grid .news-card time {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	line-height: 20px;
}

.view-category .news-list-grid .news-card time::before {
	width: 16px;
	height: 16px;
	background-color: currentColor;
	mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 15.9829 15.9829' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.33191'%3E%3Cpath d='M7.99146 14.651C11.6694 14.651 14.651 11.6694 14.651 7.99146C14.651 4.31349 11.6694 1.33191 7.99146 1.33191C4.31349 1.33191 1.33191 4.31349 1.33191 7.99146C1.33191 11.6694 4.31349 14.651 7.99146 14.651Z'/%3E%3Cpath d='M7.99146 3.99573V7.99146L10.6553 9.32337'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
	content: "";
}

.home-hero-layout {
	display: grid;
	grid-template-columns: 574px 279px;
	gap: 16.65px;
	align-items: start;
	width: 870px;
	margin-bottom: 24px;
}

.home-hero-main {
	min-width: 0;
}

.home-hero-card {
	position: relative;
	overflow: hidden;
	width: 574px;
	height: 435px;
	border-radius: 0;
	background: #111827;
}

.home-hero-image,
.home-hero-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.home-hero-image img {
	width: 648px;
	max-width: none;
	height: 521px;
	object-fit: cover;
	object-position: center top;
	transform: translateX(-74px);
}

.home-hero-card::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.45) 35.6%, rgba(0, 0, 0, 0.2) 100%);
}

.home-hero-content {
	position: absolute;
	z-index: 1;
	inset: 20px;
	display: grid;
	grid-template-rows: auto auto auto 1fr;
	gap: 31px;
	color: #ffffff;
}

.home-hero-content h2 {
	margin: 0;
	color: #ffffff;
	font-family: var(--font-serif);
	font-size: 22px;
	line-height: 28.6px;
	max-width: 495px;
}

.home-hero-content h2 a {
	color: #ffffff;
	text-decoration: none;
}

.home-hero-content h2 a:hover {
	color: #ffffff;
}

.home-hero-content p,
.home-hero-content time {
	margin: 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: 13px;
	line-height: 19.5px;
	max-width: 490px;
}

.home-hero-content time {
	align-self: end;
	justify-self: end;
	color: #ffffff;
	font-size: 12px;
	line-height: 18px;
}

.home-hero-content time span {
	padding-inline: 12px;
}

.home-hero-card .category-badge {
	min-height: 30px;
	padding-inline: 12px;
	border-radius: var(--radius-sm);
	background: var(--color-blue-900);
	font-size: 12px;
	letter-spacing: 0.05em;
}

.home-hero-aside {
	display: grid;
	gap: 24px;
	width: 279px;
}

.home-hero-ad {
	position: relative;
	display: grid;
	align-content: space-between;
	height: 193px;
	padding: 12px;
	overflow: hidden;
	border-radius: var(--radius-lg);
	background: linear-gradient(180deg, rgba(26, 26, 26, 0.9), rgba(51, 51, 51, 0.9));
	color: #ffffff;
}

.home-hero-ad span {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.048em;
	line-height: 16.5px;
	text-transform: uppercase;
}

.home-hero-ad small {
	color: #99a1af;
	font-size: 12px;
	line-height: 18px;
}

.home-hero-ad .mod-custom {
	display: contents;
}

.home-project-links {
	display: grid;
	height: 218px;
	margin-top: 0;
	background: #ffffff;
	border-radius: 0;
	box-shadow: none;
	overflow: hidden;
}

.home-project-links .mod-custom {
	display: contents;
}

.home-project-links h2 {
	margin: 0;
	height: 41.108px;
	padding: 8px 16px 0;
	border-bottom: 1.108px solid var(--color-blue-900);
	color: var(--color-red-600);
	font-family: var(--font-serif);
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 24px;
	text-transform: uppercase;
}

.home-project-links a {
	display: flex;
	align-items: center;
	height: 44.587px;
	padding: 0 16px;
	border-bottom: 1.108px solid #f3f4f6;
	color: var(--color-text);
	font-size: 13px;
	line-height: 19.5px;
	text-decoration: none;
}

.home-project-links a::before {
	display: inline-block;
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	margin-right: 12px;
	content: "";
	background: no-repeat center / 14px 14px url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.5 7h7M7.75 4.25 10.5 7 7.75 9.75' stroke='%23E62E28' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.home-project-links a:last-child {
	border-bottom: 0;
}

.home-secondary-grid {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
	margin-bottom: 24px;
}

.home-secondary-grid::-webkit-scrollbar,
.home-media-grid::-webkit-scrollbar,
.home-category-grid::-webkit-scrollbar,
.home-ad-row > div::-webkit-scrollbar {
	display: none;
}

.home-news-heading {
	margin-bottom: 16px;
	border-bottom-color: var(--color-blue-900);
}

.home-news-heading h2 {
	color: var(--color-blue-900);
}

.home-slider-controls {
	display: flex;
	gap: 4px;
	margin-left: auto;
}

.home-slider-controls button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid #d1d5dc;
	border-radius: 50%;
	background: #ffffff;
	cursor: pointer;
	transition: border-color 160ms ease, opacity 160ms ease;
}

.home-slider-controls button:hover {
	border-color: var(--color-blue-900);
}

.home-slider-controls button:disabled {
	cursor: default;
	opacity: 0.35;
}

.home-slider-controls button::before {
	width: 16px;
	height: 16px;
	content: "";
	background: no-repeat center / 16px 16px url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 12 6 8l4-4' stroke='%23666666' stroke-width='1.33' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.home-slider-controls button + button::before {
	background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m6 4 4 4-4 4' stroke='%23666666' stroke-width='1.33' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.home-secondary-grid .news-card {
	position: relative;
	flex: 0 0 279.33px;
	width: 279.33px;
	height: 200.87px;
	border-radius: var(--radius-lg);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.home-secondary-grid .news-card-image {
	height: 120px;
	aspect-ratio: auto;
}

.home-secondary-grid .news-card-body {
	align-content: start;
	gap: 4px;
	height: 80.884px;
	padding: 12px;
	background: #ffffff;
}

.home-secondary-grid .category-badge {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 2;
	min-height: 28px;
	padding: 5px 10px;
	background: var(--color-blue-900);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 16.5px;
	text-transform: uppercase;
}

.home-secondary-grid .news-card h2 {
	display: -webkit-box;
	overflow: hidden;
	font-size: 13px;
	font-weight: 400;
	line-height: 18.2px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.home-secondary-grid .news-card p {
	display: none;
}

.home-secondary-grid .news-card time {
	font-size: 11px;
	line-height: 16.5px;
}

.home-sticky-zone {
	position: relative;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	width: 304px;
	height: 100%;
	min-height: 100%;
	padding-inline: 15px;
	pointer-events: auto;
}

.current-issue-sticky {
	position: sticky;
	top: var(--sidebar-sticky-top);
	width: 274px;
	height: auto;
	border-radius: var(--radius-lg);
	background: #ffffff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 4px 2px rgba(0, 0, 0, 0.25);
}

.current-issue-scroll {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	width: 100%;
	height: auto;
	overflow-x: hidden;
	overflow-y: hidden;
	background: #ffffff;
	border-radius: inherit;
	padding-bottom: 0;
}

.current-issue-scroll > .mod-custom {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	width: 100%;
}

.current-issue-sticky header {
	width: 274px;
	height: 39px;
	padding: 8px 16px 0;
	border-bottom: 1.108px solid var(--color-blue-900);
	background: #ffffff;
}

.current-issue-sticky h2 {
	margin: 0;
	color: var(--color-blue-900);
	font-family: var(--font-serif);
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 24px;
	text-transform: uppercase;
}

.current-issue-card {
	display: grid;
	justify-items: center;
	gap: 10px;
	overflow: hidden;
	background: #ffffff;
}

.current-issue-card img {
	width: 251px;
	height: 323px;
	border-radius: var(--radius-lg);
	object-fit: cover;
	object-position: top center;
}

.current-issue-card a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 250px;
	height: 40px;
	border: 1.108px solid var(--color-blue-900);
	border-radius: var(--radius-lg);
	color: var(--color-blue-900);
	font-size: 13px;
	font-weight: 500;
	line-height: 19.5px;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.current-issue-card a:hover,
.current-issue-card a:focus-visible {
	background: var(--color-blue-900);
	border-color: var(--color-blue-900);
	color: #ffffff;
}

.current-issue-banner {
	display: block;
	width: 249px;
	height: 89px;
	margin: 0 auto;
	border-radius: var(--radius-lg);
	object-fit: cover;
}

.current-issue-links {
	display: grid;
	overflow: hidden;
	width: 274px;
	height: 255px;
	border-radius: 0 0 var(--radius-lg) var(--radius-lg);
	background: #ffffff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.current-issue-links a {
	display: flex;
	align-items: center;
	height: 64.077px;
	padding: 0 16px;
	border-top: 0;
	border-bottom: 1.108px solid #f3f4f6;
	color: var(--color-text);
	font-size: 13px;
	font-weight: 600;
	line-height: 19.5px;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease;
}

.current-issue-links a:hover,
.current-issue-links a:focus-visible {
	background: #f8fbff;
	color: var(--color-blue-700);
}

.current-issue-links a::before {
	flex: 0 0 30.983px;
	width: 30.983px;
	height: 30.983px;
	margin-right: 12px;
	border-radius: 10px;
	background-color: rgba(230, 46, 40, 0.08);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 20px 20px;
	content: "";
}

.current-issue-links .issue-link-phone::before {
	background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='%23A11C3B' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.6 10.8c1.5 3 3.6 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1.1-.3 1.2.4 2.5.6 3.8.6.4 0 .7.3.7.7v3.5c0 .4-.3.8-.8.8C10.7 20.5 3.5 13.3 3.5 4.8c0-.5.4-.8.8-.8h3.5c.4 0 .7.3.7.7 0 1.3.2 2.6.6 3.8.1.4 0 .8-.3 1.1l-2.2 2.2z'/%3E%3C/svg%3E");
}

.current-issue-links .issue-link-info::before {
	background-color: rgba(27, 89, 164, 0.08);
	background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='%2344609E' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 4h14v16H5z' opacity='.25'/%3E%3Cpath d='M8 8h8v2H8zm0 4h8v2H8zm0 4h5v2H8z'/%3E%3C/svg%3E");
}

.current-issue-links .issue-link-advice::before {
	background-color: rgba(249, 210, 121, 0.12);
	background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='%23E8B81C' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3a7 7 0 0 0-4 12.7V19h8v-3.3A7 7 0 0 0 12 3zm-3 18h6v-1H9z'/%3E%3C/svg%3E");
}

.current-issue-links .issue-link-interview::before {
	background-color: rgba(51, 51, 51, 0.08);
	background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='%239B3688' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5h16v10H8l-4 4V5zm4 4h8v1.5H8zm0 3h6v1.5H8z'/%3E%3C/svg%3E");
}

.current-issue-links a::after {
	margin-left: auto;
	color: #cccccc;
	content: "›";
	transition: color 160ms ease, transform 160ms ease;
}

.current-issue-links a:hover::after,
.current-issue-links a:focus-visible::after {
	color: var(--color-blue-700);
	transform: translateX(2px);
}

.home-figma-block {
	margin-top: 24px;
}

.home-blank-heading h2 {
	width: 127px;
}

.home-media-grid {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
	height: 207px;
}

.home-media-grid a {
	position: relative;
	display: grid;
	flex: 0 0 208px;
	place-items: center;
	overflow: hidden;
	border-radius: var(--radius-lg);
	color: #ffffff;
	font-size: 16px;
	font-weight: 600;
	line-height: 19.5px;
	text-align: center;
	text-decoration: none;
}

.home-media-grid img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-media-grid span {
	position: relative;
	z-index: 1;
	padding: 0 20px;
}

.home-media-grid a::after {
	position: absolute;
	inset: 0;
	content: "";
	background: rgba(0, 39, 99, 0.35);
}

.home-ad-row {
	height: 284.48px;
}

.home-ad-row-header {
	display: flex;
	justify-content: flex-end;
	height: 38.48px;
	margin-bottom: 18px;
	border-bottom: 2.489px solid var(--color-blue-900);
}

.home-ad-row > div {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
	height: 228px;
}

.home-ad-row > div > .mod-custom {
	display: flex;
	gap: 20px;
	height: 100%;
}

.home-ad-row a {
	display: grid;
	flex: 0 0 198px;
	width: 198px;
	height: 100%;
	place-items: center;
	background: var(--color-blue-900);
	color: #ffffff;
	font-family: var(--font-serif);
	font-size: 18px;
	font-weight: 700;
	line-height: 28px;
	text-decoration: none;
}

.home-dynamic-empty {
	grid-column: 1 / -1;
	margin: 0;
	padding: 24px;
	border: 1px dashed #d1d5db;
	color: var(--color-muted);
	font-size: 14px;
	line-height: 20px;
}

.home-category-grid {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.home-category-card {
	position: relative;
	display: block;
	flex: 0 0 208px;
	overflow: hidden;
	height: 292px;
	border-radius: var(--radius-lg);
	color: #ffffff;
	text-decoration: none;
	background: #111827;
}

.home-category-card::before {
	position: absolute;
	inset: 0 0 auto;
	z-index: 1;
	height: 3px;
	content: "";
	background: var(--color-blue-700);
}

.home-category-card-green::before {
	background: #4a9d5f;
}

.home-category-card-red::before {
	background: var(--color-red-600);
}

.home-category-card-darkred::before {
	background: #8b0000;
}

.home-category-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
}

.home-category-card:hover img,
.home-category-card:focus-visible img,
.home-media-grid a:hover img,
.home-media-grid a:focus-visible img {
	transform: scale(1.035);
}

.home-category-card-blue img,
.home-category-card-darkred img {
	object-position: center top;
}

.home-event-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.home-event-card {
	height: 173.051px;
	padding: 21px 17px;
	border: 1.244px solid #e5e7eb;
	border-radius: 0;
	background: #ffffff;
	box-shadow: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.home-event-card:hover,
.home-event-card:focus-within {
	border-color: rgba(27, 89, 164, 0.3);
	box-shadow: 0 10px 22px rgba(0, 39, 99, 0.1);
	transform: translateY(-1px);
}

.home-event-tag {
	display: inline-flex;
	align-items: center;
	min-height: 20px;
	padding: 0 8px;
	border-radius: var(--radius-sm);
	background: #f9d279;
	color: var(--color-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

.home-event-card-red .home-event-tag {
	background: var(--color-red-600);
	color: #ffffff;
}

.home-event-card h3 {
	margin: 8px 0 0;
	color: var(--color-text);
	font-family: var(--font-serif);
	font-size: 14px;
	line-height: 19.25px;
}

.home-event-card h3 a {
	color: inherit;
	text-decoration: none;
}

.home-event-card p {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 12px 0 0;
	color: var(--color-muted);
	font-size: 12px;
	line-height: 16px;
}

.home-event-price {
	color: var(--color-red-600);
}

.category-badge-ad {
	background: var(--color-blue-900);
}

.category-badge-green {
	background: #4a9d5f;
}

.news-card-compact .news-card-body {
	padding: 12px;
}

.news-card-compact h2 {
	font-size: 15px;
	line-height: 1.3;
}

.button-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	width: fit-content;
	padding: 0 16px;
	border-radius: var(--radius-md);
	background: var(--color-blue-700);
	color: #ffffff;
	font-weight: 700;
	text-decoration: none;
}

.button-primary:hover {
	background: var(--color-blue-800);
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(0, 39, 99, 0.16);
}

.button-secondary {
	background: #ffffff;
	color: var(--color-blue-900);
}

.button-secondary:hover {
	background: #f3f4f6;
	color: var(--color-blue-900);
}

.button-primary,
.button-secondary {
	transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.advertising-page {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	width: 100%;
	min-width: 0;
}

.standard-page {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	width: 100%;
	min-width: 0;
}

body.itemid-203 .site-sidebar {
	--sidebar-offset-top: 222px;
}

.content-layout:has(.standard-page .page-hero) .site-sidebar,
.content-layout:has(.advertising-page .page-hero) .site-sidebar {
	--sidebar-offset-top: 222px;
}

.ad-service-section {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	min-width: 0;
}

.ad-service-card,
.ad-price-card,
.ad-contact-card {
	background: #ffffff;
	border-radius: 14px;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.ad-service-card {
	display: grid;
	gap: 16px;
	padding: 32px;
}

.ad-service-card h3,
.ad-price-stack h3,
.ad-contact-card h3 {
	margin: 0;
	color: var(--color-blue-900);
	font-family: var(--font-serif);
	font-size: 20px;
	line-height: 28px;
}

.ad-service-card p {
	margin: 0;
	color: var(--color-body);
	font-size: 16px;
	line-height: 26px;
}

.ad-service-note {
	border-left: 4px solid var(--color-red-600);
	border-radius: 0 10px 10px 0;
	background: #f9f9f9;
	padding: 16px 16px 16px 20px;
	color: var(--color-blue-900);
	font-size: 16px;
	font-weight: 700;
	line-height: 26px;
}

.ad-price-stack {
	display: grid;
	gap: 24px;
}

.ad-price-card {
	overflow: hidden;
}

.ad-price-card h4 {
	margin: 0;
	background: var(--color-blue-900);
	color: #ffffff;
	font-size: 16px;
	line-height: 24px;
	padding: 12px 24px;
}

.ad-price-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 16px 24px 17px;
	border-bottom: 1px solid #f3f4f6;
}

.ad-price-row:last-child {
	border-bottom: 0;
}

.ad-price-row-featured {
	background: #f9f9f9;
}

.ad-price-row strong {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	color: var(--color-text);
	font-size: 16px;
	line-height: 24px;
}

.ad-price-row span {
	display: block;
	color: var(--color-muted);
	font-size: 14px;
	line-height: 20px;
}

.ad-price-row em {
	display: inline-flex;
	align-items: center;
	min-height: 20px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--color-red-600);
	color: #ffffff;
	font-size: 12px;
	font-style: normal;
	font-weight: 500;
	line-height: 16px;
}

.ad-price-row b {
	display: grid;
	justify-items: end;
	color: var(--color-blue-900);
	font-size: 24px;
	line-height: 32px;
	text-align: right;
	white-space: nowrap;
}

.ad-price-row-featured b span {
	color: var(--color-red-600);
	font-size: 24px;
	font-weight: 700;
	line-height: 32px;
}

.ad-price-row small {
	color: var(--color-muted);
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	text-decoration: line-through;
}

.ad-discounts {
	display: grid;
	gap: 12px;
	background: #f9f9f9;
	padding: 16px 24px;
}

.ad-discounts > strong {
	color: var(--color-blue-900);
	font-size: 16px;
	line-height: 24px;
}

.ad-discounts span {
	display: grid;
	justify-items: center;
	gap: 4px;
	padding: 18px;
	border: 2px solid var(--color-blue-900);
	border-radius: var(--radius-lg);
	background: #ffffff;
	color: var(--color-muted);
	font-size: 14px;
	line-height: 20px;
	text-align: center;
}

.ad-discounts span b {
	color: var(--color-blue-900);
	font-size: 30px;
	line-height: 36px;
}

.ad-discounts .is-blue {
	background: var(--color-blue-900);
	color: rgba(255, 255, 255, 0.9);
}

.ad-discounts .is-blue b {
	color: #ffffff;
}

.ad-contact-card {
	display: grid;
	gap: 16px;
	padding: 32px;
	background: linear-gradient(90deg, var(--color-blue-900), var(--color-blue-700));
	color: #ffffff;
}

.ad-contact-card h3,
.ad-contact-card p {
	color: #ffffff;
}

.ad-contact-card p {
	margin: 0;
	font-size: 16px;
	line-height: 26px;
}

.ad-contact-card div {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.standard-page-card {
	position: relative;
	overflow: hidden;
	padding: 24px;
	background: #ffffff;
	border: 1px solid var(--color-border);
}

.standard-page-header {
	position: relative;
	display: grid;
	gap: 24px;
	align-items: start;
}

.standard-page-header.has-image {
	grid-template-columns: minmax(0, 1fr) 303px;
}

.standard-page-header h1 {
	max-width: 811px;
	margin: 0;
	color: var(--color-text);
	font-family: var(--font-serif);
	font-size: 36px;
	line-height: 40px;
}

.standard-page-header p,
.standard-page-intro,
.standard-page-body,
.standard-page-card > p {
	margin: 0;
	color: var(--color-body);
	font-size: 16px;
	line-height: 28.8px;
}

.standard-page-intro p,
.standard-page-body p {
	margin: 0 0 18px;
}

.standard-page-body {
	max-width: 820px;
	margin: 24px 0 0;
}

.standard-page-body h2,
.standard-page-body h3 {
	margin: 28px 0 12px;
	color: var(--color-blue-900);
	font-family: var(--font-serif);
	line-height: 1.25;
}

.standard-page-body ul,
.standard-page-body ol {
	margin: 0 0 20px 22px;
	padding: 0;
	color: var(--color-body);
	line-height: 28.8px;
}

.standard-page-body a,
.standard-contact-card a {
	color: var(--color-blue-700);
	font-weight: 700;
	text-decoration: none;
}

.standard-page-body a:hover,
.standard-contact-card a:hover {
	color: var(--color-blue-900);
	text-decoration: underline;
}

.about-doc-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 18px;
	margin-left: 0 !important;
	list-style: none;
}

.about-doc-links li {
	position: relative;
	padding-left: 18px;
}

.about-doc-links li::before {
	position: absolute;
	left: 0;
	color: var(--color-yellow-500);
	content: "•";
}

.payment-details {
	display: grid;
	grid-template-columns: minmax(160px, 240px) minmax(0, 1fr);
	gap: 10px 18px;
	margin: 0 0 24px;
	padding: 18px;
	border: 1px solid var(--color-border);
	background: var(--color-surface);
}

.payment-details dt {
	color: var(--color-blue-900);
	font-weight: 800;
}

.payment-details dd {
	margin: 0;
	color: var(--color-body);
}

.awards-list li {
	margin-bottom: 8px;
}

.standard-page-header img {
	width: 303px;
	height: 376px;
	object-fit: cover;
}

.standard-page-card blockquote {
	max-width: 780px;
	min-height: 87px;
	margin: 50px 0;
	padding: 0 0 0 29px;
	border-left: 3.733px solid var(--color-blue-700);
	color: var(--color-body);
	font-size: 16px;
	font-style: italic;
	line-height: 28.8px;
}

.standard-social {
	display: flex;
	gap: 6px;
	margin: 28px 0 24px;
}

.standard-social a {
	display: block;
	width: 23px;
	height: 23px;
	overflow: hidden;
	border-radius: 4px;
}

.standard-social img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.standard-map {
	width: 100%;
	max-width: 999px;
	margin: 50px 0 0;
}

.standard-map img {
	display: block;
	width: 100%;
	height: 433px;
	object-fit: cover;
}

.standard-contact-card {
	max-width: 820px;
	margin: 32px 0 0;
	padding: 22px;
	border: 1px solid var(--color-border);
	background: var(--color-surface);
}

.standard-contact-card h2 {
	margin: 0 0 12px;
	color: var(--color-blue-900);
	font-family: var(--font-serif);
	line-height: 1.25;
}

.standard-contact-card p {
	margin: 0 0 10px;
	color: var(--color-body);
	font-size: 16px;
	line-height: 26px;
}

.error-page {
	display: grid;
	align-content: center;
	gap: 28px;
	min-height: 100vh;
	padding-block: 48px;
}

.error-card {
	display: grid;
	gap: 14px;
	max-width: 640px;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 32px;
	box-shadow: var(--shadow-card);
}

.error-card h1 {
	margin: 0;
	color: var(--color-text);
	font-family: var(--font-serif);
	font-size: 36px;
	line-height: 1.15;
}

.error-card p {
	margin: 0;
}

.eyebrow {
	color: var(--color-blue-700);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.site-footer {
	margin-top: 56px;
	min-height: 413px;
	background: var(--color-footer);
	color: var(--color-footer-muted);
}

.footer-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
	padding-block: 40px 72px;
}

.footer-logo {
	color: var(--color-footer-heading);
	font-family: var(--font-serif);
	font-weight: 700;
}

.footer-brand p {
	max-width: 340px;
	margin: 16px 0 0;
	font-size: 14px;
	line-height: 22.75px;
}

.footer-brand .footer-social {
	margin-top: 16px;
}

.footer-column h2 {
	margin: 0 0 14px;
	color: var(--color-footer-heading);
	font-family: var(--font-serif);
	font-size: 14px;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-transform: uppercase;
}

.footer-column ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer a {
	color: var(--color-footer-muted);
	text-decoration: none;
}

.site-footer a:hover {
	color: #ffffff;
}

.site-footer a:focus-visible {
	color: #ffffff;
	outline-color: rgba(249, 210, 121, 0.55);
}

.footer-bottom {
	border-top: 1px solid #1e2939;
	padding-block: 16px 24px;
	color: #6a7282;
	font-size: 12px;
}

.footer-legal {
	display: grid;
	gap: 8px;
	max-width: 1120px;
	line-height: 18px;
}

.footer-legal p {
	margin: 0;
}

@media (min-width: 1130px) and (max-width: 1210px) {
	.view-featured .content-layout {
		grid-template-columns: minmax(0, 1fr) var(--sidebar);
	}
}

@media (min-width: 980px) and (max-width: 1129px) {
	.view-featured .content-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (min-width: 768px) and (max-width: 979px) {
	.view-featured .content-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 1023px) {
	.news-filter-row {
		grid-template-columns: 1fr;
	}

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

	.view-featured .content-layout {
		grid-template-columns: 1fr;
		overflow-x: visible;
	}

	.site-sidebar {
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	}

	.view-category .site-sidebar,
	body.itemid-203 .site-sidebar {
		--sidebar-offset-top: 0px;
	}

	.view-featured .site-sidebar {
		grid-template-columns: 1fr;
	}

	.current-issue-sticky {
		position: static;
	}

	.current-issue-scroll {
		max-width: 100%;
	}

	.home-hero-layout,
	.home-secondary-grid,
	.home-media-grid,
	.home-category-grid,
	.home-event-grid,
	.home-ad-row {
		width: 100%;
		max-width: 100%;
	}

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

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

	.news-list-grid {
		grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	}

	.view-category .news-list-grid .news-card {
		height: 460px;
		min-height: 460px;
	}

	.view-category .news-list-grid .news-card-image {
		height: 292px;
	}

	.view-category .news-list-grid .category-badge {
		top: 12px;
	}

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

	.article-related-grid {
		display: flex;
		overflow-x: auto;
		padding-bottom: 6px;
		scroll-snap-type: x mandatory;
	}

	.article-related .news-card {
		flex: 0 0 min(279px, 82vw);
		scroll-snap-align: start;
		grid-template-columns: 1fr;
		height: auto;
		min-height: 201px;
	}

	.article-related .news-card-image {
		height: 120px;
	}

	.article-related .news-card-body {
		height: auto;
	}

	.page-hero {
		margin-left: -16px;
	}

	.view-category .news-card,
	.home-event-grid {
		grid-template-columns: 1fr;
	}

	.view-category .news-card,
	.current-issue-sticky {
		width: 100%;
	}

	.ad-price-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}

	.ad-price-row b {
		justify-items: start;
		text-align: left;
		white-space: normal;
	}

	.standard-page-header {
		grid-template-columns: 1fr;
	}

	.standard-page-header img {
		width: min(100%, 303px);
		height: auto;
		margin-top: 0;
	}

	.standard-social {
		margin-left: 0;
	}

	.standard-map img {
		height: auto;
		min-height: 260px;
	}

	.view-category .news-card-image {
		height: auto;
		aspect-ratio: 16 / 9;
	}
}

@media (max-width: 767px) {
	.site-container {
		width: min(100% - 24px, var(--container));
	}

	.header-top {
		align-items: flex-start;
		flex-direction: column;
		min-height: 0;
		gap: 16px;
		padding-block: 14px;
	}

	.brand-logo-image {
		width: min(100%, 320px);
	}

	.header-tools {
		width: 100%;
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
		justify-content: flex-start;
	}

	.header-search-meta {
		width: 100%;
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
	}

	.header-search {
		width: 100%;
	}

	.header-social {
		flex-wrap: wrap;
	}

	.nav-container {
		justify-content: space-between;
	}

	.nav-toggle {
		display: block;
	}

	.site-nav {
		display: none;
		padding-bottom: 10px;
	}

	.site-nav.is-open {
		display: block;
	}

	.site-nav .menu,
	.site-nav ul {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	.site-nav a,
	.site-nav .mod-menu__item > a {
		width: 100%;
		min-height: 42px;
	}

	.editorial-dropdown {
		position: static;
		display: none;
		min-width: 0;
		margin: 0 0 8px 16px;
		border-color: rgba(255, 255, 255, 0.16);
		background: rgba(255, 255, 255, 0.08);
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	.site-nav .has-editorial-dropdown:hover .editorial-dropdown,
	.site-nav .has-editorial-dropdown:focus-within .editorial-dropdown {
		display: grid;
	}

	.editorial-dropdown a {
		color: #ffffff;
	}

	.site-content {
		padding: 20px;
	}

	.view-featured .site-content,
	.view-category .site-content {
		padding: 0;
	}

	.page-hero {
		margin-top: -24px;
		margin-left: -12px;
	}

	.page-hero-inner {
		min-height: 170px;
		padding: 0;
	}

	.page-hero h1 {
		font-size: 30px;
	}

	.page-hero p {
		font-size: 16px;
	}

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

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

	.view-category .news-list-grid .news-card {
		height: auto;
		min-height: 0;
	}

	.view-category .news-list-grid .news-card-image {
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.view-category .news-list-grid .category-badge {
		top: 12px;
	}

	.article-related .news-card {
		grid-template-columns: 1fr;
		height: auto;
		min-height: 201px;
	}

	.article-related .news-card-image {
		height: 120px;
	}

	.news-filter-panel,
	.ad-service-card,
	.ad-contact-card {
		padding: 20px;
	}

	.ad-price-card h4,
	.ad-price-row,
	.ad-discounts {
		padding-inline: 18px;
	}

	.standard-page-card {
		min-height: 0;
		padding: 16px;
	}

	.standard-page-header h1 {
		font-size: 30px;
		line-height: 36px;
	}

	.home-hero-card {
		height: 360px;
	}

	.home-hero-layout {
		display: block;
		width: 100%;
	}

	.home-hero-card,
	.home-hero-aside {
		width: 100%;
	}

	.home-hero-aside {
		margin-top: 16px;
	}

	.home-secondary-grid,
	.home-media-grid,
	.home-category-grid,
	.home-ad-row > div,
	.home-ad-row > div > .mod-custom {
		overflow-x: auto;
	}

	.home-hero-content {
		gap: 18px;
	}

	.current-issue-card img,
	.current-issue-card a {
		width: calc(100% - 24px);
	}

	.com-content-article h1,
	.page-header h1,
	.site-content h1,
	.category-header h1,
	.article-header h1 {
		font-size: 30px;
	}

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

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

	.section-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.error-card {
		padding: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
