@font-face {
  font-family: Unbounded;
  src: url("../fonts/unbounded-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
}

@font-face {
  font-family: "Golos Text";
  src: url("../fonts/golos-text-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("../fonts/ibm-plex-mono-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
}

:root {
  --ita-bg: #f6f7f8;
  --ita-panel: #ffffff;
  --ita-panel-alt: #eef0f3;
  --ita-ink: #12161c;
  --ita-muted: #7a838f;
  --ita-text: #5b6470;
  --ita-rule: #e0e4e9;
  --ita-dark: #12161c;
  --ita-primary: #0b57d0;
  --ita-primary-hover: #0a4ab1;
  --ita-radius: 6px;
  --ita-content: 1200px;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--ita-bg);
  color: var(--ita-ink);
  font-family: "Golos Text", sans-serif;
  line-height: 1.6;
}

h1, h2, h3,
.ita-wordmark,
.ita-entry__title,
.ita-archive__title,
.ita-summary-card__title,
.ita-register strong,
.ita-plans strong {
  font-family: Unbounded, sans-serif;
}

.ita-technical-label,
.ita-label,
.ita-register span,
.ita-problems > article > b,
.ita-service-matrix > article > b,
.ita-steps b,
.ita-direct small,
[class*="eyebrow"],
[class*="kicker"] {
  font-family: "IBM Plex Mono", monospace;
}

:focus-visible {
  outline: 2px solid #0b57d0;
  outline-offset: 3px;
}

.ita-wrap {
  width: min(100%, calc(var(--ita-content) + 4rem));
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 2rem);
}

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

.ita-skip-link {
  position: fixed;
  top: -5rem;
  left: 1.25rem;
  z-index: 1000;
  padding: 0.65rem 1rem;
  background: var(--ita-ink);
  color: #fff;
}

.ita-skip-link:focus {
  top: 0.6rem;
}

html { scroll-behavior: smooth; scroll-padding-top: 76px; }
body { overflow-wrap: break-word; }
a { color: inherit; text-underline-offset: 3px; }
button, input, select { font: inherit; }
[hidden] { display: none !important; }
.ita-label, .ita-register, .ita-plans strong, .ita-problems > article > b, .ita-service-matrix > article > b, .ita-steps b, .ita-direct small {
  font-family: "IBM Plex Mono", monospace;
}
.ita-label { color: #0b57d0; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.ita-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 16px 22px; border: 1px solid #0b57d0; border-radius: 4px; background: #0b57d0; color: #fff; font-size: 15px; font-weight: 600; line-height: 1; text-decoration: none; cursor: pointer; }
.ita-button:hover { background: #0a4ab1; border-color: #0a4ab1; color: #fff; }
.ita-button--line { background: transparent; color: #12161c; border-color: #d5dae1; }
.ita-button--line:hover { background: transparent; border-color: #0b57d0; color: #0b57d0; }
.ita-site-header { position: sticky; z-index: 30; top: 0; border-bottom: 1px solid var(--ita-rule); background: rgba(250,249,246,.98); }
.ita-site-header__in { display: flex; align-items: center; gap: 1.2rem; height: 76px; }
.ita-wordmark { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; font-size: 1.1rem; }
.ita-wordmark > span { display: grid; place-items: center; width: 34px; height: 30px; border: 1px solid rgba(21,22,25,.35); border-radius: 4px; color: #0b57d0; font: .67rem "IBM Plex Mono", monospace; }
.ita-wordmark b { font-weight: 650; }
.ita-desktop-nav { margin-left: auto; }
.ita-menu, .ita-footer-menu { display: flex; gap: 1.4rem; margin: 0; padding: 0; list-style: none; }
.ita-desktop-nav a, .ita-header-phone { display: inline-flex; align-items: center; min-height: 44px; color: var(--ita-muted); font: .7rem "IBM Plex Mono", monospace; text-decoration: none; }
.ita-menu-toggle { display: none; place-items: center; width: 44px; height: 44px; margin-left: auto; border: 1px solid rgba(20,22,25,.2); border-radius: 6px; background: transparent; }
.ita-menu-toggle span, .ita-menu-toggle span::before, .ita-menu-toggle span::after { display: block; width: 20px; height: 1px; background: var(--ita-ink); content: ""; }
.ita-menu-toggle span { position: relative; }.ita-menu-toggle span::before { position: absolute; top: -6px; }.ita-menu-toggle span::after { position: absolute; top: 6px; }
.ita-mobile-nav { display: none; padding: .5rem 1.25rem 1rem; border-top: 1px solid var(--ita-rule); background: #f6f7f8; }
.ita-mobile-nav.is-open { display: block; }.ita-mobile-nav .ita-menu { display: block; }.ita-mobile-nav a { display: flex; align-items: center; min-height: 50px; border-bottom: 1px solid var(--ita-rule); text-decoration: none; }
.ita-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--ita-rule); }
.ita-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(20,22,25,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(20,22,25,.028) 1px,transparent 1px); background-size: 80px 80px; pointer-events: none; }
.ita-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(390px,.82fr); gap: clamp(3rem,6vw,6rem); align-items: center; padding-block: clamp(4.5rem,7vw,7.5rem); }
.ita-hero h1 { max-width: 11.5ch; margin: 1.7rem 0 0; font-size: clamp(3rem,5.5vw,5.25rem); font-weight: 550; line-height: 1.02; letter-spacing: -.045em; }
.ita-lead { max-width: 52ch; margin-top: 1.7rem; color: #5b6470; font-size: clamp(1.04rem,1.5vw,1.22rem); }
.ita-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.ita-architecture { margin: 0; overflow: hidden; border: 1px solid rgba(20,22,25,.28); border-radius: 8px; background: var(--ita-dark); color: #fff; box-shadow: 0 22px 44px rgba(26,25,22,.16); }
.ita-architecture figcaption { display: flex; justify-content: space-between; padding: 1rem; border-bottom: 1px solid rgba(255,255,255,.1); font: .67rem "IBM Plex Mono", monospace; letter-spacing: .06em; }
.ita-arch-flow { padding: 1rem; }.ita-arch-flow > div { display: grid; grid-template-columns: 2rem 1fr; padding: 1rem; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; background: #1a2029; }.ita-arch-flow b { grid-row: span 2; color: #8fb4f0; font: .67rem "IBM Plex Mono", monospace; }.ita-arch-flow small { color: #b8c0ca; font: .65rem "IBM Plex Mono", monospace; }.ita-arch-flow i { display: block; padding: .65rem; color: #7a838f; text-align: center; font: normal .62rem "IBM Plex Mono", monospace; }
.ita-metrics { border-bottom: 1px solid var(--ita-rule); }.ita-register { display: grid; grid-template-columns: repeat(4,1fr); }.ita-register--two { grid-template-columns: repeat(2,1fr); font-family: "Golos Text", sans-serif; }.ita-register > div { padding: 1.35rem; border-left: 1px solid var(--ita-rule); }.ita-register strong, .ita-register span { display: block; }.ita-register span { color: var(--ita-muted); font-size: .7rem; }
.ita-section { padding-block: clamp(4.5rem,8vw,7.5rem); border-bottom: 1px solid var(--ita-rule); }.ita-section-head { display: grid; grid-template-columns: 5rem minmax(0,1fr); gap: 1.5rem; margin-bottom: clamp(2.5rem,5vw,4.5rem); }.ita-section h2 { max-width: 18ch; margin: 0; font-size: clamp(2rem,3.4vw,3.35rem); font-weight: 500; line-height: 1.08; letter-spacing: -.03em; }.ita-section-head p:last-child { max-width: 58ch; color: var(--ita-muted); }
.ita-problems { border-top: 1px solid rgba(20,22,25,.2); }.ita-problems article { display: grid; grid-template-columns: 4rem minmax(180px,.7fr) 1fr; gap: 1.5rem; padding: 1.4rem; border-bottom: 1px solid var(--ita-rule); }.ita-problems b, .ita-service-matrix b { color: var(--ita-muted); font-size: .68rem; }.ita-problems h3, .ita-problems p { margin: 0; }.ita-problems p { color: var(--ita-muted); font-size: .84rem; }
.ita-service-matrix { display: grid; grid-template-columns: 1fr 1fr; margin-top: 2rem; border-top: 1px solid var(--ita-rule); background: #fff; }.ita-service-matrix article { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.5rem 2rem; border: 0 solid var(--ita-rule); border-width: 0 0 1px 1px; }.ita-service-matrix h3, .ita-service-matrix p { margin: 0; }.ita-service-matrix p { margin-top: .5rem; color: var(--ita-muted); font-size: .83rem; }
.ita-pricing { background: #f6f7f8; }.ita-plans { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(20,22,25,.2); background: #fff; }.ita-plans article { padding: 1.4rem 1rem; border: 0 solid var(--ita-rule); border-width: 0 1px 1px 0; }.ita-plans h3 { margin: 0; }.ita-plans strong { display: block; margin-top: .5rem; font-size: 1.2rem; }.ita-plans p { min-height: 3rem; color: var(--ita-muted); }.ita-plans .ita-button { width: 100%; }.ita-plans .is-featured { background: #f4f8fe; box-shadow: inset 0 3px 0 #0b57d0; }
.ita-finder { display: grid; grid-template-columns: .7fr 1fr; gap: 3rem; margin-top: 3rem; padding: 2rem; border-radius: 8px; background: var(--ita-dark); color: #fff; }.ita-finder .ita-label { color: #8fb4f0; }.ita-finder p { color: #b8c0ca; }.ita-finder__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.ita-finder label, .ita-lead-form label { display: grid; gap: .4rem; font: .68rem "IBM Plex Mono", monospace; }.ita-finder input, .ita-lead-form input, .ita-lead-form select { min-height: 48px; width: 100%; padding: .7rem; border: 1px solid rgba(255,255,255,.18); border-radius: 6px; background: #12161c; color: #fff; }.ita-finder-result { grid-column: 1/-1; display: grid; padding: 1rem; border-top: 1px solid rgba(216,206,181,.35); background: #1a2029; color: #b8c0ca; }.ita-finder-result strong { color: #8fb4f0; }.ita-finder-result .ita-button { width: max-content; margin-top: .75rem; }
.ita-pricing-scroll { margin-top: 3rem; overflow-x: auto; }.ita-pricing-scroll table { width: 100%; min-width: 780px; border-collapse: collapse; background: #fff; }.ita-pricing-scroll th, .ita-pricing-scroll td { padding: 1rem; border: 1px solid var(--ita-rule); text-align: left; }
.ita-how-block { margin-top: clamp(4.5rem,8vw,7.5rem); padding-top: clamp(4.5rem,8vw,7.5rem); border-top: 1px solid var(--ita-rule); }
.ita-steps { display: grid; grid-template-columns: repeat(4,1fr); margin: 0; padding: 0; border-top: 1px solid var(--ita-rule); list-style: none; background: #fff; }.ita-steps li { padding: 1.4rem; border: 0 solid var(--ita-rule); border-width: 0 0 1px 1px; }.ita-steps b { color: var(--ita-muted); font-size: .68rem; }.ita-steps p { color: var(--ita-muted); font-size: .83rem; }
.ita-faq__layout { display: grid; grid-template-columns: .45fr 1fr; gap: clamp(2rem,7vw,6rem); }.ita-faq-list { border-top: 1px solid rgba(20,22,25,.2); }.ita-faq-list details { border-bottom: 1px solid var(--ita-rule); }.ita-faq-list summary { display: grid; grid-template-columns: 1fr 2rem; align-items: center; min-height: 64px; padding: 1rem 0; font-weight: 550; cursor: pointer; list-style: none; }.ita-faq-list summary::after { content: "+"; color: #0b57d0; font: 1.2rem "IBM Plex Mono", monospace; text-align: center; }.ita-faq-list details[open] summary::after { content: "−"; }.ita-faq-list details p { max-width: 70ch; padding: 0 3rem 1.3rem 0; color: var(--ita-muted); }
.ita-contact { background: var(--ita-dark); color: #fff; }.ita-contact .ita-label { color: #8fb4f0; }.ita-contact__grid { display: grid; grid-template-columns: .8fr 1fr; gap: clamp(3rem,8vw,7rem); }.ita-contact__grid > div > p { color: #b8c0ca; }.ita-direct { margin-top: 2rem; border-top: 1px solid rgba(255,255,255,.1); }.ita-direct a { display: flex; justify-content: space-between; align-items: center; min-height: 50px; border-bottom: 1px solid rgba(255,255,255,.1); text-decoration: none; }.ita-direct small { color: #7a838f; }.ita-lead-form { display: grid; gap: 1rem; padding: 1.5rem; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: #1a2029; }.ita-lead-form .ita-button { background: #8fb4f0; border-color: #8fb4f0; color: #12161c; }.ita-form-note, .ita-field-error { color: #7a838f; font-size: .68rem; }.ita-field-error { color: #c2492e; }.ita-state { display: grid; padding: 1rem; border: 1px solid rgba(255,255,255,.18); border-radius: 4px; color: #b8c0ca; }.ita-state--success { border-color: #4a9d6a; color: #4a9d6a; }.ita-state--error { border-color: #c2492e; color: #c2492e; }.ita-spinner { display: inline-block; width: 16px; height: 16px; margin-right: .5rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: ita-spin .7s linear infinite; }
.ita-contact .wpcf7-form { display: grid; gap: 1rem; padding: 1.5rem; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: #1a2029; }
.ita-contact .wpcf7-form p { display: grid; gap: .45rem; margin: 0; }
.ita-contact .wpcf7-form .ita-form-privacy { display: block; color: #b8c0ca; font: .72rem/1.6 "Golos Text", sans-serif; }
.ita-contact .wpcf7-form .ita-form-privacy__link { color: #fff; }
.ita-contact .wpcf7-form label { display: grid; gap: .4rem; color: #e6ebf2; font: .68rem "IBM Plex Mono", monospace; }
.ita-contact .wpcf7-form input:not([type="submit"]), .ita-contact .wpcf7-form select, .ita-contact .wpcf7-form textarea { min-height: 48px; width: 100%; padding: .7rem; border: 1px solid rgba(255,255,255,.18); border-radius: 6px; background: #12161c; color: #fff; }
.ita-contact .wpcf7-form textarea { min-height: 120px; resize: vertical; }
.ita-contact .wpcf7-form .wpcf7-submit { min-height: 48px; width: 100%; border: 1px solid #8fb4f0; border-radius: 6px; background: #8fb4f0; color: #12161c; font-weight: 650; cursor: pointer; }
.ita-contact .wpcf7-form .wpcf7-response-output { margin: 0; padding: .8rem; border-width: 1px; }
.ita-site-footer { padding-block: 3rem 1.5rem; background: var(--ita-dark); color: #fff; border-top: 1px solid rgba(255,255,255,.1); }.ita-site-footer__grid { display: grid; grid-template-columns: 1fr auto; gap: 3rem; }.ita-site-footer__brand p { color: #b8c0ca; }.ita-site-footer__brand .ita-wordmark > span { border-color: rgba(255,255,255,.45); color: #8fb4f0; }.ita-site-footer a { min-height: 44px; color: #b8c0ca; }.ita-site-footer__meta { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.1); color: #7a838f; font: .68rem "IBM Plex Mono", monospace; }

/* Site-wide iteration 3 templates and controlled Gutenberg content. */
.ita-site-main { min-height: 55vh; }
.ita-entry__header { padding-block: clamp(4rem, 8vw, 7rem) clamp(2rem, 5vw, 4rem); border-bottom: 1px solid var(--ita-rule); }
.ita-archive__header { padding-block: clamp(4rem, 8vw, 7rem) clamp(2rem, 5vw, 4rem); border-bottom: 1px solid var(--ita-rule); }
.ita-entry__title, .ita-archive__title { max-width: 18ch; margin: 0; font-size: clamp(2.75rem, 5vw, 5rem); font-weight: 550; line-height: 1.03; letter-spacing: -.045em; }
.ita-entry__meta, .ita-archive__description { max-width: 62ch; margin-top: 1.25rem; color: var(--ita-muted); }
.ita-entry__content { padding-block: clamp(3rem, 7vw, 6rem); }
.ita-entry__content > :where(*:not(.alignwide):not(.alignfull)) { max-width: 760px; margin-inline: auto; }
.ita-entry__content > .alignwide { max-width: var(--ita-content); margin-inline: auto; }
.ita-entry__content > .alignfull { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }
.ita-entry__content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.ita-entry__content > table { max-width: 760px; margin-inline: auto; }
.ita-entry__content > pre { box-sizing: border-box; width: 100%; max-width: 760px; margin: 1.25rem auto; padding: 1rem 1.125rem; overflow-x: auto; border: 1px solid var(--ita-rule); border-radius: 4px; background: var(--ita-panel); font-size: .875rem; line-height: 1.6; }
.ita-entry__content > pre code { white-space: pre; overflow-wrap: normal; word-break: normal; }
.ita-entry__content table th, .ita-entry__content table td { padding: .75rem; border: 1px solid var(--ita-rule); text-align: left; vertical-align: top; }
.ita-entry__content :where(h2, h3) { line-height: 1.15; letter-spacing: -.025em; }
.ita-entry__content img { max-width: 100%; height: auto; }
.ita-page-links { display: flex; gap: .5rem; margin-top: 2rem; }
.post-navigation { width: min(100%, calc(760px + 4rem)); margin: 0 auto clamp(3rem, 7vw, 6rem); padding-inline: clamp(1.25rem, 4vw, 2rem); }.post-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.post-navigation a { display: grid; min-height: 96px; padding: 1rem; border: 1px solid var(--ita-rule); background: var(--ita-panel); text-decoration: none; }.nav-next { text-align: right; }.ita-post-nav__label { color: var(--ita-muted); font: .66rem "IBM Plex Mono", monospace; text-transform: uppercase; }
.ita-archive__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; padding-block: clamp(3rem, 7vw, 6rem); background: var(--ita-rule); }.ita-summary-card { display: flex; flex-direction: column; min-height: 300px; padding: 1.5rem; background: var(--ita-panel); }.ita-summary-card__title { margin: 1.5rem 0 .75rem; font-size: 1.45rem; line-height: 1.2; }.ita-summary-card__title a { text-decoration: none; }.ita-summary-card__excerpt { color: var(--ita-muted); }.ita-summary-card__link { margin-top: auto; padding-top: 1.5rem; font-weight: 650; }.ita-content-none { grid-column: 1 / -1; padding: 2rem; background: var(--ita-panel); }
.ita-pagination { padding: 0 clamp(1.25rem, 4vw, 2rem) clamp(3rem, 7vw, 6rem); }.ita-pagination .nav-links { display: flex; justify-content: center; gap: .4rem; }.ita-pagination .page-numbers { display: grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid var(--ita-rule); text-decoration: none; }.ita-pagination .current { background: var(--ita-dark); color: #fff; }
.ita-header-phone-mobile { display: none; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border: 1px solid rgba(20,22,25,.2); border-radius: 6px; color: var(--ita-ink); text-decoration: none; }
@keyframes ita-spin { to { transform: rotate(360deg); } }
@media (max-width: 1080px) { .ita-hero__grid { grid-template-columns: 1fr; }.ita-architecture { max-width: 720px; }.ita-register, .ita-plans, .ita-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) { .ita-desktop-nav, .ita-header-phone, .ita-header-cta { display: none; }.ita-header-phone-mobile { display: inline-flex; }.ita-menu-toggle { display: grid; margin-left: 0; }.ita-faq__layout, .ita-contact__grid { grid-template-columns: 1fr; }.ita-problems article { grid-template-columns: 3rem 1fr; }.ita-problems article p { grid-column: 2; }.ita-archive__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { html { scroll-padding-top: 62px; }.ita-site-header__in { height: 62px; }.ita-hero__grid { padding-block: 3.25rem; }.ita-hero h1 { font-size: clamp(2.65rem,12.5vw,3.75rem); }.ita-actions { flex-direction: column; }.ita-actions .ita-button { width: 100%; }.ita-register, .ita-plans, .ita-service-matrix, .ita-steps { grid-template-columns: 1fr; }.ita-section { padding-block: 3.75rem; }.ita-section-head { display: block; }.ita-finder { grid-template-columns: 1fr; margin-inline: -1.25rem; border-radius: 0; }.ita-finder__fields { grid-template-columns: 1fr; }.ita-service-matrix article { padding-inline: 1rem; }.ita-site-footer__grid, .post-navigation .nav-links, .ita-archive__grid { grid-template-columns: 1fr; }.ita-footer-menu { flex-direction: column; gap: 0; }.ita-entry__title, .ita-archive__title { font-size: clamp(2.4rem, 12vw, 3.5rem); }.ita-entry__title { max-width: none; font-size: clamp(1.875rem,7.75vw,2.125rem); line-height: 1.06; }.ita-summary-card { min-height: 0; }.ita-entry__content table { display: table; table-layout: fixed; overflow: visible; }.ita-entry__content table th, .ita-entry__content table td { padding: .45rem; overflow-wrap: anywhere; font-size: .72rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.ita-spinner { animation: none; border-right-color: currentColor; } }

/* Global locale switch: presentation-only alias, design tokens remain unchanged. */
.ita-langs { display: flex; flex: 0 0 auto; gap: 2px; font-size: 12.5px; font-weight: 600; }
.ita-langs a,.ita-langs span { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 4px; border-radius: 3px; color: #5b6470; text-decoration: none; }
.ita-langs a[aria-current="page"] { background: #12161c; color: #fff; }
@media (max-width: 900px) { .ita-langs { margin-left: auto; } }
@media (max-width: 560px) { .ita-langs a,.ita-langs span { min-width: 44px; min-height: 44px; padding-inline: 3px; } }
