/* ==========================================================================
   IT-Fork — фирменные стили темы
   Концепция: одна линия ветвится на направления (знак «F-развилка»).
   Петроль — основной цвет, сигнальный жёлтый — узлы и действия.
   ========================================================================== */

:root {
	--it-ink: var(--wp--preset--color--ink, #15191E);
	--it-muted: var(--wp--preset--color--muted, #5B6461);
	--it-line: var(--wp--preset--color--line, #DCE0DB);
	--it-paper: var(--wp--preset--color--paper, #F4F5F2);
	--it-surface: var(--wp--preset--color--surface, #FFFFFF);
	--it-petrol: var(--wp--preset--color--petrol, #0F4C4A);
	--it-petrol-deep: var(--wp--preset--color--petrol-deep, #0A3533);
	--it-tint: var(--wp--preset--color--petrol-tint, #E3EEEC);
	--it-signal: var(--wp--preset--color--signal, #FFC72C);
	--it-aqua: var(--wp--preset--color--aqua, #7FD6CB);
	--it-danger: #B42318;
	--it-display: var(--wp--preset--font-family--display);
	--it-radius: 6px;
	--it-radius-lg: 14px;
	--it-header-h: 76px;
	--it-ease: cubic-bezier(.2, .7, .2, 1);
	--it-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
	--it-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--it-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}

/* ---------- База ---------- */

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--it-header-h) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern", "liga";
}

::selection { background: var(--it-signal); color: var(--it-ink); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--it-signal);
	outline-offset: 2px;
	border-radius: 3px;
}

h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }

/* Секции встык, без системных отступов между ними */
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.it-main { margin-block: 0; }
.it-main > .wp-block-post-content > .alignfull,
.it-main > .wp-block-post-content > .it-section { margin-block: 0; }
.wp-block-post-content > .it-section + .it-section { margin-block-start: 0; }

.it-section {
	padding-block: var(--wp--preset--spacing--70);
}
.it-section > .wp-block-columns { margin-block: 0; }
.it-section-head { margin-block-end: var(--wp--preset--spacing--50); }
.it-section-head > * { max-width: 760px; }
.it-section-head > * + * { margin-block-start: 1rem; }
.it-section-head > :first-child { margin-block-start: 0; }
.it-section h2 { margin-block-start: 0; }

.it-muted,
.it-section .it-muted { color: var(--it-muted); }
.has-surface-color .it-muted { color: color-mix(in srgb, currentColor 72%, transparent); }

.it-kicker {
	display: inline-flex;
	align-items: center;
	gap: .6em;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	color: var(--it-aqua);
	margin: 0;
}
.it-kicker::before {
	content: "";
	width: .62em;
	height: .62em;
	border-radius: 50%;
	background: var(--it-signal);
	flex: none;
}

@media (min-width: 782px) {
	.it-sticky { position: sticky; top: calc(var(--it-header-h) + 32px); align-self: flex-start; }
}

/* ---------- Кнопки ---------- */

.wp-element-button,
.wp-block-button__link {
	transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s var(--it-ease);
	text-decoration: none;
	border: 1.5px solid transparent;
}
.wp-block-button__link:active { transform: translateY(1px); }

.is-style-outline-light .wp-block-button__link {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, .45);
}
.is-style-outline-light .wp-block-button__link:hover { background: rgba(255, 255, 255, .1); border-color: #fff; color: #fff; }

.is-style-ghost .wp-block-button__link {
	background: transparent;
	color: var(--it-ink);
	border-color: var(--it-ink);
}
.is-style-ghost .wp-block-button__link:hover { background: var(--it-ink); color: #fff; }
.has-surface-color .is-style-ghost .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.5); }

/* ---------- Шапка ---------- */

.wp-site-blocks > .it-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .wp-site-blocks > .it-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > .it-site-header { top: 0; } }

.it-header {
	background: color-mix(in srgb, var(--it-paper) 92%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	backdrop-filter: saturate(1.4) blur(12px);
	border-bottom: 1px solid transparent;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.it-header.is-scrolled { border-bottom-color: var(--it-line); box-shadow: 0 6px 24px -18px rgba(21, 25, 30, .5); }
.it-header__inner { min-height: var(--it-header-h); gap: 1.5rem; }
.it-header__actions { gap: 1.25rem; flex-shrink: 0; }
.it-header__phone a { color: var(--it-ink); font-weight: 600; text-decoration: none; white-space: nowrap; font-variant-numeric: tabular-nums; }
.it-header__phone a:hover { color: var(--it-petrol); }
.it-header__cta .wp-block-button__link { padding: .7rem 1.1rem; white-space: nowrap; }

@media (min-width: 600px) and (max-width: 1239px) { .it-header__phone { display: none !important; } }
@media (max-width: 599px) { .it-header__phone a { font-size: var(--wp--preset--font-size--sm); } .it-header__inner { gap: .75rem; } }
@media (max-width: 599px)  { .it-header__cta { display: none !important; } }

/* Логотип */
.it-logo { line-height: 0; flex-shrink: 0; }
.it-logo a { display: inline-block; }
.it-logo svg { height: var(--logo-h, 34px); width: auto; display: block; }

/* Навигация */
.it-nav { flex: 1 1 auto; }
.it-nav .wp-block-navigation__container { gap: .25rem 1.6rem; }
.it-nav .wp-block-navigation-item__content { color: var(--it-ink); text-decoration: none; padding-block: .5rem; }
.it-nav .wp-block-navigation-item__content:hover,
.it-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--it-petrol); }
.it-nav .current-menu-item > .wp-block-navigation-item__content { box-shadow: inset 0 -2px 0 var(--it-signal); }

.it-nav .wp-block-navigation__submenu-container {
	background: var(--it-surface) !important;
	border: 1px solid var(--it-line) !important;
	border-radius: var(--it-radius-lg);
	box-shadow: var(--wp--preset--shadow--lift);
	padding: .5rem !important;
	min-width: 18rem !important;
}
.it-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .6rem .8rem !important;
	border-radius: var(--it-radius);
}
.it-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--it-tint); }

/* Меню-«бургер» до 1024px */
@media (min-width: 600px) and (max-width: 1023px) {
	.it-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.it-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 1023px) {
	.it-nav { flex: 0 0 auto; order: 3; }
	.it-header__actions { margin-left: auto; }
}
.it-nav .wp-block-navigation__responsive-container-open {
	width: 44px; height: 44px; align-items: center; justify-content: center;
	border-radius: var(--it-radius); border: 1px solid var(--it-line);
}
.it-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--it-petrol-deep) !important;
	color: #fff !important;
	padding: 1.25rem clamp(1rem, 4vw, 2.5rem) 2rem;
}
.it-nav .is-menu-open .wp-block-navigation-item__content { color: #fff !important; font-family: var(--it-display); font-size: var(--wp--preset--font-size--lg); font-weight: 600; }
.it-nav .is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; border: 0 !important; box-shadow: none; min-width: 0 !important; padding: 0 0 .5rem 1rem !important; }
.it-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--base); font-weight: 400; color: rgba(255,255,255,.8) !important; padding: .35rem 0 !important; }
.it-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: transparent; color: var(--it-signal) !important; }
.it-nav .is-menu-open .wp-block-navigation__responsive-container-content { gap: 1rem !important; padding-top: 3rem; }
.it-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: 1.25rem; right: clamp(1rem, 4vw, 2.5rem); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }

/* ---------- Главный экран ---------- */

.it-hero {
	padding-block: clamp(3rem, 7vw, 6rem) clamp(2rem, 4vw, 3rem);
	position: relative;
	overflow: hidden;
}
.it-hero__cols { gap: var(--wp--preset--spacing--60) !important; align-items: center !important; }
.it-hero__title {
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.035em;
	margin-block: 1.25rem 1.5rem;
	font-size: clamp(2.5rem, 1.2rem + 3.6vw, 4rem) !important;
}
.it-hero__lead {
	font-size: var(--wp--preset--font-size--md);
	color: rgba(255, 255, 255, .8);
	max-width: 54ch;
	margin-block-end: 2rem;
}
.it-hero__aside {
	background: var(--it-petrol-deep);
	border-radius: var(--it-radius-lg);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid rgba(127, 214, 203, .18);
}
.it-hero__fork-title { margin: 0 0 .75rem; font-size: var(--wp--preset--font-size--sm); color: var(--it-aqua); font-weight: 500; }

.it-hero__facts {
	display: grid !important;
	align-items: start !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem 2rem !important;
	margin-block-start: var(--wp--preset--spacing--60) !important;
	padding-block-start: 1.75rem;
	border-top: 1px solid rgba(255, 255, 255, .16);
}
.it-fact { margin: 0; font-size: var(--wp--preset--font-size--sm); color: rgba(255, 255, 255, .72); line-height: 1.45; }
.it-fact strong {
	display: block;
	font-family: var(--it-display);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: #fff;
	margin-bottom: .35rem;
	font-variant-numeric: tabular-nums;
}
@media (max-width: 781px) { .it-hero__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Список «Развилка» (фирменный приём) ---------- */

.is-style-fork {
	--fork-line: var(--it-petrol);
	--fork-node: var(--it-signal);
	--fork-text: var(--it-ink);
	--fork-note: var(--it-muted);
	--fork-y: 1.45rem;      /* высота точки ответвления */
	--fork-w: 4px;          /* толщина линии, как в знаке */
	--fork-r: 14px;         /* радиус поворота, как в знаке */
	list-style: none;
	margin: 0;
	padding: 0 0 0 .5rem;
	position: relative;
}
.has-surface-color .is-style-fork,
.it-hero .is-style-fork {
	--fork-line: rgba(255, 255, 255, .9);
	--fork-text: #fff;
	--fork-note: rgba(255, 255, 255, .66);
}
.is-style-fork > li {
	position: relative;
	padding: .5rem 0 .5rem 3rem;
	margin: 0;
	color: var(--fork-note);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.4;
}
/* ствол */
.is-style-fork > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	border-left: var(--fork-w) solid var(--fork-line);
}
.is-style-fork > li:first-child::before { top: .35rem; border-top-left-radius: 2px; }
.is-style-fork > li:last-child::before { bottom: auto; height: calc(var(--fork-y) - var(--fork-r)); }
/* ветка */
.is-style-fork > li::after {
	content: "";
	position: absolute;
	left: 0;
	top: calc(var(--fork-y) - var(--fork-r));
	width: 1.75rem;
	height: var(--fork-r);
	border-left: var(--fork-w) solid var(--fork-line);
	border-bottom: var(--fork-w) solid var(--fork-line);
	border-bottom-left-radius: calc(var(--fork-r) + 2px);
	transform-origin: left bottom;
	animation: it-branch .55s var(--it-ease) both;
}
/* узел */
.is-style-fork > li > a:first-child::before,
.is-style-fork > li > strong:first-child::before {
	content: "";
	position: absolute;
	left: 1.6rem;
	top: calc(var(--fork-y) - 5px);
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--fork-node);
	transform: translateY(calc(var(--fork-w) / 2)) scale(1);
	animation: it-node .35s var(--it-ease) both;
}
.is-style-fork > li > a:first-child,
.is-style-fork > li > strong:first-child {
	color: var(--fork-text);
	font-family: var(--it-display);
	font-size: var(--wp--preset--font-size--md);
	font-weight: 600;
	letter-spacing: -0.01em;
	text-decoration: none;
	line-height: 1.6;
}
.is-style-fork > li > a:first-child:hover { color: var(--it-signal); }
.is-style-fork:not(.it-hero__fork) > li > a:first-child:hover { color: var(--it-petrol); }
.has-surface-color .is-style-fork:not(.it-hero__fork) > li > a:first-child:hover { color: var(--it-signal); }

.is-style-fork > li:nth-child(1)::after, .is-style-fork > li:nth-child(1) > :first-child::before { animation-delay: .15s; }
.is-style-fork > li:nth-child(2)::after, .is-style-fork > li:nth-child(2) > :first-child::before { animation-delay: .23s; }
.is-style-fork > li:nth-child(3)::after, .is-style-fork > li:nth-child(3) > :first-child::before { animation-delay: .31s; }
.is-style-fork > li:nth-child(4)::after, .is-style-fork > li:nth-child(4) > :first-child::before { animation-delay: .39s; }
.is-style-fork > li:nth-child(5)::after, .is-style-fork > li:nth-child(5) > :first-child::before { animation-delay: .47s; }
.is-style-fork > li:nth-child(6)::after, .is-style-fork > li:nth-child(6) > :first-child::before { animation-delay: .55s; }
.is-style-fork > li:nth-child(7)::after, .is-style-fork > li:nth-child(7) > :first-child::before { animation-delay: .63s; }
.is-style-fork > li:nth-child(n+8)::after, .is-style-fork > li:nth-child(n+8) > :first-child::before { animation-delay: .7s; }
.is-style-fork > li > :first-child::before { animation-duration: .35s; animation-delay: calc(.35s); }

@keyframes it-branch { from { transform: scaleX(.15); opacity: .2; } to { transform: none; opacity: 1; } }
@keyframes it-node { from { transform: translateY(calc(var(--fork-w) / 2)) scale(0); } to { transform: translateY(calc(var(--fork-w) / 2)) scale(1); } }

@media (prefers-reduced-motion: reduce) {
	.is-style-fork > li::after,
	.is-style-fork > li > :first-child::before { animation: none !important; }
}

/* ---------- Список услуг ---------- */

.it-service-index { border-top: 1px solid var(--it-line); }
.it-service-row {
	position: relative;
	padding: 1.6rem 3.5rem 1.6rem 0;
	border-bottom: 1px solid var(--it-line);
	margin: 0 !important;
	transition: background-color .2s ease;
}
.it-service-row > * { margin-block: 0; }
.it-service-row > * + * { margin-block-start: .45rem; }
.it-service-row__title { font-size: var(--wp--preset--font-size--lg); font-weight: 600; }
.it-service-row__title a { color: var(--it-ink); text-decoration: none; }
.it-service-row__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.it-service-row__text { color: var(--it-muted); max-width: 62ch; }
.it-service-row__meta {
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	color: var(--it-petrol);
	display: flex;
	align-items: center;
	gap: .5rem;
}
.it-service-row__meta::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--it-signal); box-shadow: 0 0 0 2px var(--it-petrol); }
.it-service-row::after {
	content: "";
	position: absolute;
	right: .25rem;
	top: 1.85rem;
	width: 28px;
	height: 28px;
	background: var(--it-petrol);
	-webkit-mask: var(--it-arrow) center / 24px no-repeat;
	mask: var(--it-arrow) center / 24px no-repeat;
	transition: transform .2s var(--it-ease);
}
.it-service-row:hover .it-service-row__title a { color: var(--it-petrol); }
.it-service-row:hover::after { transform: translateX(4px); }
.it-service-row:focus-within { outline: 3px solid var(--it-signal); outline-offset: 4px; border-radius: 4px; }
.it-service-row:focus-within a:focus-visible { outline: none; }

/* архив услуг: заголовок слева, описание справа */
.it-service-index.wp-block-post-template { list-style: none; padding: 0; margin: 0; }
.it-service-index.wp-block-post-template > li { margin: 0; }
.wp-block-post-template.it-service-index .it-service-row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 1rem 3rem; align-items: baseline; }
.wp-block-post-template.it-service-index .it-service-row > * + * { margin: 0; }
.wp-block-post-template.it-service-index .it-service-row__title { font-size: var(--wp--preset--font-size--xl); }
.it-service-index .wp-block-post-excerpt__excerpt { margin: 0; color: var(--it-muted); }
@media (max-width: 781px) { .wp-block-post-template.it-service-index .it-service-row { grid-template-columns: 1fr; } }

/* ---------- Этапы ---------- */

.it-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem;
	counter-reset: it-step;
}
.it-steps > .it-step { margin: 0 !important; position: relative; counter-increment: it-step; padding-top: 4rem; }
.it-step::before {
	content: counter(it-step);
	position: absolute;
	top: 0;
	left: 0;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--it-petrol);
	color: #fff;
	font-family: var(--it-display);
	font-weight: 600;
	font-size: 1.1rem;
	font-variant-numeric: tabular-nums;
	z-index: 1;
}
.it-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: calc(1.375rem - 2px);
	left: 3.25rem;
	right: -1.5rem;
	height: 4px;
	background: var(--it-petrol);
	border-radius: 2px;
}
.it-step h3 { margin: 0 0 .5rem; }
.it-step p { margin: 0; color: var(--it-muted); }
.it-step:last-child::before { background: var(--it-signal); color: var(--it-ink); }
@media (max-width: 1023px) {
	.it-steps { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.it-steps > .it-step { padding: 0 0 2rem 4rem; }
	.it-step:not(:last-child)::after { top: 3.25rem; bottom: .25rem; left: calc(1.375rem - 2px); right: auto; width: 4px; height: auto; }
}

/* ---------- Принципы, команда, отрасли ---------- */

.it-principles { gap: 2.25rem 2rem !important; }
.it-principle {
	margin: 0 !important;
	padding-top: 1.25rem;
	border-top: 1px solid var(--it-line);
	position: relative;
}
.it-principle::before { content: ""; position: absolute; top: -2px; left: 0; width: 2.5rem; height: 3px; background: var(--it-petrol); }
.it-principle h3 { margin: 0 0 .5rem; }
.it-principle p { margin: 0; color: var(--it-muted); }

/* ---------- Тарифы ---------- */

.it-plans { gap: 1.5rem !important; align-items: stretch; }
.it-plan {
	margin: 0 !important;
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--it-paper);
	border: 1px solid var(--it-line);
	border-radius: var(--it-radius-lg);
	padding: 2rem;
}
.it-plan > * { margin-block: 0; }
.it-plan__name { font-size: var(--wp--preset--font-size--lg); font-weight: 600; }
.it-plan__who { color: var(--it-muted); margin-block-start: .35rem; font-size: var(--wp--preset--font-size--sm); }
.it-plan__price { margin-block: 1.5rem; color: var(--it-muted); font-size: var(--wp--preset--font-size--sm); }
.it-plan__price strong {
	display: block;
	font-family: var(--it-display);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 650;
	letter-spacing: -0.02em;
	color: var(--it-ink);
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}
.it-plan .is-style-check { margin-block-end: 2rem; }
.it-plan__cta { margin-top: auto !important; }
.it-plan__cta .wp-block-button { width: 100%; }
.it-plan__cta .wp-block-button__link { width: 100%; }
.it-plan__badge {
	position: absolute;
	top: -.8rem;
	left: 2rem;
	background: var(--it-signal);
	color: var(--it-ink);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	padding: .2rem .7rem;
	border-radius: 999px;
}
.it-plan.is-featured { background: var(--it-petrol); border-color: var(--it-petrol); color: #fff; }
.it-plan.is-featured .it-plan__who,
.it-plan.is-featured .it-plan__price { color: rgba(255, 255, 255, .72); }
.it-plan.is-featured .it-plan__price strong { color: #fff; }
.it-plan.is-featured .is-style-check li::before { background: var(--it-signal); }
.it-more { margin-block-start: 2rem !important; font-weight: 600; }

/* ---------- Списки ---------- */

.is-style-check { list-style: none; padding: 0; margin-block: 0; }
.is-style-check > li { position: relative; padding-left: 1.9rem; margin: 0 0 .7rem; }
.is-style-check > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 1.2rem;
	height: 1.2rem;
	background: var(--it-petrol);
	-webkit-mask: var(--it-check) center / contain no-repeat;
	mask: var(--it-check) center / contain no-repeat;
}
.has-surface-color .is-style-check > li::before { background: var(--it-aqua); }
@media (min-width: 900px) {
	.it-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; }
}

.it-when { list-style: none; padding: 0; margin: 0; }
.it-when > li { position: relative; padding: 1rem 0 1rem 2rem; border-bottom: 1px solid var(--it-line); margin: 0; }
.it-when > li:first-child { border-top: 1px solid var(--it-line); }
.it-when > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.45rem;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 3px solid var(--it-petrol);
}

/* ---------- Таблица характеристик ---------- */

.is-style-spec table { border-collapse: collapse; width: 100%; }
.is-style-spec td,
.is-style-spec th { border: 0; border-bottom: 1px solid var(--it-line); padding: 1rem 1rem 1rem 0; text-align: left; vertical-align: top; }
.is-style-spec tr:first-child td { border-top: 1px solid var(--it-line); }
.is-style-spec th { font-weight: 600; color: var(--it-muted); font-size: var(--wp--preset--font-size--xs); border-top: 0; }
.is-style-spec td:first-child { width: 36%; }
.is-style-spec td strong { font-weight: 600; }
@media (max-width: 599px) {
	.is-style-spec tr { display: block; border-bottom: 1px solid var(--it-line); padding-block: .75rem; }
	.is-style-spec tr:first-child { border-top: 1px solid var(--it-line); }
	.is-style-spec td { display: block; width: auto !important; border: 0 !important; padding: .1rem 0; }
	.is-style-spec thead { display: none; }
}

/* ---------- Клиенты ---------- */

.it-clients { gap: 0 2rem !important; }
.it-client { margin: 0 !important; padding: 1.25rem 0; border-top: 1px solid var(--it-line); }
.it-client > * { margin: 0; }
.it-client__name { font-family: var(--it-display); font-size: var(--wp--preset--font-size--lg); font-weight: 600; letter-spacing: -0.02em; line-height: 1.2; }
.it-client__desc { color: var(--it-muted); font-size: var(--wp--preset--font-size--sm); margin-top: .25rem !important; }

/* ---------- Вопросы (details) ---------- */

.is-style-faq {
	border-bottom: 1px solid var(--it-line);
	margin: 0 !important;
}
.is-style-faq:first-child,
:not(.is-style-faq) + .is-style-faq { border-top: 1px solid var(--it-line); }
.is-style-faq summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 1.25rem 3rem 1.25rem 0;
	font-family: var(--it-display);
	font-size: var(--wp--preset--font-size--md);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.35;
}
.is-style-faq summary::-webkit-details-marker { display: none; }
.is-style-faq summary::after {
	content: "";
	position: absolute;
	right: 0;
	top: 1.2rem;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--it-tint) var(--it-plus) center / 0 no-repeat;
	transition: transform .25s var(--it-ease), background-color .2s ease;
}
.is-style-faq summary::before {
	content: "";
	position: absolute;
	right: .5rem;
	top: 1.7rem;
	width: 1rem;
	height: 1rem;
	background: var(--it-petrol);
	-webkit-mask: var(--it-plus) center / contain no-repeat;
	mask: var(--it-plus) center / contain no-repeat;
	z-index: 1;
	transition: transform .25s var(--it-ease);
}
.is-style-faq[open] summary::before { transform: rotate(45deg); }
.is-style-faq[open] summary::after { background-color: var(--it-signal); }
.is-style-faq summary:hover { color: var(--it-petrol); }
.is-style-faq > :not(summary) { margin: 0 0 1.25rem; padding-right: 3rem; color: var(--it-muted); max-width: 68ch; }
.is-style-faq > :not(summary) + :not(summary) { margin-top: -.5rem; }

/* ---------- Баннер ---------- */

.it-banner-section { padding-block: var(--wp--preset--spacing--60); }
.it-banner {
	background: var(--it-tint);
	border-radius: var(--it-radius-lg);
	padding: clamp(1.75rem, 4vw, 3rem);
	gap: 1.5rem 3rem !important;
}
.it-banner__text { flex: 1 1 26rem; }
.it-banner__text > * { margin: 0; }
.it-banner__text p { margin-top: .5rem; color: var(--it-muted); }
.it-banner h2 { color: var(--it-petrol); }

/* ---------- Заголовок внутренних страниц ---------- */

.it-page-hero {
	background: var(--it-petrol);
	color: #fff;
	padding-block: clamp(2.5rem, 6vw, 5rem) clamp(2.5rem, 5vw, 4rem);
	margin-block: 0 !important;
}
.it-page-hero h1,
.it-page-hero .wp-block-post-title { margin-block: .75rem 0; font-size: var(--wp--preset--font-size--xxl); font-weight: 700; }
.it-page-hero__lead,
.it-page-hero .wp-block-post-excerpt { font-size: var(--wp--preset--font-size--md); color: rgba(255, 255, 255, .8); max-width: 62ch; margin-block: 1.25rem 0; }
.it-page-hero .wp-block-post-excerpt__excerpt { margin: 0; }
.it-page-hero .wp-block-buttons { margin-top: 2rem; }

.wp-block-breadcrumbs { font-size: var(--wp--preset--font-size--sm); color: var(--it-aqua); }
.wp-block-breadcrumbs a { color: rgba(255, 255, 255, .78); text-decoration: none; }
.wp-block-breadcrumbs a:hover { color: #fff; text-decoration: underline; }
.wp-block-breadcrumbs [aria-current] { color: var(--it-aqua); }

/* ---------- О компании: хронология ---------- */

.it-timeline { max-width: 820px; }
.it-timeline__item { position: relative; margin: 0 !important; padding: 0 0 2.25rem 3.25rem; }
.it-timeline__item::before { content: ""; position: absolute; left: calc(.75rem - 2px); top: .5rem; bottom: -.5rem; width: 4px; background: var(--it-petrol); border-radius: 2px; }
.it-timeline__item:last-child::before { display: none; }
.it-timeline__item::after { content: ""; position: absolute; left: .25rem; top: .45rem; width: 1rem; height: 1rem; border-radius: 50%; background: var(--it-signal); box-shadow: 0 0 0 4px var(--it-surface); }
.it-timeline__item > * { margin: 0; }
.it-timeline__item h3 { margin-bottom: .4rem; }
.it-timeline__item p:not(.it-timeline__mark) { color: var(--it-muted); max-width: 62ch; }
.it-timeline__mark { font-family: var(--it-display); font-weight: 700; color: var(--it-petrol); font-size: var(--wp--preset--font-size--sm); margin-bottom: .2rem !important; }

/* ---------- Блок заявки ---------- */

.it-cta { margin-block: 0 !important; }
.it-cta h2 { font-size: var(--wp--preset--font-size--xl); margin-top: 0; }
.it-lead-text { color: rgba(255, 255, 255, .78); font-size: var(--wp--preset--font-size--md); }
.it-cta__contacts { gap: 1.25rem !important; margin-top: 2rem !important; }
.it-cta .it-contact a { color: #fff; text-decoration: none; }
.it-cta .it-contact a:hover { color: var(--it-signal); }
.it-cta .it-contact__label { color: var(--it-aqua); }
.it-cta__phone .it-contact__value { font-family: var(--it-display); font-size: var(--wp--preset--font-size--lg); font-weight: 600; }

.it-lead {
	background: var(--it-surface);
	color: var(--it-ink);
	border-radius: var(--it-radius-lg);
	padding: clamp(1.25rem, 3vw, 2.25rem);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .45);
}
.it-lead__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; }
.it-field { margin: 0; display: flex; flex-direction: column; gap: .4rem; }
.it-field--wide { grid-column: 1 / -1; }
.it-field label { font-size: var(--wp--preset--font-size--sm); font-weight: 600; }
.it-field__opt { font-weight: 400; color: var(--it-muted); }
.it-field input,
.it-field select,
.it-field textarea {
	box-sizing: border-box;
	line-height: 1.3;
	margin: 0;
	font: inherit;
	font-size: 1rem;
	color: var(--it-ink);
	background: var(--it-surface);
	border: 1.5px solid #C5CCC6;
	border-radius: var(--it-radius);
	padding: .8rem .9rem;
	width: 100%;
	min-height: 3rem;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.it-field select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F4C4A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right .75rem center;
	background-size: 1.1rem;
	padding-right: 2.5rem;
}
.it-field textarea { resize: vertical; min-height: 6rem; }
.it-field input::placeholder,
.it-field textarea::placeholder { color: #8A938F; }
.it-field input:hover, .it-field select:hover, .it-field textarea:hover { border-color: #9AA39E; }
.it-field input:focus, .it-field select:focus, .it-field textarea:focus {
	outline: none;
	border-color: var(--it-petrol);
	box-shadow: 0 0 0 4px rgba(15, 76, 74, .16);
}
.it-lead [aria-invalid="true"] { border-color: var(--it-danger) !important; box-shadow: 0 0 0 4px rgba(180, 35, 24, .12) !important; }
.it-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.it-lead__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; margin-top: 1.25rem; }
.it-consent { display: flex; gap: .65rem; align-items: flex-start; font-size: var(--wp--preset--font-size--xs); color: var(--it-muted); max-width: 34rem; flex: 1 1 18rem; line-height: 1.45; cursor: pointer; }
.it-consent input { width: 1.15rem; height: 1.15rem; margin: .05rem 0 0; accent-color: var(--it-petrol); flex: none; }
.it-consent a { color: var(--it-petrol); }
.it-lead__submit { flex: 0 0 auto; cursor: pointer; padding: 1rem 1.6rem; }
.it-lead__submit:disabled { opacity: .7; cursor: progress; }
.it-lead__status { margin: 1rem 0 0; font-size: var(--wp--preset--font-size--sm); font-weight: 500; }
.it-lead__status:empty { display: none; }
.it-lead__status[data-state="success"] { background: var(--it-tint); color: var(--it-petrol); padding: .85rem 1rem; border-radius: var(--it-radius); }
.it-lead__status[data-state="error"] { color: var(--it-danger); }
@media (max-width: 599px) {
	.it-lead__grid { grid-template-columns: 1fr; }
	.it-lead__submit { width: 100%; }
}

/* ---------- Контакты и реквизиты ---------- */

.it-contact { display: flex; flex-direction: column; gap: .15rem; margin: 0; }
.it-contact a { color: inherit; text-decoration: none; }
.it-contact a:hover { text-decoration: underline; text-underline-offset: 3px; }
.it-contact__label { font-size: var(--wp--preset--font-size--xs); color: var(--it-muted); }
.it-contact .it-icon { flex: none; color: var(--it-petrol); }
.it-contact__row { display: inline-flex; gap: .6rem; align-items: center; }

.it-contacts > .it-contact { padding: 1rem 0; border-bottom: 1px solid var(--it-line); margin: 0 !important; }
.it-contacts > .it-contact:first-child { border-top: 1px solid var(--it-line); }
.it-contacts .it-contact { display: grid; grid-template-columns: 1fr; }
.it-contacts .it-contact .it-contact__value { font-size: var(--wp--preset--font-size--md); }
.it-contacts .it-contact--big .it-contact__value { font-family: var(--it-display); font-size: var(--wp--preset--font-size--xl); font-weight: 600; letter-spacing: -0.02em; }

.it-req { margin: 0 0 2rem; }
.it-req__row { display: grid; grid-template-columns: minmax(8rem, 34%) 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--it-line); }
.it-req__row:first-child { border-top: 1px solid var(--it-line); }
.it-req dt { color: var(--it-muted); font-size: var(--wp--preset--font-size--sm); }
.it-req dd { margin: 0; font-variant-numeric: tabular-nums; }
@media (max-width: 599px) { .it-req__row { grid-template-columns: 1fr; gap: .2rem; } }

/* ---------- Подвал ---------- */

.it-footer { margin-block: 0 !important; font-size: var(--wp--preset--font-size--sm); }
.it-footer a { color: rgba(255, 255, 255, .78); text-decoration: none; }
.it-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.it-footer__cols { gap: 2.5rem 3rem !important; }
.it-footer__about { color: rgba(255, 255, 255, .6); max-width: 34ch; margin-top: 1.25rem; }
.it-footer__title { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--sm); font-weight: 600; letter-spacing: 0; color: var(--it-aqua); margin: 0 0 1rem; }
.it-footer__links { list-style: none; padding: 0; margin: 0; }
.it-footer__links li { margin: 0 0 .55rem; }
.it-footer .it-contact { margin-bottom: .85rem; }
.it-footer .it-contact__label { color: rgba(255, 255, 255, .5); }
.it-footer__phone .it-contact__value { font-family: var(--it-display); font-size: var(--wp--preset--font-size--md); font-weight: 600; color: #fff; }
.it-footer__emergency { color: var(--it-signal); font-weight: 500; }
.it-footer__emergency .it-icon { color: var(--it-signal); }
.it-footer__bottom {
	margin-top: var(--wp--preset--spacing--60) !important;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, .12);
	color: rgba(255, 255, 255, .5);
	font-size: var(--wp--preset--font-size--xs);
	gap: .75rem 2rem !important;
}
.it-footer__bottom > * { margin: 0 !important; }
.it-footer__bottom a { color: rgba(255, 255, 255, .6); }

/* ---------- Похожие услуги ---------- */

.it-related h2 { margin-top: 0; }
.it-chips { gap: .6rem !important; list-style: none; padding: 0; }
.it-chips > li { margin: 0 !important; }
.it-chips .wp-block-post-title { margin: 0; font-family: var(--wp--preset--font-family--body); font-weight: 500; letter-spacing: 0; }
.it-chips .wp-block-post-title a {
	display: inline-block;
	padding: .6rem 1rem;
	border: 1px solid var(--it-line);
	border-radius: 999px;
	background: var(--it-surface);
	color: var(--it-ink);
	text-decoration: none;
	transition: border-color .15s ease, color .15s ease;
}
.it-chips .wp-block-post-title a:hover { border-color: var(--it-petrol); color: var(--it-petrol); }

/* ---------- Текстовые страницы ---------- */

.it-prose { padding-block: var(--wp--preset--spacing--60); }
.it-prose > h2 { margin-top: 2.5rem; }
.it-prose > h2:first-child { margin-top: 0; }
.it-prose > .it-section:first-child { margin-top: calc(-1 * var(--wp--preset--spacing--60)) !important; }
.it-prose > .it-section:last-child { margin-bottom: calc(-1 * var(--wp--preset--spacing--60)) !important; }
.it-prose ul:not([class*="is-style"]) { padding-left: 1.25rem; }
.it-prose li { margin-bottom: .35rem; }

/* ---------- Публикации ---------- */

.it-post-card { background: var(--it-surface); border: 1px solid var(--it-line); border-radius: var(--it-radius-lg); padding: 1.5rem; height: 100%; }
.it-post-card .wp-block-post-title a { color: var(--it-ink); text-decoration: none; }
.it-post-card .wp-block-post-date { color: var(--it-muted); }

/* ---------- 404 ---------- */

.it-404__code { font-family: var(--it-display); font-size: clamp(5rem, 16vw, 10rem); font-weight: 700; line-height: 1; color: var(--it-petrol); letter-spacing: -0.05em; margin: 0; }
.it-404__search { max-width: 28rem; margin-top: 2rem; }

/* ---------- Адаптив колонок ---------- */

@media (max-width: 781px) {
	.it-section .wp-block-columns { gap: 1.5rem; }
	.it-hero__aside { margin-top: .5rem; }
	.it-hero__title { max-width: none; }
	.it-service-row { padding-right: 2.75rem; }
}

/* ---------- Редактор ---------- */

.editor-styles-wrapper .it-site-header { position: static; }
.editor-styles-wrapper .is-style-fork > li::after,
.editor-styles-wrapper .is-style-fork > li > :first-child::before { animation: none; }

/* ---------- Сетки: схлопываем пустые треки ---------- */
.it-plans.is-layout-grid,
.it-principles.is-layout-grid,
.it-clients.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--it-grid-min, 16rem)), 1fr)) !important; }
.it-plans { --it-grid-min: 17rem; }
.it-clients { --it-grid-min: 13rem; }
.it-principles { --it-grid-min: 15rem; }

@media (min-width: 1280px) { .it-nowrap { white-space: nowrap; } }
.it-field input[type="checkbox"] { min-height: 0; }

.it-team .it-principles, .it-industries .it-principles { --it-grid-min: 19rem; }

/* Полноэкранное меню: backdrop-filter у шапки ограничивал бы fixed-оверлей её высотой */
.it-header:has(.is-menu-open) { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--it-paper); }
.it-nav .is-menu-open { height: 100dvh; overflow-y: auto; }
.it-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.it-nav .is-menu-open .wp-block-navigation__container,
.it-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.it-nav .is-menu-open .wp-block-navigation__submenu-container { padding-left: 0 !important; }
.it-principles.it-vols-tech { --it-grid-min: 19rem; }

/* Новые услуги: факты, 5 этапов, подпись источника */
.it-fact-num { margin: 0 0 .35rem !important; }
.it-fact-num strong { font-family: var(--it-display); font-size: var(--wp--preset--font-size--xl); font-weight: 650; letter-spacing: -0.02em; color: var(--it-petrol); line-height: 1.1; }
.it-source { margin-top: 1.5rem !important; font-size: var(--wp--preset--font-size--xs); color: var(--it-muted); }
@media (min-width: 1024px) { .it-steps.it-steps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.5rem; } }
.it-principles.it-legal-why { --it-grid-min: 17rem; }
.it-principles.it-avr-usp { --it-grid-min: 20rem; }
