.tech-img-wrap {
  height: 160px; 
  display: flex;
  align-items: flex-end; 
  margin-bottom: 16px;
}

.tech-img-wrap img {
  max-height: 100%;
  width: auto;
  max-width: 100%;
  display: block;
}

.prim{
	padding-bottom: 100px;
	padding-top: 100px;
	text-align: center;
}

.apply-icon {
  width: 80px;
  height: 80px;
  object-fit: contain;
}
.apply-label {
  font-size: .95rem;
  color: #333;
  margin: 0;
}


.step-num {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #e8eaf0;
  color: #3a5faa;
  font-size: 1.1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.step-text {
  margin: 0;
  font-size: .95rem;
  color: #222;
  line-height: 1.4;
  padding-top: 10px;
}

.wpcf7-spinner{
	display: none;
}

.wpcf7-list-item-label{
	font-size: 12px;
}

.wpcf7-list-item{
	line-height: 1;
}


@media screen and (max-width: 768px){
.tech-img-wrap img{
	margin: 0 auto;
}
	.service-card__title {
     font-size: 32px;
}
}



 :root {
      --nav-height: 68px;
      --accent: #3A5FAA;
      --accent-dark: #2C4C8C;
      --border: #e5e7eb;
      --shadow-nav: 0 2px 16px 0 rgba(30, 41, 80, 0.10);
    }


    /* ───── NAVBAR ───── */
    .site-navbar {
      background: #fff;
      box-shadow: var(--shadow-nav);
      height: var(--nav-height);
      position: sticky;
      top: 0;
      z-index: 1030;
      transition: box-shadow 0.25s;
    }
 
    .site-navbar.scrolled {
      box-shadow: 0 4px 24px 0 rgba(30, 41, 80, 0.14);
    }
 
    .navbar-inner {
      display: flex;
      align-items: center;
      height: var(--nav-height);
      gap: 0;
    }
 
    /* ── Logo ── */
    .nav-logo {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      flex-shrink: 0;
      margin-right: 36px;
    }
 
    .nav-logo-icon {
      width: 150px;
      height: auto;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
 
    .nav-logo-icon svg {
      width: 22px;
      height: 22px;
      fill: #fff;
    }
 
    .nav-logo-text {
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--text-main);
      letter-spacing: -0.02em;
      line-height: 1;
    }
 
    .nav-logo-text span {
      color: var(--accent);
    }
 
    /* ── Nav links ── */
    .nav-links {
      display: flex;
      align-items: center;
      list-style: none;
      margin: 0;
      padding: 0;
      gap: 2px;
      flex: 1;
    }
 
    .nav-links li a {
      display: block;
      padding: 6px 14px;
      font-size: 0.875rem;
      font-weight: 500;
      color: var(--text-main);
      text-decoration: none;
      border-radius: 6px;
      transition: background 0.18s, color 0.18s;
      white-space: nowrap;
    }
 
    .nav-links li a:hover {
      background: #f0f4ff;
      color: var(--accent);
    }
 
    .nav-links li a.active {
      color: var(--accent);
      background: #eef2ff;
    }
 
    /* ── Right block ── */
    .nav-right {
      display: flex;
      align-items: center;
      gap: 20px;
      flex-shrink: 0;
      margin-left: auto;
    }
 
    .nav-contacts {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 2px;
    }
 
    .nav-phone {
      font-size: 0.9rem;
      font-weight: 700;
      color: var(--text-main);
      text-decoration: none;
      letter-spacing: -0.01em;
      line-height: 1.2;
      transition: color 0.18s;
    }
 
    .nav-phone:hover { color: var(--accent); }
 
    .nav-email {
      font-size: 0.75rem;
      font-weight: 400;
      color: var(--text-muted);
      text-decoration: none;
      transition: color 0.18s;
    }
 
    .nav-email:hover { color: var(--accent); }
 
    /* ── CTA Button ── */
    .btn-cta {
      background: var(--accent);
      color: #fff;
      font-size: 0.85rem;
      font-weight: 600;
      padding: 9px 20px;
      border-radius: 8px;
      border: none;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
      transition: background 0.18s, transform 0.15s, box-shadow 0.18s;
      box-shadow: 0 2px 8px rgba(26, 86, 219, 0.25);
    }
 
    .btn-cta:hover {
      background: var(--accent-dark);
      color: #fff;
      transform: translateY(-1px);
      box-shadow: 0 4px 14px rgba(26, 86, 219, 0.35);
    }
 
    .btn-cta:active {
      transform: translateY(0);
    }
 
    /* ── Burger ── */
    .burger-btn {
      display: none;
      background: none;
      border: none;
      padding: 7px 10px;
      cursor: pointer;
      color: var(--text-main);
      font-size: 2rem;
      margin-left: auto;
      transition: background 0.18s;
    }
 
    .burger-btn:hover { background: #f0f4ff; }
 
    /* ── Offcanvas overrides ── */
    .offcanvas {
      font-family: 'Manrope', sans-serif;
    }
 
    .offcanvas-header {
      border-bottom: 1px solid var(--border);
      padding: 18px 20px;
    }
 
    .offcanvas-body {
      padding: 0;
    }
 
    .offcanvas-nav {
      list-style: none;
      padding: 12px 0;
      margin: 0;
    }
 
    .offcanvas-nav li a {
      display: block;
      padding: 12px 24px;
      font-size: 0.95rem;
      font-weight: 500;
      color: var(--text-main);
      text-decoration: none;
      border-left: 3px solid transparent;
      transition: background 0.18s, border-color 0.18s, color 0.18s;
    }
 
    .offcanvas-nav li a:hover,
    .offcanvas-nav li a.active {
      background: #f0f4ff;
      border-color: var(--accent);
      color: var(--accent);
    }
 
    .offcanvas-footer {
      padding: 20px 24px;
      border-top: 1px solid var(--border);
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
 
    .offcanvas-footer .nav-phone {
      font-size: 1rem;
    }
 
    .offcanvas-footer .nav-email {
      font-size: 0.85rem;
    }
 
    .offcanvas-footer .btn-cta {
      text-align: center;
      display: block;
    }
 
    /* ── Dropdown десктоп ── */
    .nav-links li.has-dropdown {
      position: relative;
    }
 
    .nav-links li.has-dropdown > a {
      display: flex;
      align-items: center;
      gap: 4px;
    }
 
    .nav-links li.has-dropdown > a .drop-arrow {
      font-size: 0.7rem;
      transition: transform 0.22s;
      opacity: 0.55;
      margin-top: 1px;
    }
 
    .nav-links li.has-dropdown:hover > a .drop-arrow,
    .nav-links li.has-dropdown:focus-within > a .drop-arrow {
      transform: rotate(180deg);
      opacity: 1;
    }
 
    .nav-dropdown {
      position: absolute;
      top: calc(100% + 10px);
      left: 0;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 12px;
      box-shadow: 0 8px 32px rgba(30, 41, 80, 0.13);
      min-width: 220px;
      padding: 8px;
      list-style: none;
      margin: 0;
      /* скрытие */
      opacity: 0;
      visibility: hidden;
      transform: translateY(6px);
      transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
      z-index: 200;
    }
 
    /* маленький треугольник-указатель */
    .nav-dropdown::before {
      content: '';
      position: absolute;
      top: -6px;
      left: 20px;
      width: 10px;
      height: 10px;
      background: #fff;
      border-left: 1px solid var(--border);
      border-top: 1px solid var(--border);
      transform: rotate(45deg);
      border-radius: 2px 0 0 0;
    }
 
    .nav-links li.has-dropdown:hover .nav-dropdown,
    .nav-links li.has-dropdown:focus-within .nav-dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
 
    .nav-dropdown li a {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 9px 12px !important;
      border-radius: 8px !important;
      font-size: 0.855rem !important;
      font-weight: 500 !important;
      color: var(--text-main) !important;
      white-space: nowrap;
      transition: background 0.15s, color 0.15s !important;
    }
 
    .nav-dropdown li a:hover {
      background: #f0f4ff !important;
      color: var(--accent) !important;
    }
 
    .nav-dropdown li a .drop-icon {
      width: 28px;
      height: 28px;
      border-radius: 6px;
      background: #eef2ff;
      color: var(--accent);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      flex-shrink: 0;
      transition: background 0.15s;
    }
 
    .nav-dropdown li a:hover .drop-icon {
      background: #dce8ff;
    }
 
    /* разделитель внутри дропдауна */
    .nav-dropdown .drop-divider {
      height: 1px;
      background: var(--border);
      margin: 6px 4px;
    }
 
    /* ── Offcanvas accordion (мобильный dropdown) ── */
    .offcanvas-nav .oc-group-btn {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      padding: 12px 24px;
      font-size: 0.95rem;
      font-weight: 500;
      color: var(--text-main);
      background: none;
      border: none;
      border-left: 3px solid transparent;
      cursor: pointer;
      transition: background 0.18s, border-color 0.18s, color 0.18s;
      text-align: left;
      font-family: 'Manrope', sans-serif;
    }
 
    .offcanvas-nav .oc-group-btn:hover,
    .offcanvas-nav .oc-group-btn[aria-expanded="true"] {
      background: #f0f4ff;
      border-color: var(--accent);
      color: var(--accent);
    }
 
    .offcanvas-nav .oc-group-btn .oc-arrow {
      font-size: 0.75rem;
      transition: transform 0.22s;
      opacity: 0.5;
    }
 
    .offcanvas-nav .oc-group-btn[aria-expanded="true"] .oc-arrow {
      transform: rotate(180deg);
      opacity: 1;
    }
 
    .oc-submenu {
      list-style: none;
      padding: 0;
      margin: 0;
      background: #f8f9ff;
    }
 
    .oc-submenu li a {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 24px 10px 36px !important;
      font-size: 0.875rem !important;
      font-weight: 400 !important;
      color: var(--text-muted) !important;
      border-left: 3px solid transparent !important;
      transition: background 0.15s, color 0.15s !important;
    }
 
    .oc-submenu li a:hover {
      background: #eef2ff !important;
      color: var(--accent) !important;
      border-color: var(--accent) !important;
    }
 
    /* ── Responsive ── */
    @media (max-width: 991.98px) {
      .nav-links,
      .nav-right {
        display: none;
      }
 
      .burger-btn {
        display: flex;
        align-items: center;
      }
    }
 
    /* ── Demo page ── */
    .demo-section {
      min-height: 200vh;
      padding: 60px 24px;
    }
 
    .demo-hero {
      max-width: 680px;
      margin: 60px auto 0;
      text-align: center;
    }
 
    .demo-hero h1 {
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      font-weight: 700;
      color: var(--text-main);
      letter-spacing: -0.03em;
      margin-bottom: 16px;
    }
 
    .demo-hero p {
      color: var(--text-muted);
      font-size: 1.05rem;
      line-height: 1.7;
    }
 
    .demo-badge {
      display: inline-block;
      background: #eef2ff;
      color: var(--accent);
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.06em;
      padding: 5px 12px;
      border-radius: 20px;
      margin-bottom: 18px;
      text-transform: uppercase;
    }

.burger{
	width: 30px;
	height: auto;
}

.small-lh li{
	line-height: 1.3 !important;
	margin-bottom: 20px;
}

.contact h5{
	font-size: 24px;
}

.contact a, .contact p{
	font-weight: 600;
	font-size: 20px;
	color: #323232;
}

.codedropz-upload-inner h3, .codedropz-upload-inner span{
font-size: 15px;
color: #fff;
}

.dnd-upload-counter, .cd-upload-btn{
	color: #fff;
}

.cd-upload-btn{
	color: #fff;
	text-decoration: underline !important;
}

.wpcf7-list-item-label, .wpcf7-list-item-label a{
	color: #fff;
}

.wpcf7 form.sent .wpcf7-response-output{
	background-color: #46b450;
	color: #fff;
	border-radius: 15px;
}

.wpcf7 form.invalid .wpcf7-response-output{
	color: #fff;
	background-color: #ffb900;
	border-radius: 15px;
}

.services-section .last{
	margin-top: 15px;
}

 @media (min-width: 1200px) {
	 .file-box{
		 margin-top: 37px;
	 }
}