/*
Theme Name: МОНИТОР
Theme URI: https://monitor-agency.ru
Author: ООО «МОНИТОР»
Author URI: https://monitor-agency.ru
Description: Тема сайта исследовательского агентства МОНИТОР (Челябинск, УрФО). Прикладная социология, электоральные исследования и политическая аналитика.
Version: 1.5.3
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: Proprietary
Text Domain: monitor
*/

:root {
	--ink: #0d1117;
	--ink-light: #161b22;
	--bg: #ffffff;
	--bg-subtle: #f6f8fa;
	--bg-warm: #fafbfc;
	--bg-dark: #0f141c;
	--mark: #b82333;
	--mark-hover: #981725;
	--mark-subtle: #fdf2f2;
	--muted: #4a5568;
	--muted-light: #718096;
	--border: #e1e4e8;
	--border-subtle: #eaecef;
	--border-dark: #0d1117;
	--shadow-sm: 0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);
	--shadow-md: 0 4px 12px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.04);
	--shadow-lg: 0 12px 28px rgba(0,0,0,0.08), 0 2px 6px rgba(0,0,0,0.04);
	--radius-sm: 4px;
	--radius-md: 6px;
	--max: 1180px;
	--font-title: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
	--font-body: 'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

*, *::before, *::after {
	box-sizing: border-box;
}

html, body {
	overflow-x: hidden;
	width: 100%;
	max-width: 100%;
}

body {
	margin: 0;
	padding: 0;
	background: var(--bg);
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--ink);
	text-decoration: none;
	transition: all 0.15s ease;
}

a:hover {
	color: var(--mark);
}

.wrap {
	max-width: var(--max);
	margin: 0 auto;
	padding: 0 1.5rem;
}

.skip-link {
	position: absolute;
	top: -999px;
	left: -999px;
	background: var(--ink);
	color: #ffffff;
	padding: 0.5rem 1rem;
	z-index: 1000;
}
.skip-link:focus {
	top: 10px;
	left: 10px;
}

/* HEADER */
.site-header {
	background: rgba(255, 255, 255, 0.98);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--border);
	position: sticky;
	top: 0;
	z-index: 100;
}
.site-header__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.8rem 0;
	gap: 1.2rem;
}

/* BRAND LOGO */
.brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	flex-shrink: 0;
}
.brand img {
	height: 44px;
	max-width: 100%;
	width: auto;
	display: block;
	object-fit: contain;
}

/* NAV */
.site-nav {
	display: flex;
	align-items: center;
	gap: 0.2rem 0.8rem;
}
.nav-menu {
	display: flex;
	gap: 0.2rem 0.8rem;
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
	flex-wrap: nowrap;
}
.nav-menu a {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	padding: 0.35rem 0.2rem;
	position: relative;
	color: var(--muted);
	white-space: nowrap;
}
.nav-menu a.is-active,
.nav-menu a:hover,
.nav-menu .current-menu-item a {
	color: var(--ink);
}
.nav-menu a.is-active::after,
.nav-menu .current-menu-item a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 100%;
	height: 2px;
	background: var(--mark);
}
.header-phone {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--ink) !important;
	letter-spacing: 0.01em;
	margin-left: 0.4rem;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
}
.header-phone:hover {
	color: var(--mark) !important;
}
.header-cta {
	margin-left: 0.3rem;
	background: var(--mark);
	color: #ffffff !important;
	padding: 0.45rem 0.95rem;
	font-size: 0.74rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-weight: 700;
	border-radius: var(--radius-sm);
	box-shadow: 0 2px 6px rgba(184, 35, 51, 0.25);
	transition: all 0.15s ease;
	white-space: nowrap;
	flex-shrink: 0;
	border: 1px solid var(--mark);
}
.header-cta:hover {
	background: var(--mark-hover);
	box-shadow: 0 3px 10px rgba(184, 35, 51, 0.35);
}

/* HERO SECTION - PREMIUM RICH B2B LOOK */
.hero-rich {
	padding: 2.5rem 0 2.2rem;
	background: linear-gradient(180deg, #ffffff 0%, var(--bg-subtle) 100%);
	border-bottom: 1px solid var(--border);
}
.hero-rich__grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 2rem;
	align-items: center;
}
.hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	background: #fff;
	border: 1px solid var(--border);
	padding: 0.25rem 0.75rem;
	border-radius: 20px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 0.9rem;
	box-shadow: var(--shadow-sm);
}
.hero-badge__dot {
	width: 6px;
	height: 6px;
	background: var(--mark);
	border-radius: 50%;
}
.hero-brand-title {
	font-family: var(--font-body);
	font-size: clamp(2.2rem, 4.2vw, 3.2rem);
	line-height: 1.05;
	font-weight: 800;
	margin: 0 0 0.5rem;
	letter-spacing: -0.03em;
	color: var(--ink);
	text-transform: uppercase;
}
.hero-subhead {
	font-size: 1.05rem;
	font-weight: 500;
	color: var(--ink);
	margin: 0 0 0.9rem;
	line-height: 1.35;
}
.hero-lead-highlight {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--mark);
	margin: 0 0 0.9rem;
	display: inline-block;
	background: var(--mark-subtle);
	padding: 0.35rem 0.75rem;
	border-radius: var(--radius-sm);
	border-left: 3px solid var(--mark);
}
.hero-desc {
	font-size: 0.96rem;
	color: var(--muted);
	line-height: 1.5;
	margin: 0 0 1.4rem;
	max-width: 34rem;
}
.hero-actions {
	display: flex;
	gap: 0.8rem;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 0;
}
.btn-primary {
	background: var(--ink);
	color: #fff !important;
	padding: 0.7rem 1.4rem;
	font-size: 0.78rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-sm);
	border: 1px solid var(--ink);
	transition: all 0.2s ease;
}
.btn-primary:hover {
	background: var(--mark);
	border-color: var(--mark);
	box-shadow: 0 4px 12px rgba(184, 35, 51, 0.25);
}
.btn-outline {
	background: #fff;
	color: var(--ink) !important;
	padding: 0.7rem 1.4rem;
	font-size: 0.78rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-weight: 700;
	display: inline-block;
	border-radius: var(--radius-sm);
	border: 1px solid var(--border);
	box-shadow: var(--shadow-sm);
	transition: all 0.2s ease;
}
.btn-outline:hover {
	border-color: var(--ink);
	box-shadow: var(--shadow-md);
}

/* HERO ANALYTICAL DASHBOARD CARD */
.hero-dash {
	background: #ffffff;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-md);
	overflow: hidden;
}
.dash-header {
	background: var(--bg-dark);
	color: #ffffff;
	padding: 0.75rem 1.2rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.dash-header__title {
	font-family: var(--font-title);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.dash-header__live {
	display: inline-block;
	width: 7px;
	height: 7px;
	background: #3fb950;
	border-radius: 50%;
	box-shadow: 0 0 6px #3fb950;
}
.dash-header__status {
	font-size: 0.68rem;
	color: #8b949e;
	font-weight: 500;
}
.dash-body {
	padding: 1.1rem;
}
.dash-metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.6rem;
	margin-bottom: 1rem;
}
.metric-tile {
	background: var(--bg-subtle);
	border: 1px solid var(--border-subtle);
	padding: 0.75rem 0.6rem;
	border-radius: var(--radius-sm);
	text-align: center;
}
.metric-tile__num {
	font-family: var(--font-title);
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--ink);
	line-height: 1;
	margin-bottom: 0.25rem;
}
.metric-tile__num span {
	color: var(--mark);
}
.metric-tile__lbl {
	font-size: 0.64rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--muted-light);
	letter-spacing: 0.05em;
}

/* CHART INFOGRAPHIC IN DASH */
.dash-graph-box {
	background: #ffffff;
	border: 1px solid var(--border);
	padding: 0.9rem 1rem;
	border-radius: var(--radius-sm);
}
.dash-graph-header {
	display: flex;
	justify-content: space-between;
	font-size: 0.7rem;
	font-weight: 700;
	margin-bottom: 0.75rem;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.bar-row {
	margin-bottom: 0.6rem;
}
.bar-row:last-child {
	margin-bottom: 0;
}
.bar-meta {
	display: flex;
	justify-content: space-between;
	font-size: 0.74rem;
	font-weight: 600;
	margin-bottom: 0.25rem;
}
.bar-track {
	height: 7px;
	background: var(--bg-subtle);
	border-radius: 4px;
	overflow: hidden;
}
.bar-fill {
	height: 100%;
	border-radius: 4px;
	background: var(--ink);
}
.bar-fill.red {
	background: var(--mark);
}
.bar-fill.ldpr {
	background: #1e5ba8;
}
.bar-fill.nl {
	background: #00a896;
}
.bar-fill.srzp {
	background: #f39c12;
}
.bar-fill.accent {
	background: #3182ce;
}
.dash-footnote {
	font-size: 0.65rem;
	color: var(--muted-light);
	line-height: 1.35;
	margin-top: 0.7rem;
	padding-top: 0.5rem;
	border-top: 1px dashed var(--border);
}

/* 3 PILLARS SECTION - MODERN CARDS WITH ICONS */
.pillars-section {
	padding: 3rem 0;
	background: #ffffff;
	border-bottom: 1px solid var(--border);
}
.section-meta {
	text-align: center;
	max-width: 40rem;
	margin: 0 auto 2.2rem;
}
.section-tag {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--mark);
	margin-bottom: 0.35rem;
}
.section-heading {
	font-family: var(--font-title);
	font-size: clamp(1.4rem, 2.2vw, 1.85rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 0.5rem;
}
.section-sub {
	font-size: 0.95rem;
	color: var(--muted);
	margin: 0;
}

.pillars-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.2rem;
}
.pillar-card {
	background: #ffffff;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 1.8rem 1.5rem;
	box-shadow: var(--shadow-sm);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: all 0.2s ease;
	position: relative;
	overflow: hidden;
}
.pillar-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: transparent;
	transition: background 0.2s ease;
}
.pillar-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
	border-color: #cbd5e0;
}
.pillar-card:hover::before {
	background: var(--mark);
}
.pillar-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.1rem;
}
.pillar-icon {
	width: 42px;
	height: 42px;
	background: var(--bg-subtle);
	border: 1px solid var(--border-subtle);
	border-radius: var(--radius-sm);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ink);
}
.pillar-card:hover .pillar-icon {
	background: var(--mark-subtle);
	color: var(--mark);
	border-color: #fbd5d9;
}
.pillar-num {
	font-family: var(--font-title);
	font-size: 0.75rem;
	font-weight: 800;
	color: var(--muted-light);
}
.pillar-title {
	font-family: var(--font-title);
	font-size: 1.15rem;
	font-weight: 700;
	margin: 0 0 0.6rem;
	line-height: 1.25;
}
.pillar-desc {
	font-size: 0.88rem;
	color: var(--muted);
	margin: 0 0 1.2rem;
	line-height: 1.5;
	flex: 1;
}
.pillar-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--ink);
}
.pillar-link svg {
	transition: transform 0.15s ease;
}
.pillar-card:hover .pillar-link {
	color: var(--mark);
}
.pillar-card:hover .pillar-link svg {
	transform: translateX(3px);
}
.badge-dev {
	background: var(--bg-subtle);
	color: var(--muted);
	border: 1px solid var(--border);
	font-size: 0.62rem;
	padding: 0.15rem 0.4rem;
	border-radius: 4px;
	font-weight: 700;
	text-transform: uppercase;
	margin-left: 0.35rem;
	vertical-align: middle;
}

/* 6 SERVICES GRID */
.services-section {
	padding: 3rem 0;
	background: var(--bg-subtle);
	border-bottom: 1px solid var(--border);
}
.services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.1rem;
	margin-top: 1.5rem;
}
.service-card {
	background: #ffffff;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 1.5rem 1.35rem;
	box-shadow: var(--shadow-sm);
	transition: all 0.2s ease;
}
.service-card:hover {
	border-color: #cbd5e0;
	box-shadow: var(--shadow-md);
}
.service-card__head {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin-bottom: 0.8rem;
}
.service-icon-box {
	width: 34px;
	height: 34px;
	background: var(--bg-warm);
	border: 1px solid var(--border-subtle);
	border-radius: var(--radius-sm);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--mark);
	flex-shrink: 0;
}
.service-card__tag {
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--muted-light);
}
.service-card__title {
	font-family: var(--font-title);
	font-size: 1.02rem;
	font-weight: 700;
	margin: 0 0 0.45rem;
	line-height: 1.3;
}
.service-card__text {
	font-size: 0.88rem;
	color: var(--muted);
	margin: 0;
	line-height: 1.45;
}

/* TRUST & CLIENTS SECTION */
.trust-section {
	padding: 3rem 0;
	background: #ffffff;
	border-bottom: 1px solid var(--border);
}
.trust-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.6rem;
}
.trust-card {
	background: var(--bg-warm);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 2rem 1.8rem;
	box-shadow: var(--shadow-sm);
}
.trust-card h3 {
	font-family: var(--font-title);
	font-size: 1.2rem;
	font-weight: 800;
	margin: 0 0 0.8rem;
	line-height: 1.3;
}
.trust-card p {
	font-size: 0.92rem;
	color: var(--muted);
	margin: 0 0 1rem;
	line-height: 1.55;
}
.client-pills {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.client-pill {
	background: #ffffff;
	border: 1px solid var(--border);
	padding: 0.65rem 0.9rem;
	border-radius: var(--radius-sm);
	font-size: 0.88rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 0.55rem;
	color: var(--ink);
}
.client-pill svg {
	color: var(--mark);
	flex-shrink: 0;
}

/* EXPRESS BANNER */
.lead-banner {
	background: var(--bg-dark);
	color: #ffffff;
	padding: 2.4rem 0;
	border-bottom: 1px solid #21262d;
}
.lead-banner__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
	flex-wrap: wrap;
}
.lead-banner__text h3 {
	font-family: var(--font-title);
	font-size: 1.28rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: #ffffff;
}
.lead-banner__text p {
	margin: 0;
	color: #8b949e;
	font-size: 0.94rem;
}
.lead-banner .btn-primary {
	background: var(--mark);
	border-color: var(--mark);
}
.lead-banner .btn-primary:hover {
	background: #ffffff;
	color: var(--ink) !important;
	border-color: #ffffff;
}

/* FORM SECTION */
.form-section {
	padding: 3rem 0;
	background: var(--bg-subtle);
	border-bottom: 1px solid var(--border);
}
.form-layout {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 2.5rem;
	align-items: start;
}
.form-info h2 {
	font-family: var(--font-title);
	font-size: 1.6rem;
	font-weight: 800;
	margin: 0 0 0.8rem;
	line-height: 1.25;
}
.form-info p {
	color: var(--muted);
	font-size: 0.92rem;
	margin: 0 0 1.1rem;
	line-height: 1.55;
}
.contact-box {
	background: #ffffff;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	padding: 1rem 1.2rem;
	margin-top: 1rem;
	box-shadow: var(--shadow-sm);
}
.contact-box__lbl {
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--muted-light);
	margin-bottom: 0.25rem;
}
.contact-box__val {
	font-size: 0.94rem;
	font-weight: 600;
}

.monitor-form {
	background: #ffffff;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 1.8rem;
	box-shadow: var(--shadow-sm);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.2rem;
}
.form-group,
.monitor-form p {
	display: flex;
	flex-direction: column;
	margin: 0;
}
.form-group.full,
.monitor-form p.monitor-full,
.monitor-form p.monitor-submit {
	grid-column: 1 / -1;
}
.form-label,
.monitor-form label {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ink);
	margin-bottom: 0.35rem;
}
.form-label .req,
.monitor-form label .req {
	color: var(--mark);
}
.form-control,
.monitor-form input[type="text"],
.monitor-form input[type="email"],
.monitor-form select,
.monitor-form textarea {
	width: 100%;
	padding: 0.65rem 0.8rem;
	font-family: inherit;
	font-size: 0.9rem;
	background: var(--bg-warm);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	color: var(--ink);
	transition: all 0.15s ease;
}
.form-control:focus,
.monitor-form input:focus,
.monitor-form select:focus,
.monitor-form textarea:focus {
	outline: none;
	border-color: var(--mark);
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(184, 35, 51, 0.12);
}
textarea.form-control,
.monitor-form textarea {
	min-height: 90px;
	resize: vertical;
}
.consent-checkbox,
.monitor-consent {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	font-size: 0.78rem;
	color: var(--muted);
	line-height: 1.4;
	cursor: pointer;
}
.consent-checkbox input,
.monitor-consent input {
	margin-top: 0.15rem;
	accent-color: var(--mark);
}
.monitor-submit button {
	background: var(--ink);
	color: #fff !important;
	padding: 0.7rem 1.4rem;
	font-size: 0.78rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-weight: 700;
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-sm);
	border: 1px solid var(--ink);
	transition: all 0.2s ease;
	cursor: pointer;
	width: 100%;
}
.monitor-submit button:hover {
	background: var(--mark);
	border-color: var(--mark);
	box-shadow: 0 4px 12px rgba(184, 35, 51, 0.25);
}

/* INNER PAGES */
.page-header {
	background: linear-gradient(180deg, #ffffff 0%, var(--bg-subtle) 100%);
	border-bottom: 1px solid var(--border);
	padding: 2.8rem 0 2.2rem;
}
.page-header__tag {
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--mark);
	margin-bottom: 0.5rem;
}
.page-header__title {
	font-family: var(--font-title);
	font-size: clamp(1.65rem, 2.8vw, 2.3rem);
	font-weight: 800;
	margin: 0 0 0.6rem;
	line-height: 1.2;
}
.page-header__lead {
	font-size: 1.05rem;
	color: var(--muted);
	margin: 0;
	max-width: 42rem;
	line-height: 1.55;
}

.page-content-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 2rem;
	padding: 2.5rem 0;
}
.page-body-main {
	background: #ffffff;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 2.2rem 2rem;
	box-shadow: var(--shadow-sm);
}
.page-body-main h2 {
	font-family: var(--font-title);
	font-size: 1.22rem;
	font-weight: 800;
	margin: 1.8rem 0 0.7rem;
}
.page-body-main h2:first-child {
	margin-top: 0;
}
.page-body-main p {
	font-size: 0.96rem;
	line-height: 1.6;
	color: #2d3748;
	margin: 0 0 1rem;
}
.page-body-main ul {
	margin: 0 0 1.2rem;
	padding-left: 1.3rem;
	font-size: 0.95rem;
	line-height: 1.6;
}
.page-body-main li {
	margin-bottom: 0.5rem;
}
.page-sidebar {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.sidebar-box {
	background: var(--bg-warm);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 1.5rem 1.4rem;
	box-shadow: var(--shadow-sm);
}
.sidebar-box__tag {
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--mark);
	margin-bottom: 0.35rem;
}
.sidebar-box__title {
	font-family: var(--font-title);
	font-size: 1.02rem;
	font-weight: 700;
	margin: 0 0 0.4rem;
}
.sidebar-box__text {
	font-size: 0.86rem;
	color: var(--muted);
	margin: 0;
	line-height: 1.45;
}

/* FOOTER */
.site-footer {
	background: #0d1117;
	color: #c9d1d9;
	border-top: 1px solid #21262d;
	padding: 4.5rem 0 10rem;
	margin-bottom: 0;
}
.footer-top {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1.2fr;
	gap: 2.5rem;
	padding-bottom: 2.2rem;
	border-bottom: 1px solid #21262d;
}
.footer-col h4 {
	font-family: var(--font-title);
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #ffffff;
	margin: 0 0 1rem;
}
.footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-links li {
	margin-bottom: 0.6rem;
}
.footer-links a {
	font-size: 0.88rem;
	color: #8b949e;
	font-weight: 500;
}
.footer-links a:hover {
	color: #ffffff;
}
.footer-contact-p {
	margin: 0 0 0.6rem;
	font-size: 0.9rem;
	color: #8b949e;
	line-height: 1.5;
}
.footer-contact-p strong {
	color: #ffffff;
}
.footer-contact-p a {
	color: #ffffff;
	font-weight: 600;
}
.footer-contact-p a:hover {
	color: #e56868;
}
.footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 1.8rem;
	font-size: 0.82rem;
	color: #6e7681;
	flex-wrap: wrap;
	gap: 1rem;
}
.footer-bottom a {
	color: #8b949e;
}
.footer-bottom a:hover {
	color: #ffffff;
}

/* MOBILE AND TABLET ADAPTIVE (100% SCALE & SCREENS < 960px, < 768px, < 480px) */
.nav-toggle {
	display: none;
	background: transparent;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	width: 2.4rem;
	height: 2.4rem;
	padding: 0;
	cursor: pointer;
}
.nav-toggle__bars,
.nav-toggle__bars::before,
.nav-toggle__bars::after {
	display: block;
	width: 1.1rem;
	height: 2px;
	background: var(--ink);
	margin: 0 auto;
	position: relative;
}
.nav-toggle__bars::before,
.nav-toggle__bars::after {
	content: "";
	position: absolute;
	left: 0;
}
.nav-toggle__bars::before {
	top: -5px;
}
.nav-toggle__bars::after {
	top: 5px;
}

@media (max-width: 880px) {
	.site-header {
		position: relative;
	}
	.site-header__inner {
		padding: 0.65rem 0;
	}
	.nav-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	.site-nav,
	.nav-menu {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		background: #ffffff;
		border-bottom: 1px solid var(--border);
		padding: 1.2rem 1.5rem 1.5rem;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.9rem;
		box-shadow: var(--shadow-lg);
		z-index: 200;
	}
	.site-nav.is-open,
	.nav-menu.is-open {
		display: flex;
	}
	.nav-menu a {
		font-size: 0.85rem;
		width: 100%;
	}
	.header-phone {
		margin-left: 0;
		font-size: 0.9rem;
	}
	.header-cta {
		margin-left: 0;
		margin-top: 0.4rem;
		width: 100%;
		text-align: center;
		padding: 0.6rem 1rem;
		font-size: 0.82rem;
		display: inline-block;
	}
	.hero-rich__grid {
		grid-template-columns: 1fr;
		gap: 1.8rem;
	}
	.hero-dash {
		max-width: 38rem;
		width: 100%;
	}
	.pillars-grid,
	.services-grid,
	.trust-grid,
	.page-content-grid,
	.form-layout,
	.footer-top {
		grid-template-columns: 1fr;
	}
	.hero-brand-title {
		font-size: 2.4rem;
	}
}

@media (max-width: 680px) {
	.monitor-form {
		grid-template-columns: 1fr;
		padding: 1.2rem;
	}
}

@media (max-width: 540px) {
	.wrap {
		padding: 0 1rem;
	}
	.hero-rich {
		padding: 1.8rem 0 1.5rem;
	}
	.hero-brand-title {
		font-size: 2rem;
	}
	.hero-subhead {
		font-size: 0.95rem;
	}
	.dash-metrics {
		grid-template-columns: 1fr;
	}
}
