/* SERVICES CATALOG + SERVICE PAGE + BLOG + SINGLE + STATIC PAGES (playbook Промпти 6–14) */

/* ── SERVICES CATALOG ── */
.page-hero {
	padding: 140px 0 80px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	position: relative;
	overflow: hidden;
}

.page-hero-bg {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
	background-size: 60px 60px;
	pointer-events: none;
}

.page-hero h1 {
	font-size: clamp(36px, 5vw, 64px);
	font-weight: 900;
	letter-spacing: -2px;
	line-height: 1.05;
	max-width: 780px;
	margin-bottom: 20px;
}

.page-hero h1 em {
	font-style: normal;
	color: var(--gray-400);
}

.page-hero .lead {
	font-size: 17px;
	color: var(--gray-300);
	max-width: 520px;
	line-height: 1.6;
}

.filter-bar {
	display: flex;
	gap: 4px;
	padding: 32px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	flex-wrap: wrap;
}

.filter-tab {
	font-family: var(--font);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 8px 16px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: var(--gray-300);
	cursor: pointer;
	transition: all 0.2s;
}

.filter-tab:hover {
	border-color: rgba(255, 255, 255, 0.3);
	color: var(--white);
}

.filter-tab.active {
	background: var(--white);
	color: var(--black);
	border-color: var(--white);
}

.services-section {
	padding: 60px 0 100px;
}

/* B-128: каталог послуг — 3 / 2 / 1 колонки */
@media (max-width: 1024px) {
	.page-services-archive .services-grid--catalog {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.page-services-archive .services-grid--catalog {
		grid-template-columns: 1fr;
	}
}

.services-grid--catalog .svc-card.is-hidden {
	display: none;
}

.svc-card {
	background: var(--black);
	border: 1px solid rgba(255, 255, 255, 0.08);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: border-color 0.25s, background 0.25s;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}

.svc-card:hover {
	border-color: rgba(255, 255, 255, 0.25);
	background: rgba(255, 255, 255, 0.02);
}

.svc-card:focus-visible {
	outline: 2px solid var(--white);
	outline-offset: 2px;
}

.svc-num {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--gray-500);
}

.svc-body {
	padding: 32px 28px 28px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.svc-icon-px {
	display: grid;
	grid-template-columns: repeat(5, 6px);
	gap: 2px;
	margin-bottom: 20px;
}

.svc-icon-px span {
	display: block;
	width: 6px;
	height: 6px;
}

.svc-icon-px span.on {
	background: var(--white);
}

.svc-icon-px span.off {
	background: transparent;
}

.svc-icon-px span.dim {
	background: rgba(255, 255, 255, 0.25);
}

.svc-name {
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -0.5px;
	margin-bottom: 12px;
	line-height: 1.15;
}

.svc-desc {
	font-size: 14px;
	color: var(--gray-300);
	line-height: 1.65;
	flex: 1;
}

.svc-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 20px;
}

.svc-tag {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 4px 10px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	color: var(--gray-300);
}

.svc-checkup {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.03);
}

.svc-checkup-left {
	padding: 40px 36px;
	border-right: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.svc-checkup-left .svc-num {
	margin-bottom: 4px;
}

.svc-checkup-left .svc-name {
	font-size: 32px;
	letter-spacing: -1px;
	margin-bottom: 0;
}

.svc-checkup-left .svc-desc {
	font-size: 15px;
	max-width: 460px;
}

.svc-checkup-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--black);
	padding: 14px 24px;
	background: var(--white);
	align-self: flex-start;
	margin-top: 6px;
	transition: opacity 0.2s, transform 0.15s;
}

.svc-checkup-link:hover {
	opacity: 0.85;
	transform: translateY(-1px);
}

.svc-checkup-right {
	padding: 40px 36px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
}

.svc-checkup-stat {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
}

.svc-checkup-cell {
	padding: 24px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.svc-checkup-cell-num {
	font-size: 32px;
	font-weight: 900;
	letter-spacing: -1.5px;
	line-height: 1;
}

.svc-checkup-cell-lbl {
	font-size: 11px;
	color: var(--gray-400);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-top: 6px;
}

.cta-strip-wrap {
	background: var(--white);
	color: var(--black);
}

.cta-strip {
	padding: 80px 24px;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 60px;
	max-width: var(--c);
	margin: 0 auto;
}

.cta-strip-text {
	padding-left: 80px;
	position: relative;
}

.cta-strip-text::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 60px;
	height: 1px;
	background: #bbbbbb;
}

.cta-strip h2 {
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 900;
	letter-spacing: -1.5px;
	line-height: 1.05;
	margin-bottom: 12px;
	color: var(--black);
}

.cta-strip p {
	font-size: 15px;
	color: #555555;
	max-width: 420px;
}

/* ── SERVICE SINGLE ── */
.single-service-main .svc-hero {
	padding: 120px 0 0;
	position: relative;
	overflow: hidden;
}

.single-service-main .bg-grid {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
	background-size: 60px 60px;
	pointer-events: none;
}

.svc-hero-inner {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: 60px;
	align-items: end;
	padding: 48px 0 60px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	min-width: 0;
}

.svc-hero-inner > * {
	min-width: 0;
}

.svc-hero h1 {
	font-size: clamp(40px, 5vw, 68px);
	font-weight: 900;
	letter-spacing: -2px;
	line-height: 1.05;
	margin-bottom: 20px;
}

.svc-hero h1 em {
	font-style: normal;
	color: var(--gray-400);
}

.hero-desc {
	font-size: 17px;
	color: var(--gray-300);
	line-height: 1.65;
	max-width: 540px;
	margin-bottom: 36px;
}

.stat-panel {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	padding: 2px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
	position: relative;
}

.stat-panel::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	border-top: 2px solid var(--white);
	border-left: 2px solid var(--white);
}

.sp-cell {
	padding: 24px 20px;
	background: rgba(0, 0, 0, 0.4);
}

.sp-cell--alt {
	background: rgba(255, 255, 255, 0.06);
}

.sp-num {
	font-size: 34px;
	font-weight: 900;
	letter-spacing: -1.5px;
	line-height: 1;
}

.sp-label {
	font-size: 11px;
	color: var(--gray-300);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-top: 6px;
}

.svc-nav {
	background: rgba(255, 255, 255, 0.03);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 24px 0;
}

.svc-nav-inner {
	display: flex;
	gap: 2px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.svc-nav-inner::-webkit-scrollbar {
	display: none;
}

.svc-nav-item {
	flex-shrink: 0;
	padding: 12px 20px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--gray-300);
	transition: all 0.2s;
	white-space: nowrap;
}

.svc-nav-item:hover {
	background: rgba(255, 255, 255, 0.06);
	color: var(--white);
}

.svc-nav-item.current {
	background: var(--white);
	color: var(--black);
	border-color: var(--white);
}

.single-service-main section {
	padding: 80px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.process-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2px;
}

.step {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
	padding: 28px 24px;
	position: relative;
}

.step-n {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--gray-500);
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.step-n::after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(255, 255, 255, 0.08);
}

.step-title {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 8px;
}

.step-desc {
	font-size: 13px;
	color: var(--gray-300);
	line-height: 1.6;
}

.svc-industries-section .section-title {
	color: var(--white);
}

.svc-industries-list {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.svc-industry-pill {
	display: inline-block;
	padding: 12px 18px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 14px;
	font-weight: 600;
	color: var(--white);
	text-decoration: none;
	transition: border-color 0.2s, background 0.2s;
}

.svc-industry-pill:hover {
	border-color: rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.06);
}

.svc-industries-foot {
	margin-top: 28px;
	margin-bottom: 0;
}

.included-section {
	background: rgba(255, 255, 255, 0.02);
}

.included-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
}

.inc-block {
	border: 1px solid rgba(255, 255, 255, 0.08);
	padding: 32px;
	background: var(--black);
	transition: border-color 0.2s;
}

.inc-block:hover {
	border-color: rgba(255, 255, 255, 0.2);
}

.inc-block-title {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.inc-icon {
	width: 20px;
	height: 20px;
	display: grid;
	grid-template-columns: repeat(4, 4px);
	grid-template-rows: repeat(4, 4px);
	gap: 1px;
	flex-shrink: 0;
}

.inc-icon span {
	display: block;
	width: 4px;
	height: 4px;
	background: rgba(255, 255, 255, 0.25);
}

.inc-icon span.hi {
	background: var(--white);
}

.inc-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.inc-list li {
	font-size: 13px;
	color: var(--gray-300);
	display: flex;
	align-items: baseline;
	gap: 8px;
	line-height: 1.55;
}

.inc-list li::before {
	content: "";
	display: block;
	width: 4px;
	height: 4px;
	background: var(--gray-500);
	flex-shrink: 0;
	margin-top: 6px;
}

.svc-layout {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 48px;
	align-items: start;
	min-width: 0;
}

.svc-layout > * {
	min-width: 0;
}

.single-service-main .content-block {
	overflow-wrap: break-word;
	word-break: break-word;
	max-width: 100%;
}

/* B-137: довгі рядки в основному контенті послуги (мобайл) */
.single-service-main .svc-main-content {
	max-width: 100%;
	overflow-wrap: anywhere;
}

/* Імпортований контент / Elementor у колонці основного тексту послуги */
.single-service-main .svc-main-content .elementor {
	max-width: 100%;
}

.single-service-main .svc-main-content .elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 100%;
}

.single-service-main .svc-main-content img,
.single-service-main .svc-main-content iframe {
	max-width: 100%;
	height: auto;
}

.single-service-main .svc-main-content .alignwide,
.single-service-main .svc-main-content .alignfull {
	margin-left: 0;
	margin-right: 0;
	max-width: 100%;
}

/* Імпортований HTML Elementor у темній колонці: прибрати «білі» секції, вирівняти типографіку */
.single-service-main .svc-main-content .elementor-section {
	background-color: transparent !important;
	background-image: none !important;
}

.single-service-main .svc-main-content .elementor-background-overlay {
	display: none !important;
}

.single-service-main .svc-main-content .elementor-heading-title,
.single-service-main .svc-main-content .ekit-heading--title,
.single-service-main .svc-main-content .elementskit-section-title,
.single-service-main .svc-main-content .elementskit-info-box-title {
	color: var(--white) !important;
}

.single-service-main .svc-main-content .elementor-widget-text-editor,
.single-service-main .svc-main-content .elementor-widget-text-editor p,
.single-service-main .svc-main-content .elementskit-infobox p,
.single-service-main .svc-main-content .ekit-heading__description,
.single-service-main .svc-main-content .ekit-heading__description p {
	color: var(--gray-300) !important;
}

.single-service-main .svc-main-content .elementskit-infobox {
	background: rgba(255, 255, 255, 0.03) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.single-service-main .svc-main-content .elementskit-info-box-icon,
.single-service-main .svc-main-content .elementskit-info-box-icon i {
	color: var(--gray-200) !important;
}

.single-service-main .svc-main-content .elementor-post__title a {
	color: var(--white) !important;
}

.single-service-main .svc-main-content .elementor-post__excerpt p,
.single-service-main .svc-main-content .elementor-post__meta-data {
	color: var(--gray-400) !important;
}

.single-service-main .svc-main-content a.elementskit-single-testimonial-slider {
	border-color: rgba(255, 255, 255, 0.12) !important;
	background: rgba(255, 255, 255, 0.04) !important;
}

.single-service-main .svc-main-content .elementskit-commentor-content p {
	color: var(--gray-300) !important;
}

.single-service-main .svc-main-content .elementskit-author-name {
	color: var(--white) !important;
}

.single-service-main .svc-main-content .elementskit-author-des {
	color: var(--gray-500) !important;
}

.content-block h2 {
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 900;
	letter-spacing: -1px;
	margin-bottom: 16px;
	margin-top: 48px;
}

.content-block h2:first-child {
	margin-top: 0;
}

.single-service-main .content-block h3 {
	font-size: 18px;
	font-weight: 700;
	margin-top: 24px;
	margin-bottom: 10px;
	color: var(--white);
}

.single-service-main .content-block ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 24px;
	padding-left: 0;
}

.single-service-main .content-block ul li {
	font-size: 14px;
	color: var(--gray-300);
	display: flex;
	align-items: baseline;
	gap: 10px;
	line-height: 1.6;
}

.single-service-main .content-block ul li::before {
	content: "";
	display: block;
	width: 4px;
	height: 4px;
	background: var(--white);
	flex-shrink: 0;
	margin-top: 7px;
}

.single-service-main .content-block strong {
	color: var(--white);
	font-weight: 700;
}

.content-block p,
.post-content > p {
	font-size: 15px;
	color: var(--gray-300);
	line-height: 1.75;
	margin-bottom: 16px;
}

.form-sticky {
	position: sticky;
	top: 80px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	padding: 0;
	background: rgba(255, 255, 255, 0.03);
}

.form-sticky::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 14px;
	height: 14px;
	border-top: 2px solid var(--white);
	border-left: 2px solid var(--white);
	pointer-events: none;
	z-index: 1;
}

/* Портфоліо на сторінці послуги */
.portfolio-section {
	background: rgba(255, 255, 255, 0.02);
}

.section-title--portfolio {
	margin-bottom: 32px;
}

.portfolio-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
}

.portfolio-card {
	background: var(--black);
	border: 1px solid rgba(255, 255, 255, 0.08);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: border-color 0.25s;
}

.portfolio-card:hover {
	border-color: rgba(255, 255, 255, 0.25);
}

.portfolio-card--featured {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1.4fr 1fr;
}

.portfolio-card-cover {
	aspect-ratio: 16 / 10;
	position: relative;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01));
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
	overflow: hidden;
}

.portfolio-card--featured .portfolio-card-cover {
	aspect-ratio: auto;
	min-height: 420px;
}

.portfolio-card-cover-image {
	position: absolute;
	inset: 0;
}

.portfolio-card-cover-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.portfolio-card-cover:has(.portfolio-card-cover-image) .portfolio-px {
	display: none;
}

.browser-mock {
	width: 100%;
	max-width: 560px;
	background: rgba(0, 0, 0, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.1);
	display: flex;
	flex-direction: column;
	position: relative;
}

.browser-bar {
	padding: 10px 14px;
	display: flex;
	align-items: center;
	gap: 6px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.02);
}

.browser-bar .dot {
	width: 9px;
	height: 9px;
	background: rgba(255, 255, 255, 0.18);
	border-radius: 50%;
}

.browser-url {
	margin-left: 14px;
	font-size: 11px;
	color: var(--gray-400);
	font-family: "SFMono-Regular", Consolas, ui-monospace, monospace;
	letter-spacing: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.browser-content {
	padding: 24px 28px;
	min-height: 240px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.bm-line {
	height: 6px;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 1px;
}

.bm-line.lg {
	height: 14px;
	width: 65%;
	background: rgba(255, 255, 255, 0.18);
}

.bm-line.md {
	height: 8px;
	width: 48%;
}

.bm-line.sm {
	height: 5px;
	width: 30%;
	background: rgba(255, 255, 255, 0.05);
}

.bm-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin-top: auto;
}

.bm-cell {
	height: 50px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.06);
	position: relative;
}

.bm-cell::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 8px;
	width: 14px;
	height: 14px;
	background: rgba(255, 255, 255, 0.08);
}

.bm-pacta-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 14px;
}

.bm-pacta-card {
	padding: 12px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.06);
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-height: 80px;
}

.bm-pacta-avatar {
	width: 24px;
	height: 24px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 50%;
}

.bm-pacta-line {
	height: 4px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 1px;
}

.bm-dash-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 6px;
	margin-bottom: 10px;
}

.bm-dash-stat {
	padding: 8px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.06);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.bm-dash-num {
	height: 10px;
	width: 60%;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 1px;
}

.bm-dash-lbl {
	height: 4px;
	width: 80%;
	background: rgba(255, 255, 255, 0.06);
	border-radius: 1px;
}

.bm-dash-chart {
	height: 80px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.06);
	overflow: hidden;
	padding: 8px;
}

.bm-dash-chart svg {
	width: 100%;
	height: 100%;
}

.portfolio-px {
	position: absolute;
	top: 14px;
	right: 14px;
	display: grid;
	grid-template-columns: repeat(4, 5px);
	grid-template-rows: repeat(4, 5px);
	gap: 2px;
	z-index: 3;
	opacity: 0.5;
}

.portfolio-px span {
	display: block;
	width: 5px;
	height: 5px;
	background: var(--white);
}

.portfolio-px span.off {
	background: transparent;
}

.portfolio-card-body {
	padding: 32px 28px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
}

.portfolio-card--featured .portfolio-card-body {
	padding: 48px 40px;
}

.portfolio-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
	flex-wrap: wrap;
}

.portfolio-tag {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gray-300);
	border: 1px solid rgba(255, 255, 255, 0.15);
	padding: 4px 10px;
}

.portfolio-year {
	font-size: 11px;
	color: var(--gray-500);
	font-weight: 600;
	letter-spacing: 0.06em;
}

.portfolio-title {
	font-size: 20px;
	font-weight: 900;
	letter-spacing: -0.5px;
	line-height: 1.2;
	margin-bottom: 4px;
	color: var(--white);
}

.portfolio-card--featured .portfolio-title {
	font-size: 28px;
	letter-spacing: -1px;
}

.portfolio-desc {
	font-size: 14px;
	color: var(--gray-300);
	line-height: 1.65;
	margin-bottom: 14px;
}

.portfolio-metrics {
	font-size: 13px;
	color: var(--white);
	font-weight: 600;
	padding: 14px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	margin-bottom: 14px;
	letter-spacing: 0.02em;
	line-height: 1.5;
}

.portfolio-role {
	font-size: 11px;
	color: var(--gray-500);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 14px;
}

.portfolio-role strong {
	color: var(--gray-300);
	font-weight: 600;
}

.portfolio-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--white);
	border-bottom: 1px solid var(--gray-500);
	padding-bottom: 2px;
	transition: gap 0.2s, border-color 0.2s;
	align-self: flex-start;
	margin-top: 4px;
	text-decoration: none;
}

.portfolio-link:hover {
	gap: 10px;
	border-color: var(--white);
}

.portfolio-link.disabled {
	color: var(--gray-500);
	border-bottom-color: var(--gray-600);
	pointer-events: none;
}

.results-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
	align-items: stretch;
}

/* B-133: вирівнювання з рештою секцій */
.single-service-main .service-results-section .results-grid {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	box-sizing: border-box;
}

.result-card {
	padding: 36px 28px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	text-align: center;
	background: rgba(255, 255, 255, 0.02);
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: 100%;
	box-sizing: border-box;
}

.result-num {
	font-size: 52px;
	font-weight: 900;
	letter-spacing: -3px;
	margin-bottom: 8px;
	line-height: 1;
	min-height: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
}

.result-label {
	font-size: 13px;
	color: var(--gray-300);
	line-height: 1.5;
	flex: 1 1 auto;
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

.faq-list {
	display: flex;
	flex-direction: column;
}

.faq-item {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.faq-q {
	font-size: 16px;
	font-weight: 600;
	padding: 20px 0;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	width: 100%;
	background: none;
	border: none;
	color: inherit;
	font-family: inherit;
	text-align: left;
}

.faq-toggle {
	font-size: 18px;
	color: var(--gray-400);
	flex-shrink: 0;
	transition: transform 0.25s;
}

.faq-item.is-open .faq-toggle {
	transform: rotate(45deg);
}

.faq-a {
	font-size: 14px;
	color: var(--gray-300);
	line-height: 1.7;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s ease, padding 0.25s;
	padding: 0;
}

.faq-item.is-open .faq-a {
	max-height: min(2400px, 140vh);
	padding-bottom: 20px;
}

/* ── BLOG ── */
.page-blog .hero {
	padding: 64px 0 28px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.page-blog .hero-inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	max-width: 880px;
}

.page-blog .hero .hero-eyebrow {
	margin-bottom: 10px;
}

.hero-eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gray-500);
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.hero-eyebrow::before {
	content: "";
	display: block;
	width: 20px;
	height: 1px;
	background: var(--gray-500);
}

.page-blog .hero h1 {
	font-size: clamp(38px, 5vw, 68px);
	font-weight: 900;
	letter-spacing: -2px;
	line-height: 1.05;
	margin-bottom: 8px;
}

.page-blog .hero p {
	font-size: 16px;
	color: var(--gray-300);
	line-height: 1.6;
}

.cat-tabs {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 4px;
	padding: 24px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.page-blog .cat-tabs {
	gap: 0;
	padding: 14px 0;
}

/* Перша контентна секція після табів («Вибір редакції» тощо) */
.page-blog .wrap + section.sec {
	padding-top: 32px;
}

.cat-tab {
	flex-shrink: 0;
	font-family: var(--font);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 8px 14px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: var(--gray-300);
	cursor: pointer;
	transition: border-color 0.2s, color 0.2s, background 0.2s;
	white-space: nowrap;
	text-decoration: none;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.page-blog .cat-tabs .cat-tab {
	margin-left: -1px;
}

.page-blog .cat-tabs .cat-tab:first-child {
	margin-left: 0;
	border-radius: 2px 0 0 2px;
}

.page-blog .cat-tabs .cat-tab:last-child {
	border-radius: 0 2px 2px 0;
}

.cat-tab:hover {
	border-color: rgba(255, 255, 255, 0.3);
	color: var(--white);
}

.page-blog .cat-tabs .cat-tab:hover {
	position: relative;
	z-index: 1;
}

.cat-tab.on,
a.cat-tab.on {
	background: var(--white);
	color: var(--black);
	border-color: var(--white);
}

.page-blog .cat-tabs .cat-tab.on,
.page-blog .cat-tabs a.cat-tab.on {
	position: relative;
	z-index: 2;
}

span.cat-tab[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.45;
	pointer-events: none;
}

.sec {
	padding: 56px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.sec-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 24px;
	gap: 20px;
}

.sec-title {
	font-size: 20px;
	font-weight: 900;
	letter-spacing: -0.5px;
}

.sec-more {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gray-400);
	border-bottom: 1px solid var(--gray-600);
	padding-bottom: 2px;
}

.cover {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 16 / 9;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	border: 1px solid rgba(255, 255, 255, 0.08);
	transition: border-color 0.25s;
}

.cover:hover {
	border-color: rgba(255, 255, 255, 0.28);
}

.cover img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.cover-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.72) 70%, rgba(0, 0, 0, 0.9) 100%);
	z-index: 1;
}

.cover-px {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 3;
	display: grid;
	gap: 2px;
	opacity: 0.55;
}

.cover-px.s4 {
	grid-template-columns: repeat(4, 6px);
	grid-template-rows: repeat(4, 6px);
}

.cover-px.s3 {
	grid-template-columns: repeat(3, 5px);
	grid-template-rows: repeat(3, 5px);
}

.cover-px span {
	display: block;
	background: #ffffff;
}

.cover-px.s4 span {
	width: 6px;
	height: 6px;
}

.cover-px.s3 span {
	width: 5px;
	height: 5px;
}

.cover-px span.off {
	background: transparent;
}

.cover-tag {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	background: rgba(10, 10, 10, 0.55);
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: #ffffff;
	padding: 4px 10px;
}

.cover-body {
	position: relative;
	z-index: 2;
	padding: 14px 16px 18px;
}

.cover-title {
	font-size: clamp(13px, 1.6vw, 17px);
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: -0.3px;
	color: #ffffff;
}

.cover-sm .cover-title {
	font-size: clamp(12px, 1.3vw, 14px);
}

.editorial {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
}

/* Блог: «Вибір редакції» — великий блок зліва, два менші справа (.page-blog — вища специфічність) */
.page-blog .editorial--hero-grid {
	grid-template-columns: minmax(0, 1.62fr) minmax(0, 1fr);
	align-items: stretch;
}

.page-blog .editorial--hero-grid .editorial__featured,
.page-blog .editorial--hero-grid .editorial__secondary {
	min-width: 0;
}

.page-blog .editorial--hero-grid .editorial__featured {
	align-self: start;
	width: 100%;
}

/*
 * Ліва картка: img position:absolute — висоту дає лише aspect-ratio (не height:100%, інакше рядок сітки
 * стискається до блоку заголовка, а дві малі справа «ламаються»).
 */
.page-blog .editorial--hero-grid .editorial__featured .cover {
	width: 100%;
	height: auto;
	min-height: 0;
	aspect-ratio: 16 / 9;
}

.page-blog .editorial--hero-grid .editorial__secondary {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-height: 0;
	align-self: stretch;
}

.page-blog .editorial--hero-grid .editorial__secondary .cover {
	flex: 1 1 0;
	min-height: 0;
	aspect-ratio: auto;
	height: auto;
	align-self: stretch;
}

/* Другорядні картки: рівна висота з лівою колонкою, більше місця під заголовок */
.page-blog .editorial--hero-grid .editorial__secondary .cover .cover-body {
	padding: 12px 14px 16px;
}

.page-blog .editorial--hero-grid .editorial__secondary .cover .cover-title {
	font-size: clamp(13px, 1.38vw, 17px);
	line-height: 1.3;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.page-blog .editorial--hero-grid .editorial__featured .cover-title {
	font-size: clamp(15px, 1.9vw, 21px);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	overflow: hidden;
	line-height: 1.22;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.cases {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
}

.news-list {
	display: flex;
	flex-direction: column;
}

.ni {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 24px;
	align-items: start;
	padding: 18px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	transition: padding-left 0.18s;
	text-decoration: none;
	color: inherit;
}

.ni:hover {
	padding-left: 8px;
}

.ni-title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	margin-bottom: 5px;
}

.ni-excerpt {
	font-size: 13px;
	color: var(--gray-400);
	line-height: 1.6;
}

.ni-date {
	font-size: 11px;
	color: var(--gray-600);
	white-space: nowrap;
	font-weight: 600;
}

.articles {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ac {
	display: grid;
	grid-template-columns: 300px 1fr;
	border: 1px solid rgba(255, 255, 255, 0.08);
	overflow: hidden;
	transition: border-color 0.25s;
	text-decoration: none;
	color: inherit;
}

.ac:hover {
	border-color: rgba(255, 255, 255, 0.28);
}

.cover-hor {
	position: relative;
	min-height: 220px;
	height: 100%;
}

.cover-hor img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ac-body {
	padding: 24px 28px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: var(--black);
}

.ac-cat {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gray-400);
	border: 1px solid rgba(255, 255, 255, 0.12);
	padding: 3px 9px;
	display: inline-block;
	margin-bottom: 12px;
}

.ac-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	margin-bottom: 10px;
}

.ac-excerpt {
	font-size: 14px;
	color: var(--gray-400);
	line-height: 1.65;
}

.ac-foot {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.ac-av {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
}

.ac-author {
	font-size: 12px;
	font-weight: 700;
}

.ac-date {
	font-size: 11px;
	color: var(--gray-600);
}

/* ── BLOG: ритм статей 1 широка + 3 компактні ── */
.page-blog .articles--rhythm {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.page-blog .articles-rhythm-row--compact {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2px;
}

.page-blog .art-rhythm-wide {
	display: grid;
	grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
	align-items: stretch;
	min-height: 220px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.25s;
}

.page-blog .art-rhythm-wide:hover {
	border-color: rgba(255, 255, 255, 0.28);
}

.page-blog .art-rhythm-wide__media {
	position: relative;
	min-height: 200px;
	background: rgba(255, 255, 255, 0.04);
}

.page-blog .art-rhythm-wide__media img.adstorm-blog-card-photo {
	width: 100%;
	height: 100%;
	display: block;
	min-height: 200px;
}

.page-blog .art-rhythm-wide__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 200px;
	background: rgba(255, 255, 255, 0.06);
}

.page-blog .art-rhythm-wide__media-tag {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--white);
	background: rgba(10, 10, 10, 0.55);
	border: 1px solid rgba(255, 255, 255, 0.25);
	padding: 3px 9px;
}

.page-blog .art-rhythm-wide__body {
	padding: 22px 26px 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0;
	background: var(--black);
}

.page-blog .art-rhythm-wide__cat {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gray-400);
	border: 1px solid rgba(255, 255, 255, 0.12);
	padding: 3px 9px;
	display: inline-block;
	margin-bottom: 12px;
	align-self: flex-start;
}

.page-blog .art-rhythm-wide__title {
	font-size: clamp(20px, 2.4vw, 28px);
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: -0.5px;
	margin: 0 0 10px;
	color: var(--white);
}

.page-blog .art-rhythm-wide__excerpt {
	font-size: 14px;
	color: var(--gray-400);
	line-height: 1.65;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.page-blog .art-rhythm-wide__foot {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Аватар автора: розміри картки (фільтри/рамка — main.css + design-tokens) */
.page-blog .art-rhythm-wide__av.adstorm-person-thumb,
.page-blog .art-rhythm-compact__av.adstorm-person-thumb {
	flex-shrink: 0;
}

.page-blog .art-rhythm-wide__av.adstorm-person-thumb {
	width: 32px;
	height: 32px;
}

.page-blog .art-rhythm-compact__av.adstorm-person-thumb {
	width: 28px;
	height: 28px;
}

.page-blog .art-rhythm-wide__meta {
	font-size: 12px;
	font-weight: 600;
	color: var(--gray-400);
}

.page-blog .art-rhythm-wide__dot {
	margin: 0 4px;
	color: var(--gray-600);
}

.page-blog .art-rhythm-compact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 100%;
	padding: 20px 18px 18px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: var(--black);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.25s;
}

.page-blog .art-rhythm-compact:hover {
	border-color: rgba(255, 255, 255, 0.28);
}

.page-blog .art-rhythm-compact__cat {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gray-400);
	border: 1px solid rgba(255, 255, 255, 0.12);
	padding: 3px 9px;
	margin-bottom: 12px;
}

.page-blog .art-rhythm-compact__title {
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.3px;
	margin: 0 0 8px;
	color: var(--white);
}

.page-blog .art-rhythm-compact__excerpt {
	font-size: 13px;
	color: var(--gray-400);
	line-height: 1.6;
	margin: 0 0 auto;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex-grow: 0;
}

.page-blog .art-rhythm-compact__foot {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	width: 100%;
}

.page-blog .art-rhythm-compact__meta {
	font-size: 11px;
	font-weight: 600;
	color: var(--gray-500);
}

.page-blog .art-rhythm-compact__dot {
	margin: 0 3px;
	color: var(--gray-600);
}

/* ── SINGLE POST ── */
.single-post-main .post-hero {
	padding: 80px 0 24px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.post-layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 60px;
	align-items: start;
	padding: 48px 0 80px;
}

.post-content {
	min-width: 0;
}

/*
 * Блок «кроків SEO» з імпорту + дубль повного правила, якщо в WPCode обірвано
 * `.seo-steps ul ul { list-style-type: circle` без `}`.
 */
.page-default article .seo-steps,
.post-content .seo-steps,
.single-service-main .content-block .seo-steps {
	font-family: var(--font, 'Montserrat', sans-serif);
	font-size: 14px;
	color: inherit;
	line-height: 1.6;
}

.page-default article .seo-steps h3,
.post-content .seo-steps h3,
.single-service-main .content-block .seo-steps h3 {
	font-weight: 700;
	font-size: 18px;
	margin-bottom: 12px;
}

.page-default article .seo-steps p,
.post-content .seo-steps p,
.single-service-main .content-block .seo-steps p {
	margin: 0 0 12px;
}

.page-default article .seo-steps strong,
.post-content .seo-steps strong,
.single-service-main .content-block .seo-steps strong {
	font-weight: 600;
}

.page-default article .seo-steps ul,
.post-content .seo-steps ul,
.single-service-main .content-block .seo-steps ul {
	list-style-type: disc;
	list-style-position: outside;
	padding-left: 24px;
	margin: 12px 0;
}

.page-default article .seo-steps ul ul,
.post-content .seo-steps ul ul,
.single-service-main .content-block .seo-steps ul ul {
	list-style-type: circle;
}

.post-content ol,
.single-service-main .content-block ol,
.page-default article .content ol {
	margin: 12px 0;
	padding-left: 28px;
	list-style-position: outside;
	font-size: 14px;
	color: var(--gray-300);
	line-height: 1.65;
}

.post-content ol li,
.single-service-main .content-block ol li {
	margin: 6px 0;
	padding-left: 4px;
}

/* B-136: нумеровані списки в імпортованому контенті (Elementor) — як у звичайному .content-block */
.single-service-main .svc-main-content .elementor-widget-text-editor ol,
.single-service-main .svc-main-content .elementor-widget-text-editor ol li,
.single-service-main .svc-main-content .elementskit-infobox ol,
.single-service-main .svc-main-content .elementskit-infobox ol li {
	font-size: 14px;
	color: var(--gray-300);
	line-height: 1.65;
}

.single-service-main .svc-main-content .elementor-widget-text-editor ol,
.single-service-main .svc-main-content .elementskit-infobox ol {
	margin: 12px 0;
	padding-left: 28px;
	list-style-position: outside;
}

.post-sidebar {
	position: sticky;
	top: 80px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.sidebar-block {
	border: 1px solid rgba(255, 255, 255, 0.1);
	padding: 20px;
	background: rgba(255, 255, 255, 0.02);
}

#toc {
	font-size: 12px;
}

#toc a {
	color: var(--gray-300);
	display: block;
	padding: 6px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

#toc a.is-active {
	color: var(--white);
}

.sidebar-cta {
	background: var(--white);
	color: var(--black);
	padding: 24px;
}

/* ── POLICY / LEGAL ── */
.page-policy .page-layout {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 48px;
	align-items: start;
	padding: 48px 0 80px;
}

.page-policy .content h2 {
	scroll-margin-top: 80px;
}

/* ── SEARCH ── */
.search-form {
	display: flex;
	gap: 0;
}

.search-field {
	flex: 1;
	padding: 12px 16px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-right: none;
	color: var(--white);
	font-family: var(--font);
	font-size: 15px;
	outline: none;
}

.search-submit {
	background: var(--white);
	color: var(--black);
	font-family: var(--font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 12px 24px;
	border: none;
	cursor: pointer;
}

.search-field:focus {
	border-color: rgba(255, 255, 255, 0.3);
}

.cover-placeholder {
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.04);
}

.cover-placeholder--hor {
	position: absolute;
	inset: 0;
}

.ac-dot {
	width: 3px;
	height: 3px;
	background: var(--gray-600);
	flex-shrink: 0;
	border-radius: 50%;
}

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

.blog-load-more-wrap {
	display: flex;
	justify-content: center;
	margin-top: 28px;
}

.blog-load-more-btn:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}

.pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pagination li {
	margin: 0;
}

.pagination a,
.pagination span {
	display: inline-block;
	padding: 10px 14px;
	font-size: 13px;
	font-weight: 700;
	color: var(--gray-300);
	border: 1px solid rgba(255, 255, 255, 0.08);
	min-width: 42px;
	text-align: center;
}

.pagination a:hover {
	border-color: rgba(255, 255, 255, 0.3);
	color: var(--white);
}

.pagination .current {
	background: var(--white);
	color: var(--black);
	border-color: var(--white);
}

/* ── ABOUT / CONTACTS (Промпт 11) ── */
.bg-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
	background-size: 60px 60px;
	pointer-events: none;
}

.page-about .about-hero,
.page-contacts .contact-hero,
.page-policy .policy-hero {
	position: relative;
	overflow: hidden;
}

.page-about .about-hero {
	padding: 140px 0 80px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.page-about .mission-section {
	padding: 100px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.page-about .mission-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: start;
}

.page-about .approach-section {
	padding: 100px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.02);
}

.page-about .approach-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 48px;
	gap: 40px;
	flex-wrap: wrap;
}

.page-about .approach-lead {
	font-size: 15px;
	color: var(--gray-300);
	max-width: 340px;
	margin: 0;
}

.page-about .approach-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
}

.page-about .approach-card {
	background: var(--black);
	border: 1px solid rgba(255, 255, 255, 0.08);
	padding: 32px 28px;
}

.page-about .approach-n {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--gray-500);
	margin-bottom: 20px;
}

.page-about .approach-title {
	font-size: 20px;
	font-weight: 900;
	margin-bottom: 12px;
	line-height: 1.2;
}

.page-about .approach-desc {
	font-size: 14px;
	color: var(--gray-300);
	line-height: 1.65;
}

.page-about .spec-section {
	padding: 100px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.page-about .spec-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.page-about .spec-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 32px;
}

.page-about .pill {
	font-size: 13px;
	font-weight: 600;
	border: 1px solid rgba(255, 255, 255, 0.2);
	padding: 8px 16px;
	background: transparent;
	color: var(--white);
	font-family: var(--font);
	cursor: pointer;
}

.page-about .pill.active {
	background: var(--white);
	color: var(--black);
	border-color: var(--white);
}

.page-about .spec-numbers {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
}

.page-about .spec-num-cell {
	padding: 32px 24px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.03);
}

.page-about .spec-num {
	font-size: 42px;
	font-weight: 900;
	letter-spacing: -2px;
	line-height: 1;
	margin-bottom: 6px;
}

.page-about .spec-num-lbl {
	font-size: 12px;
	color: var(--gray-300);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.page-about .team-section {
	padding: 100px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.page-about .team-lead {
	font-size: 15px;
	color: var(--gray-300);
	max-width: 520px;
	margin: 8px 0 0;
}

.page-about .team-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
	margin-top: 40px;
}

.page-about .team-card {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.07);
	padding: 28px 24px;
}

.page-about .team-avatar {
	width: 60px;
	height: 60px;
	background: rgba(255, 255, 255, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 18px;
}

.page-about .team-name {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 4px;
}

.page-about .team-role {
	font-size: 12px;
	color: var(--gray-400);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 0;
}

.page-about .team-social-row.social-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	margin-bottom: 12px;
}

.page-about .team-social-row .soc-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	padding: 4px 6px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--gray-400);
	border: 1px solid rgba(255, 255, 255, 0.12);
	text-decoration: none;
	transition: color 0.2s, border-color 0.2s, background 0.2s;
}

.page-about .team-social-row .soc-link:hover {
	color: var(--white);
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.06);
}

.page-about .team-bio {
	font-size: 13px;
	color: var(--gray-300);
	line-height: 1.55;
}

.page-about .cta-section {
	background: var(--white);
	color: var(--black);
	padding: 80px 0;
	text-align: center;
}

.page-about .cta-section h2 {
	font-size: clamp(28px, 4vw, 48px);
	font-weight: 900;
	line-height: 1.05;
	margin-bottom: 16px;
	color: var(--black);
}

.page-about .cta-section p {
	font-size: 16px;
	color: #555;
	max-width: 440px;
	margin: 0 auto 32px;
}

.page-about .btn-dark {
	display: inline-block;
	background: var(--black);
	color: var(--white);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 16px 32px;
	text-decoration: none;
}

.page-contacts .contact-hero {
	padding: 120px 0 60px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.page-contacts .contact-main {
	padding: 60px 0 100px;
	display: grid;
	grid-template-columns: 1fr 440px;
	gap: 80px;
	align-items: start;
}

.page-contacts .contact-form {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.12);
	padding: 40px;
	position: relative;
}

.page-contacts .ci-block {
	padding: 32px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.page-contacts .ci-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gray-600);
	margin-bottom: 12px;
}

.page-contacts .ci-value {
	font-size: 20px;
	font-weight: 700;
}

.page-contacts .ci-sub {
	font-size: 13px;
	color: var(--gray-400);
	margin-top: 4px;
}

.page-contacts .social-links {
	display: flex;
	gap: 8px;
	margin-top: 16px;
}

.page-contacts .soc-link {
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	color: var(--gray-400);
	text-decoration: none;
}

.page-contacts .soc-link:hover,
.author-archive .am-social .soc-link:hover {
	background: rgba(255, 255, 255, 0.08);
	color: var(--white);
	border-color: rgba(255, 255, 255, 0.3);
}

.author-archive .am-social.social-links {
	display: flex;
	gap: 8px;
	margin-top: 8px;
	flex-wrap: wrap;
}

.author-archive .am-social .soc-link {
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	color: var(--gray-400);
	text-decoration: none;
}

.page-contacts .trust-badges {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
	margin-top: 32px;
}

.page-contacts .trust-badge {
	border: 1px solid rgba(255, 255, 255, 0.08);
	padding: 16px;
	text-align: center;
}

.page-contacts .tb-num {
	font-size: 28px;
	font-weight: 900;
	margin-bottom: 4px;
}

.page-contacts .tb-label {
	font-size: 11px;
	color: var(--gray-400);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.page-contacts .process-strip {
	background: rgba(255, 255, 255, 0.02);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 60px 0;
}

.page-contacts .process-strip-title {
	font-size: clamp(24px, 3vw, 40px);
	font-weight: 900;
	letter-spacing: -1px;
	margin: 8px 0 40px;
}

.page-contacts .ps-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2px;
}

.page-contacts .ps-item {
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.page-contacts .ps-n {
	font-size: 11px;
	color: var(--gray-600);
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 12px;
}

.page-contacts .ps-title {
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 6px;
}

.page-contacts .ps-desc {
	font-size: 12px;
	color: var(--gray-400);
	line-height: 1.6;
}

/* ── AUTHOR / TAG (Промпт 12) ── */
.author-archive .author-hero {
	position: relative;
	overflow: hidden;
	padding: 120px 0 64px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.tag-archive .tag-hero {
	position: relative;
	overflow: hidden;
	padding: 72px 0 32px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.author-archive .author-card {
	display: grid;
	grid-template-columns: 160px 1fr 280px;
	gap: 48px;
	align-items: start;
	position: relative;
	z-index: 1;
}

.author-archive .author-bio {
	margin-top: 16px;
	font-size: 15px;
	line-height: 1.65;
	color: var(--gray-300);
	max-width: 560px;
}

.author-archive .author-bio p {
	margin: 0 0 0.75em;
}

.author-archive .author-bio p:last-child {
	margin-bottom: 0;
}

.author-archive .author-avatar {
	width: 160px;
	height: 160px;
	border: var(--adstorm-person-photo-border);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;
	background: var(--adstorm-person-photo-bg);
}

.author-archive .author-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--adstorm-person-photo-object-position);
	filter: var(--adstorm-person-photo-filter);
	transition: var(--adstorm-person-photo-transition);
	transform: var(--adstorm-person-photo-transform);
}

.author-archive .author-avatar:hover img {
	filter: var(--adstorm-person-photo-filter-hover);
	transform: var(--adstorm-person-photo-transform-hover);
}

.author-archive .author-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: rgba(255, 255, 255, 0.06);
}

.author-archive .am-cell {
	background: var(--black);
	border: 1px solid rgba(255, 255, 255, 0.06);
	padding: 18px 20px;
}

.author-archive .am-num {
	font-size: 24px;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 4px;
}

.author-archive .am-label {
	font-size: 11px;
	color: var(--gray-400);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.author-archive .author-articles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
}

.author-archive .author-empty {
	grid-column: 1 / -1;
	color: var(--gray-400);
}

.tag-archive .tag-head {
	position: relative;
	z-index: 1;
}

.tag-archive .tag-nav-wrap {
	padding: 14px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.02);
}

.tag-archive .tag-nav {
	display: flex;
	gap: 4px;
	overflow-x: auto;
}

.tag-archive .sort-bar {
	padding: 14px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.tag-archive .sort-btns {
	display: flex;
	gap: 4px;
}

.tag-archive .sort-btn {
	font-family: var(--font);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 6px 12px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: var(--gray-400);
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
	box-sizing: border-box;
}

.tag-archive a.sort-btn:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.45);
	outline-offset: 2px;
}

.tag-archive .sort-btn.on {
	background: rgba(255, 255, 255, 0.06);
	color: var(--white);
	border-color: rgba(255, 255, 255, 0.3);
}

.tag-archive .featured-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border: 1px solid rgba(255, 255, 255, 0.08);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
}

.tag-archive .featured-cover {
	position: relative;
	min-height: 360px;
	overflow: hidden;
}

.tag-archive .featured-cover img.adstorm-blog-card-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.tag-archive .featured-cover .ac-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.35) 45%, rgba(0, 0, 0, 0.85) 100%);
	z-index: 1;
}

.tag-archive .featured-tag {
	position: absolute;
	top: 20px;
	left: 20px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: var(--white);
	color: var(--black);
	padding: 5px 12px;
	z-index: 2;
}

.tag-archive .featured-px {
	position: absolute;
	top: 20px;
	right: 20px;
	display: grid;
	grid-template-columns: repeat(4, 6px);
	grid-template-rows: repeat(4, 6px);
	gap: 2px;
	z-index: 2;
	opacity: 0.6;
}

.tag-archive .featured-px span {
	display: block;
	width: 6px;
	height: 6px;
	background: var(--white);
}

.tag-archive .featured-px span.off {
	background: transparent;
}

.tag-archive .featured-cover-inset {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	padding: 28px 24px 26px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	pointer-events: none;
}

.tag-archive .featured-cover-inset .featured-title {
	margin: 0;
	font-size: clamp(22px, 2.8vw, 32px);
	font-weight: 900;
	letter-spacing: -1px;
	line-height: 1.15;
	color: var(--white);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.tag-archive .featured-date {
	font-size: 13px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.82);
}

.tag-archive .featured-eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gray-400);
	margin-bottom: 16px;
}

.tag-archive .featured-excerpt {
	font-size: 15px;
	color: var(--gray-300);
	line-height: 1.7;
	margin-bottom: 16px;
}

.tag-archive .featured-byline {
	font-size: 12px;
	color: var(--gray-500);
	font-weight: 600;
}

.tag-archive .tag-featured {
	padding: 32px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.tag-archive .articles-section {
	padding: 36px 0;
}

.tag-archive .tag-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gray-300);
	margin-bottom: 16px;
}

.tag-archive .tag-eyebrow::before {
	content: "";
	display: block;
	width: 20px;
	height: 1px;
	background: var(--gray-500);
}

.tag-archive .tag-h1 {
	font-size: clamp(48px, 7vw, 96px);
	font-weight: 900;
	letter-spacing: -3px;
	line-height: 0.95;
	margin-bottom: 20px;
}

.tag-archive .tag-desc {
	font-size: 16px;
	color: var(--gray-300);
	line-height: 1.7;
	max-width: 640px;
}

.tag-archive .tag-related-heading {
	font-size: clamp(18px, 2.2vw, 24px);
	font-weight: 800;
	letter-spacing: -0.5px;
	margin: 0 0 16px;
	color: var(--gray-300);
}

.tag-archive .tag-related-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	align-items: center;
}

.tag-archive .tag-related-links a {
	font-size: 15px;
	font-weight: 600;
	color: var(--gray-200);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	padding-bottom: 2px;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.tag-archive .tag-related-links a:hover {
	color: var(--white);
	border-bottom-color: rgba(255, 255, 255, 0.5);
}

.tag-archive .tag-related-links a:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.45);
	outline-offset: 3px;
	border-radius: 2px;
}

.tag-archive .article-card .ac-cover {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.tag-archive .article-card .ac-cover img.adstorm-blog-card-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.tag-archive .article-card .ac-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.22) 38%, rgba(0, 0, 0, 0.82) 100%);
	z-index: 1;
}

.tag-archive .article-card .ac-tag {
	position: absolute;
	top: 14px;
	left: 14px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: rgba(10, 10, 10, 0.7);
	border: 1px solid rgba(255, 255, 255, 0.2);
	padding: 4px 10px;
	color: var(--white);
	z-index: 2;
}

.tag-archive .article-card .ac-px {
	position: absolute;
	top: 14px;
	right: 14px;
	display: grid;
	gap: 2px;
	z-index: 2;
	opacity: 0.6;
}

.tag-archive .article-card .ac-px.s3 {
	grid-template-columns: repeat(3, 5px);
	grid-template-rows: repeat(3, 5px);
}

.tag-archive .article-card .ac-px span {
	display: block;
	width: 5px;
	height: 5px;
	background: var(--white);
}

.tag-archive .article-card .ac-px span.off {
	background: transparent;
}

.tag-archive .article-card .ac-cover-inset,
.author-archive .article-card .ac-cover-inset {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	pointer-events: none;
}

.tag-archive .article-card .ac-cover-inset .ac-title,
.author-archive .article-card .ac-cover-inset .ac-title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--white);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.tag-archive .article-card .ac-date,
.author-archive .article-card .ac-date {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.78);
}

.tag-archive .article-card .ac-body,
.author-archive .article-card .ac-body {
	padding: 18px 22px 20px;
}

.tag-archive .article-card .ac-excerpt,
.author-archive .article-card .ac-excerpt {
	font-size: 13px;
	color: var(--gray-300);
	line-height: 1.6;
	margin: 0;
}

.author-archive .article-card {
	text-decoration: none;
	color: inherit;
}

.author-archive .article-card .ac-cover {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.author-archive .article-card .ac-cover img.adstorm-blog-card-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.author-archive .article-card .ac-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.22) 38%, rgba(0, 0, 0, 0.82) 100%);
	z-index: 1;
}

.author-archive .article-card .ac-tag {
	position: absolute;
	top: 14px;
	left: 14px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	background: rgba(10, 10, 10, 0.7);
	border: 1px solid rgba(255, 255, 255, 0.2);
	padding: 4px 10px;
	z-index: 2;
}

.author-archive .article-card .ac-px.s3 {
	position: absolute;
	top: 14px;
	right: 14px;
	display: grid;
	grid-template-columns: repeat(3, 5px);
	grid-template-rows: repeat(3, 5px);
	gap: 2px;
	z-index: 2;
	opacity: 0.6;
}

.author-archive .article-card .ac-px span {
	width: 5px;
	height: 5px;
	background: var(--white);
	display: block;
}

.author-archive .article-card .ac-px span.off {
	background: transparent;
}

.tag-archive .featured-body {
	padding: 48px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: rgba(255, 255, 255, 0.02);
}

.tag-archive .related-tags-section {
	padding: 40px 0 48px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	background: transparent;
}

.tag-archive .article-card {
	text-decoration: none;
	color: inherit;
}

.tag-archive .articles,
.author-archive .articles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
}

/* ── 404 / SEARCH extras ── */
.error-404-inner {
	padding: 120px 0;
	text-align: center;
}

.error-404-num {
	font-size: clamp(80px, 15vw, 160px);
	font-weight: 900;
	letter-spacing: -8px;
	color: rgba(255, 255, 255, 0.05);
	line-height: 1;
	margin-bottom: -20px;
}

.error-404-lead {
	font-size: 17px;
	max-width: 440px;
	margin: 0 auto 32px;
	color: var(--gray-300);
}

.error-404-actions {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 40px;
}

.error-404-search {
	max-width: 500px;
	margin: 0 auto 48px;
}

.error-404-list {
	max-width: 760px;
	margin: 0 auto;
	text-align: left;
}

.search-results-inner {
	padding: 120px 0;
}

.search-count {
	margin: 16px 0 40px;
	color: var(--gray-300);
}

.search-list {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.search-empty {
	margin: 24px 0 32px;
	color: var(--gray-300);
}

/* ── SINGLE: article layout additions ── */
.single-post-main .art-hero .breadcrumb {
	margin-bottom: 20px;
}

.single-post-main .art-hero-title {
	margin: 0 0 clamp(24px, 4vw, 40px);
	line-height: 1.12;
	font-weight: 900;
}

.single-post-main .post-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

.single-post-main .ptag,
.single-post-main .post-tags a {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 10px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: var(--gray-400);
	text-decoration: none;
}

.single-post-main .art-meta {
	display: flex;
	align-items: center;
	gap: 20px;
	padding-bottom: 22px;
	flex-wrap: wrap;
}

.single-post-main .art-meta-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--gray-400);
}

.single-post-main .art-meta-item strong {
	color: var(--white);
}

.single-post-main .art-meta-author {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: inherit;
	text-decoration: none;
	vertical-align: middle;
}

.single-post-main .art-meta-author--link:hover strong {
	color: var(--gray-300);
}

.single-post-main .art-meta-author__av {
	display: flex;
	flex-shrink: 0;
	line-height: 0;
}

.single-post-main .art-meta-author__av img,
.single-post-main .art-meta-author__av .avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.single-post-main .art-meta-dot {
	width: 3px;
	height: 3px;
	background: var(--gray-600);
	border-radius: 50%;
}

.single-post-main .post-meta-av {
	border-radius: 50%;
}

.single-post-main .results-banner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	margin-top: 0;
}

.single-post-main .rb-cell {
	padding: 28px 24px;
	border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.single-post-main .rb-cell:last-child {
	border-right: none;
}

.single-post-main .rb-num {
	font-size: 36px;
	font-weight: 900;
	letter-spacing: -1.5px;
	margin-bottom: 4px;
}

.single-post-main .rb-label {
	font-size: 11px;
	color: var(--gray-400);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.single-post-main .post-layout.art-layout--full {
	display: block;
	padding: 36px 0 60px;
	max-width: 100%;
}

/* Зміст над текстом: нативний <details> — посилання в DOM і при закритому стані (SEO). */
.single-post-main .art-toc {
	margin-bottom: 8px;
}

.single-post-main .art-toc-details {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.single-post-main .art-toc-summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gray-400);
	padding: 14px 0;
	user-select: none;
}

.single-post-main .art-toc-summary::-webkit-details-marker {
	display: none;
}

.single-post-main .art-toc-summary::after {
	content: "";
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease, color 0.15s ease;
}

.single-post-main .art-toc-details[open] .art-toc-summary {
	color: var(--white);
}

.single-post-main .art-toc-details[open] .art-toc-summary::after {
	transform: rotate(-135deg);
	margin-top: 4px;
}

.single-post-main .art-toc-list {
	display: block;
	padding: 4px 0 16px;
	font-size: 12px;
}

.single-post-main .art-content h2 {
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 900;
	margin: 48px 0 16px;
	line-height: 1.15;
}

.single-post-main .art-entry h2:first-of-type {
	margin-top: 0;
}

.single-post-main .art-content h3 {
	font-size: 18px;
	font-weight: 700;
	margin: 32px 0 12px;
}

.single-post-main .art-content p {
	font-size: 16px;
	color: var(--gray-400);
	line-height: 1.75;
	margin-bottom: 20px;
}

/* Ілюстрації в тексті статті — по центру (перебиваємо alignleft/right з класичного редактора / блоків). */
.single-post-main .art-entry figure:not(.pp-multiple-authors-boxes-wrapper figure),
.single-post-main .art-entry .wp-block-image,
.single-post-main .art-entry .elementor-widget-image .elementor-widget-container {
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center;
	max-width: 100%;
}

.single-post-main .art-entry .wp-block-media-text .wp-block-media-text__media {
	text-align: center;
}

.single-post-main .art-entry .wp-block-media-text .wp-block-media-text__media img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.single-post-main .art-entry .wp-block-gallery {
	justify-content: center;
}

.single-post-main .art-entry figure img,
.single-post-main .art-entry p img,
.single-post-main .art-entry .wp-block-image img,
.single-post-main .art-entry .elementor-widget-image img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}

.single-post-main .art-entry img.alignleft,
.single-post-main .art-entry img.alignright,
.single-post-main .art-entry img.alignnone,
.single-post-main .art-entry img.aligncenter,
.single-post-main .art-entry figure.alignleft,
.single-post-main .art-entry figure.alignright,
.single-post-main .art-entry figure.aligncenter {
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper img {
	display: inline-block;
	margin-left: 0;
	margin-right: 0;
}

/* Посилання лише в тілі статті (.art-entry), без тегів/автора.
   !important на color — перебиває Elementor / block CSS для посилань. */
.single-post-main .art-entry a {
	color: var(--gray-200) !important;
	text-decoration: underline;
	text-decoration-color: rgba(232, 232, 232, 0.35);
	text-underline-offset: 3px;
	transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.single-post-main .art-entry a:hover,
.single-post-main .art-entry a:focus-visible {
	color: var(--white) !important;
	text-decoration-color: rgba(255, 255, 255, 0.55);
	outline: none;
}

/*
 * PublishPress Authors — картка в кінці контенту (темна тема).
 * Специфічність вища за inline-стилі з редактора карток PPMA (.pp-multiple-authors-boxes-wrapper.{layout} … !important).
 */
body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper {
	margin-top: 36px;
	padding: 20px 0 0;
	border: none;
	background: transparent;
	color: var(--gray-300) !important;
}

body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .box-header-title {
	color: var(--gray-500) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 12px !important;
	line-height: 1.3 !important;
	border: none;
	padding: 0;
}

body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .pp-author-boxes-name,
body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .pp-author-boxes-name a,
body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .pp-author-boxes-name a.author {
	color: var(--white) !important;
	font-weight: 700;
	font-size: 17px !important;
	line-height: 1.25 !important;
	text-decoration: none;
}

body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .pp-author-boxes-name a:hover,
body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .pp-author-boxes-name a:focus-visible {
	color: var(--gray-200) !important;
}

/* Компактний блок: без аватара, без «Інші статті автора», без посилань на соцмережі */
body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .pp-author-boxes-avatar {
	display: none !important;
}

body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .pp-author-boxes-meta,
body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .multiple-authors-links,
body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper a.ppma-author-field-meta {
	display: none !important;
}

body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .pp-multiple-authors-boxes-li,
body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed ul li {
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	list-style: none !important;
}

body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .pp-author-boxes-avatar-details {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .pp-author-boxes-description,
body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .pp-author-boxes-description a,
body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .multiple-authors-description {
	color: var(--gray-400) !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	margin: 6px 0 0 !important;
	max-width: 40em;
}

body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .pp-author-boxes-description a:hover {
	color: var(--gray-200) !important;
}

body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .name-author-category {
	color: var(--gray-400) !important;
}

body.single-post .single-post-main .art-entry .pp-multiple-authors-boxes-wrapper .ppma-category-group-title {
	color: var(--gray-300) !important;
}

.single-post-main .single-post-related-services {
	margin-top: 48px;
	padding-top: 40px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.single-post-main .single-post-related-services .services-grid {
	margin-top: 24px;
}

@media (max-width: 1024px) {
	.single-post-main .single-post-related-services .services-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.single-post-main .single-post-related-services .services-grid {
		grid-template-columns: 1fr;
	}
}

.single-post-main .more-posts {
	padding: 60px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.single-post-main .more-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
	margin-top: 32px;
}

.single-post-main .mp-card {
	border: 1px solid rgba(255, 255, 255, 0.08);
	padding: 24px;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.25s;
}

.single-post-main .mp-card:hover {
	border-color: rgba(255, 255, 255, 0.25);
}

.single-post-main .mp-tag {
	font-size: 10px;
	color: var(--gray-400);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 10px;
}

.single-post-main .mp-title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	margin-bottom: 8px;
}

.single-post-main .mp-date {
	font-size: 11px;
	color: var(--gray-600);
}

/* ── POLICY typography ── */
.page-policy .policy-hero {
	padding: 120px 0 56px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.page-policy .content {
	max-width: 740px;
}

.page-policy .content h2 {
	font-size: clamp(22px, 2.8vw, 30px);
	font-weight: 900;
	scroll-margin-top: 80px;
	margin-top: 48px;
	margin-bottom: 16px;
}

.page-policy .content h3 {
	font-size: 18px;
	font-weight: 700;
	margin-top: 32px;
	margin-bottom: 12px;
}

.page-policy .content p {
	font-size: 15px;
	color: var(--gray-300);
	line-height: 1.75;
	margin-bottom: 16px;
}

.page-policy .toc {
	position: sticky;
	top: 80px;
}

.page-policy #toc a {
	border-left: 2px solid transparent;
	padding-left: 12px;
	margin-left: -12px;
}

.page-policy #toc a.is-active {
	border-left-color: var(--white);
}

@media (max-width: 1000px) {
	.svc-checkup {
		grid-template-columns: 1fr;
	}

	.svc-checkup-left {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	.svc-hero-inner {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 32px 0 48px;
	}

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

	.form-sticky {
		position: static;
	}

	.industry-bottom-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.process-steps {
		grid-template-columns: 1fr 1fr;
	}

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

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

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

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

	.portfolio-card--featured .portfolio-card-cover {
		min-height: 280px;
	}

	.bm-pacta-cards {
		grid-template-columns: 1fr;
	}

	.cta-strip {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 60px 24px;
	}

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

	.post-sidebar {
		position: static;
	}

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

	.page-policy .toc {
		position: static;
	}

	.page-about .mission-grid,
	.page-about .spec-grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.page-about .approach-grid {
		grid-template-columns: 1fr 1fr;
	}

	.page-contacts .contact-main {
		grid-template-columns: 1fr;
	}

	.page-contacts .ps-grid {
		grid-template-columns: 1fr 1fr;
	}

	.author-archive .author-card {
		grid-template-columns: 120px 1fr;
		gap: 24px;
	}

	.author-archive .author-meta {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		margin-top: 16px;
	}

	.author-archive .author-articles,
	.tag-archive .articles {
		grid-template-columns: 1fr 1fr;
	}

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

	.tag-archive .featured-cover {
		min-height: 240px;
	}

	.single-post-main .results-banner {
		grid-template-columns: 1fr 1fr;
	}

	.single-post-main .more-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 960px) {
	.editorial {
		grid-template-columns: 1fr;
	}

	.page-blog .editorial--hero-grid {
		grid-template-columns: 1fr;
	}

	/* У стовпчик знову фіксоване співвідношення, щоб картки не «зліплювались» */
	.page-blog .editorial--hero-grid .editorial__secondary .cover {
		flex: 0 0 auto;
		aspect-ratio: 16 / 9;
	}

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

	.cover-hor {
		min-height: 220px;
	}

	.page-blog .art-rhythm-wide {
		grid-template-columns: 1fr;
	}

	.page-blog .articles-rhythm-row--compact {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.cases {
		grid-template-columns: 1fr;
	}

	.ni {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.page-about .team-grid,
	.page-about .approach-grid,
	.page-about .spec-numbers {
		grid-template-columns: 1fr;
	}

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

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

	.author-archive .author-articles,
	.tag-archive .articles {
		grid-template-columns: 1fr;
	}

	.single-post-main .results-banner {
		grid-template-columns: 1fr;
	}
}

/* ── Контакти: hero + форма збалансовані під один екран (не «стиснутий» вигляд колонок) ── */
body.adstorm-contacts-layout .page-contacts .contact-hero {
	padding: calc(var(--nav-h) + 16px) 0 28px;
}

body.adstorm-contacts-layout .page-contacts .contact-hero .breadcrumb {
	margin-bottom: 14px;
}

body.adstorm-contacts-layout .page-contacts .contact-hero .stag {
	margin-bottom: 14px;
}

body.adstorm-contacts-layout .page-contacts .contact-hero h1 {
	font-size: clamp(30px, 4.5vw, 56px);
	margin-bottom: 12px;
	letter-spacing: -1.8px;
	line-height: 1.06;
}

body.adstorm-contacts-layout .page-contacts .contact-hero h1 .contact-h1-line2 {
	font-style: normal;
	font-weight: inherit;
	color: var(--gray-400);
}

/* B-134: без курсиву в другому рядку H1, навіть якщо немає body.adstorm-contacts-layout */
.page-contacts .contact-hero h1 .contact-h1-line2 {
	font-style: normal;
	font-weight: inherit;
}

body.adstorm-contacts-layout .page-contacts .contact-hero p {
	font-size: 15px;
	line-height: 1.55;
	margin: 0;
	max-width: 540px;
	color: var(--gray-400);
}

body.adstorm-contacts-layout .page-contacts .contact-main {
	padding: 28px 0 48px;
	gap: 40px;
	align-items: start;
}

body.adstorm-contacts-layout .page-contacts .contact-form {
	padding: 28px 28px;
}

body.adstorm-contacts-layout .page-contacts .ci-block {
	padding: 22px 0;
}

body.adstorm-contacts-layout .page-contacts .ci-label {
	margin-bottom: 8px;
}

body.adstorm-contacts-layout .page-contacts .ci-value {
	font-size: 19px;
}

body.adstorm-contacts-layout .page-contacts .social-links {
	margin-top: 16px;
}

body.adstorm-contacts-layout .page-contacts .contact-main .nh-form--dark {
	background: transparent;
	border: none;
	padding: 0;
}

body.adstorm-contacts-layout .page-contacts .nh-title {
	font-size: 20px;
	margin-bottom: 14px;
}

body.adstorm-contacts-layout .page-contacts .nh-field {
	gap: 6px;
	margin-bottom: 11px;
}

body.adstorm-contacts-layout .page-contacts .nh-form .nh-field input,
body.adstorm-contacts-layout .page-contacts .nh-form .nh-field textarea {
	padding: 11px 13px;
	font-size: 14px;
}

body.adstorm-contacts-layout .page-contacts .nh-form .nh-field textarea {
	min-height: 72px;
}

body.adstorm-contacts-layout .page-contacts .nh-submit {
	padding: 14px 16px;
	margin-top: 6px;
}

body.adstorm-contacts-layout .page-contacts .nh-note {
	margin-top: 10px;
	font-size: 11px;
}

/* Contact Form 7 у тому ж блоці (компактні відступи під макет теми) */
body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap form.wpcf7-form {
	margin: 0;
}

body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap .wpcf7-response-output {
	margin: 10px 0 0;
	font-size: 13px;
}

body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap p {
	margin: 0 0 11px;
}

body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gray-400);
	display: block;
	margin-bottom: 6px;
}

body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap input[type="text"],
body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap input[type="email"],
body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap input[type="tel"],
body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap input[type="url"],
body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 11px 13px;
	font-family: var(--font);
	font-size: 14px;
	line-height: 1.45;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.06);
	color: var(--white);
	outline: none;
}

body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap textarea {
	min-height: 72px;
	resize: vertical;
}

body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap input[type="submit"],
body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap input.wpcf7-submit {
	width: 100%;
	margin-top: 6px;
	padding: 14px 16px;
	font-family: var(--font);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border: none;
	background: var(--white);
	color: var(--black);
	cursor: pointer;
}

@media (max-height: 780px) {
	body.adstorm-contacts-layout .page-contacts .contact-hero {
		padding: calc(var(--nav-h) + 10px) 0 18px;
	}

	body.adstorm-contacts-layout .page-contacts .contact-hero h1 {
		font-size: clamp(24px, 3.8vw, 44px);
	}

	body.adstorm-contacts-layout .page-contacts .contact-hero p {
		font-size: 14px;
	}

	body.adstorm-contacts-layout .page-contacts .contact-main {
		padding: 18px 0 32px;
		gap: 28px;
	}

	body.adstorm-contacts-layout .page-contacts .contact-form {
		padding: 22px 22px;
	}

	body.adstorm-contacts-layout .page-contacts .ci-block {
		padding: 16px 0;
	}

	body.adstorm-contacts-layout .page-contacts .nh-field {
		margin-bottom: 8px;
	}

	body.adstorm-contacts-layout .page-contacts .nh-form .nh-field textarea {
		min-height: 60px;
	}

	body.adstorm-contacts-layout .page-contacts .adstorm-cf7-wrap textarea {
		min-height: 60px;
	}
}

/* CF7 у блоці CTA (світлий фон): головна + архів послуг */
.page-home #cta .consult-form .adstorm-cf7-wrap,
.page-services-archive #cta .consult-form .adstorm-cf7-wrap {
	background: #fafafa;
	border: 1px solid rgba(0, 0, 0, 0.08);
	padding: 28px 24px;
	box-sizing: border-box;
}

.page-home #cta .consult-form .adstorm-cf7-wrap form.wpcf7-form,
.page-services-archive #cta .consult-form .adstorm-cf7-wrap form.wpcf7-form {
	margin: 0;
}

.page-home #cta .consult-form .adstorm-cf7-wrap .wpcf7-response-output,
.page-services-archive #cta .consult-form .adstorm-cf7-wrap .wpcf7-response-output {
	margin: 10px 0 0;
	font-size: 13px;
}

.page-home #cta .consult-form .adstorm-cf7-wrap p,
.page-services-archive #cta .consult-form .adstorm-cf7-wrap p {
	margin: 0 0 11px;
}

.page-home #cta .consult-form .adstorm-cf7-wrap label,
.page-services-archive #cta .consult-form .adstorm-cf7-wrap label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #666666;
	display: block;
	margin-bottom: 6px;
}

.page-home #cta .consult-form .adstorm-cf7-wrap input[type="text"],
.page-home #cta .consult-form .adstorm-cf7-wrap input[type="email"],
.page-home #cta .consult-form .adstorm-cf7-wrap input[type="tel"],
.page-home #cta .consult-form .adstorm-cf7-wrap input[type="url"],
.page-home #cta .consult-form .adstorm-cf7-wrap textarea,
.page-services-archive #cta .consult-form .adstorm-cf7-wrap input[type="text"],
.page-services-archive #cta .consult-form .adstorm-cf7-wrap input[type="email"],
.page-services-archive #cta .consult-form .adstorm-cf7-wrap input[type="tel"],
.page-services-archive #cta .consult-form .adstorm-cf7-wrap input[type="url"],
.page-services-archive #cta .consult-form .adstorm-cf7-wrap textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	font-family: var(--font);
	font-size: 14px;
	line-height: 1.45;
	border: 1px solid rgba(0, 0, 0, 0.15);
	background: var(--white);
	color: var(--black);
	outline: none;
}

.page-home #cta .consult-form .adstorm-cf7-wrap textarea,
.page-services-archive #cta .consult-form .adstorm-cf7-wrap textarea {
	min-height: 96px;
	resize: vertical;
}

.page-home #cta .consult-form .adstorm-cf7-wrap input[type="submit"],
.page-home #cta .consult-form .adstorm-cf7-wrap input.wpcf7-submit,
.page-services-archive #cta .consult-form .adstorm-cf7-wrap input[type="submit"],
.page-services-archive #cta .consult-form .adstorm-cf7-wrap input.wpcf7-submit {
	width: 100%;
	margin-top: 6px;
	padding: 14px 16px;
	font-family: var(--font);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border: none;
	background: var(--black);
	color: var(--white);
	cursor: pointer;
}

/* CF7 у sticky-сайдбарі (темний фон): одиночна послуга + industry */
.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap,
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap {
	margin: 0;
	padding: 24px 20px;
	box-sizing: border-box;
	background: transparent;
	border: none;
}

.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap form.wpcf7-form,
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap form.wpcf7-form {
	margin: 0;
}

.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap .wpcf7-response-output,
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap .wpcf7-response-output {
	margin: 10px 0 0;
	font-size: 13px;
	color: var(--gray-300);
}

.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap p,
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap p {
	margin: 0 0 11px;
}

.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap label,
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gray-400);
	display: block;
	margin-bottom: 6px;
}

.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap input[type="text"],
.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap input[type="email"],
.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap input[type="tel"],
.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap input[type="url"],
.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap textarea,
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap input[type="text"],
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap input[type="email"],
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap input[type="tel"],
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap input[type="url"],
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 11px 13px;
	font-family: var(--font);
	font-size: 14px;
	line-height: 1.45;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.06);
	color: var(--white);
	outline: none;
}

.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap textarea,
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap textarea {
	min-height: 72px;
	resize: vertical;
}

.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap input[type="submit"],
.page-industry .industry-form-sticky .consult-form .adstorm-cf7-wrap input.wpcf7-submit,
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap input[type="submit"],
.single-service-main .form-sticky .consult-form .adstorm-cf7-wrap input.wpcf7-submit {
	width: 100%;
	margin-top: 6px;
	padding: 14px 16px;
	font-family: var(--font);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border: none;
	background: var(--white);
	color: var(--black);
	cursor: pointer;
}

/* ── Industry landings /for/{slug}/ + hub /for/ ── */
.page-industry .industry-hero,
.page-industries-hub .industries-hub-hero {
	padding: calc(var(--nav-h) + 32px) 0 48px;
	position: relative;
	overflow: hidden;
}

.page-industry .industry-hero .bg-grid,
.page-industries-hub .industries-hub-hero .bg-grid {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
	background-size: 60px 60px;
	pointer-events: none;
}

.page-industry .industry-hero .breadcrumb,
.page-industries-hub .industries-hub-hero .breadcrumb {
	margin-bottom: 28px;
}

.page-industry .industry-hero-h1,
.page-industries-hub .industries-hub-h1 {
	font-size: clamp(32px, 4.5vw, 56px);
	font-weight: 900;
	letter-spacing: -1.5px;
	line-height: 1.08;
	margin: 0 0 12px;
}

.page-industry .industry-hero-sub {
	font-size: clamp(18px, 2vw, 22px);
	color: var(--gray-400);
	margin: 0 0 20px;
}

.page-industry .industry-hero-lead,
.page-industries-hub .industries-hub-lead {
	font-size: 16px;
	color: var(--gray-300);
	line-height: 1.65;
	max-width: 720px;
	margin: 0;
}

.page-industry .industry-section {
	padding: 72px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.page-industry .industry-section .section-title {
	margin-top: 8px;
	margin-bottom: 36px;
}

.page-industry .industry-pains-grid,
.page-industry .industry-approach-grid,
.page-industry .industry-why-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2px;
}

.page-industry .industry-card {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
	padding: 28px 24px;
}

.page-industry .industry-card--pain {
	border-color: rgba(255, 255, 255, 0.1);
}

.page-industry .industry-card-title {
	font-size: 17px;
	font-weight: 700;
	margin: 0 0 10px;
	letter-spacing: -0.2px;
}

.page-industry .industry-card-desc {
	font-size: 14px;
	color: var(--gray-300);
	line-height: 1.6;
	margin: 0;
}

.page-industry .industry-stats-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2px;
}

.page-industry .industry-stat-cell {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	padding: 28px 20px;
	text-align: center;
}

.page-industry .industry-stat-num {
	font-size: clamp(22px, 3vw, 32px);
	font-weight: 900;
	letter-spacing: -0.5px;
	line-height: 1.1;
}

.page-industry .industry-stat-lbl {
	font-size: 12px;
	color: var(--gray-400);
	margin-top: 8px;
	line-height: 1.45;
}

.page-industry .industry-services-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2px;
}

.page-industry .industry-service-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px 22px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.25s, background 0.25s;
}

.page-industry .industry-service-card:hover {
	border-color: rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.05);
}

.page-industry .industry-service-name {
	font-size: 16px;
	font-weight: 700;
}

.page-industry .industry-service-rel {
	font-size: 14px;
	color: var(--gray-300);
	line-height: 1.55;
	margin: 0;
	flex: 1;
}

.page-industry .industry-service-more {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--gray-500);
}

.page-industry .industry-cases-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}

.page-industry .industry-process-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2px;
}

.page-industry .industry-step {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
	padding: 24px 20px;
}

.page-industry .industry-step-n {
	font-size: 13px;
	font-weight: 800;
	color: var(--gray-500);
	margin-bottom: 8px;
}

.page-industry .industry-step-title {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 8px;
}

.page-industry .industry-step-desc {
	font-size: 13px;
	color: var(--gray-300);
	line-height: 1.55;
}

.page-industry .industry-faq-list {
	max-width: 800px;
}

.page-industry .industry-bottom {
	padding: 80px 0 100px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.page-industry .industry-bottom-grid {
	display: grid;
	grid-template-columns: 1fr min(380px, 38%);
	gap: 48px;
	align-items: start;
}

.page-industry .industry-cta-inner h2 {
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 900;
	letter-spacing: -0.5px;
	margin: 0 0 12px;
}

.page-industry .industry-cta-inner p {
	font-size: 15px;
	color: var(--gray-300);
	line-height: 1.65;
	margin: 0 0 24px;
	max-width: 520px;
}

.page-industry .industry-form-sticky {
	padding: 0;
	min-width: 0;
	max-width: 100%;
}

.page-industry .industry-form-sticky .consult-form,
.page-industry .industry-form-sticky .adstorm-cf7-wrap {
	max-width: 100%;
	box-sizing: border-box;
}

/* B-131: форма на /for/* — повна ширина й перенос лейблів на мобайлі */
@media (max-width: 768px) {
	.page-industry .industry-form-sticky .nh-form--dark {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.page-industry .industry-form-sticky .nh-form .nh-field label {
		white-space: normal;
		line-height: 1.35;
	}
}

/* Hub */
.page-industries-hub .industries-hub-body {
	padding-bottom: 100px;
}

.page-industries-hub .industries-grid {
	display: flex;
	flex-direction: column;
	gap: 64px;
	margin: 48px 0 80px;
}

.page-industries-hub .industries-cluster {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.page-industries-hub .cluster-tag {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gray-300);
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.page-industries-hub .cluster-tag::before {
	content: "";
	display: block;
	width: 20px;
	height: 1px;
	background: var(--gray-500);
}

.page-industries-hub .industry-card--hub {
	display: grid;
	grid-template-columns: 60px 1fr auto;
	gap: 24px;
	align-items: center;
	padding: 24px 28px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.02);
	transition: border-color 0.25s, background 0.25s;
	text-decoration: none;
	color: inherit;
}

.page-industries-hub .industry-card--hub:hover {
	border-color: rgba(255, 255, 255, 0.25);
	background: rgba(255, 255, 255, 0.04);
}

.page-industries-hub .industry-card-num {
	font-size: 24px;
	font-weight: 900;
	letter-spacing: -1px;
	color: var(--gray-500);
}

.page-industries-hub .industry-card-body h3 {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.3px;
	line-height: 1.2;
	margin: 0 0 4px;
}

.page-industries-hub .industry-card-body p {
	font-size: 13px;
	color: var(--gray-300);
	line-height: 1.5;
	margin: 0;
}

.page-industries-hub .industry-link {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--gray-400);
	transition: color 0.2s, gap 0.2s;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}

.page-industries-hub .industry-card--hub:hover .industry-link {
	color: var(--white);
	gap: 10px;
}

.page-industries-hub .ymyl-explainer {
	padding: 48px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	margin-bottom: 64px;
	min-width: 0;
	overflow-wrap: anywhere;
}

.page-industries-hub .ymyl-explainer h2 {
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 900;
	letter-spacing: -1px;
	margin-bottom: 20px;
}

.page-industries-hub .ymyl-explainer p {
	font-size: 15px;
	color: var(--gray-300);
	line-height: 1.7;
	margin-bottom: 14px;
	max-width: 760px;
}

.page-industries-hub .ymyl-explainer ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 24px 0;
	padding: 0;
	list-style: none;
}

.page-industries-hub .ymyl-explainer li {
	font-size: 14px;
	color: var(--gray-300);
	display: flex;
	align-items: baseline;
	gap: 10px;
	line-height: 1.6;
}

.page-industries-hub .ymyl-explainer li::before {
	content: "";
	width: 4px;
	height: 4px;
	background: var(--white);
	flex-shrink: 0;
	margin-top: 8px;
}

/* B-135: YMYL — один стовпчик, термін над поясненням */
@media (max-width: 768px) {
	.page-industries-hub .ymyl-explainer li {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}

	.page-industries-hub .ymyl-explainer li::before {
		display: none;
	}
}

.page-industries-hub .industries-hub-cta {
	text-align: left;
	max-width: 640px;
}

.page-industries-hub .industries-hub-cta h2 {
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 900;
	letter-spacing: -0.5px;
	margin: 0 0 12px;
}

.page-industries-hub .industries-hub-cta p {
	font-size: 15px;
	color: var(--gray-300);
	line-height: 1.65;
	margin: 0 0 24px;
}

@media (max-width: 900px) {
	.page-industry .industry-pains-grid,
	.page-industry .industry-approach-grid,
	.page-industry .industry-why-grid,
	.page-industry .industry-services-grid {
		grid-template-columns: 1fr;
	}

	.page-industry .industry-stats-row {
		grid-template-columns: 1fr 1fr;
	}

	.page-industry .industry-process-steps {
		grid-template-columns: 1fr 1fr;
	}

	.page-industries-hub .industry-card--hub {
		grid-template-columns: 48px 1fr;
		grid-template-rows: auto auto;
	}

	.page-industries-hub .industry-card--hub .industry-link {
		grid-column: 1 / -1;
		justify-self: start;
		margin-top: 8px;
	}
}

/* ——— Сторінки /cases/ та /team/ (хаб кейсів + команда) ——— */

.page-cases-hub .cases-hub-hero,
.page-team-hub .team-hub-hero {
	position: relative;
	padding: 72px 0 48px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.page-cases-hub .cases-hub-hero .breadcrumb,
.page-team-hub .team-hub-hero .breadcrumb {
	margin-bottom: 28px;
}

.page-cases-hub .cases-hub-h1,
.page-team-hub .team-hub-h1 {
	font-size: clamp(32px, 4vw, 52px);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 16px 0 16px;
	color: var(--white);
}

.page-cases-hub .cases-hub-lead,
.page-team-hub .team-hub-lead {
	max-width: 720px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--gray-300);
	margin: 0;
}

.page-cases-hub .cases-hub-filters {
	padding: 28px 0 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.page-cases-hub .cases-hub-filter-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 14px 24px;
	margin-bottom: 18px;
}

.page-cases-hub .cases-hub-filter-label {
	flex: 0 0 auto;
	min-width: 120px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gray-500);
	padding-top: 8px;
}

.page-cases-hub .cases-hub-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	flex: 1 1 280px;
}

.page-cases-hub .cases-hub-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 14px;
	box-sizing: border-box;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	color: var(--gray-300);
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.02);
	transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.page-cases-hub .cases-hub-chip:hover {
	border-color: rgba(255, 255, 255, 0.35);
	color: var(--white);
}

.page-cases-hub .cases-hub-chip--on {
	border-color: rgba(255, 255, 255, 0.45);
	color: var(--white);
	background: rgba(255, 255, 255, 0.06);
}

.page-cases-hub .cases-hub-grid-sec {
	padding: 48px 0 80px;
}

.page-cases-hub .cases-hub-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
}

.page-cases-hub .cases-hub-grid--case-slides .case-slide {
	flex: none;
	width: 100%;
	max-width: none;
	scroll-snap-align: none;
}

.page-cases-hub .cases-hub-empty {
	margin: 0;
	font-size: 15px;
	color: var(--gray-400);
	max-width: 520px;
}

.page-cases-hub .cases-hub-pagination {
	margin-top: 40px;
}

.page-cases-hub .cases-hub-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
}

.page-cases-hub .cases-hub-pagination li {
	margin: 0;
}

.page-cases-hub .cases-hub-pagination a,
.page-cases-hub .cases-hub-pagination span {
	display: inline-flex;
	min-width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	color: var(--gray-300);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.page-cases-hub .cases-hub-pagination a:hover {
	color: var(--white);
	border-color: rgba(255, 255, 255, 0.35);
}

.page-cases-hub .cases-hub-pagination span.current {
	color: var(--white);
	border-color: rgba(255, 255, 255, 0.45);
	background: rgba(255, 255, 255, 0.06);
}

.page-team-hub .page-team-hub__home-team {
	border-top: none;
	padding-bottom: 100px;
}

.page-team-hub .page-team-hub__home-team .section-header {
	margin-bottom: clamp(28px, 4vw, 48px);
}

@media (max-width: 900px) {
	.page-cases-hub .cases-hub-filter-row {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.page-cases-hub .cases-hub-filter-label {
		min-width: 0;
		width: 100%;
		padding-top: 0;
		margin-bottom: 2px;
	}

	.page-cases-hub .cases-hub-chips {
		flex: none;
		width: 100%;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 148px), 1fr));
		gap: 8px;
		align-content: start;
	}
}
