@keyframes b2b-fade-up {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
.b2b-reveal { animation: b2b-fade-up 0.6s ease both; }
@media (prefers-reduced-motion: reduce) {
  .b2b-reveal { animation: none !important; }
  * { transition: none !important; }
}

html, body { margin: 0; -webkit-font-smoothing: antialiased; }
::selection { background: oklch(90% 0.05 266); }
a { color: inherit; }
input, textarea, button, select { font-family: 'IBM Plex Sans', sans-serif; }
:focus-visible { outline: 2px solid oklch(58% 0.16 266); outline-offset: 2px; }

.b2b-navlink {
  text-decoration: none; font-size: 15px; font-weight: 500; color: #363C46;
  transition: color 0.15s ease;
}
.b2b-navlink:hover { color: #12151C; }

.b2b-mobile-navlink {
  text-decoration: none; padding: 12px 0; font-size: 16px; font-weight: 500;
  color: #12151C; border-bottom: 1px solid #F0F1F4; display: block;
}

.b2b-lang-btn {
  background: #fff; border: 1px solid #DCE0E6; color: #363C46; font-weight: 700;
  font-size: 13px; padding: 9px 12px; border-radius: 9px; cursor: pointer; letter-spacing: 0.02em;
}

.b2b-primary-cta {
  text-decoration: none; background: #12151C; color: #fff; font-weight: 600;
  font-size: 14.5px; padding: 11px 20px; border-radius: 10px; white-space: nowrap;
  transition: background 0.15s ease;
}
.b2b-primary-cta:hover { background: oklch(58% 0.16 266); }

.b2b-h2 {
  font-family: 'Manrope', sans-serif; font-weight: 800; font-size: clamp(26px, 3vw, 36px);
  letter-spacing: -0.01em; margin: 0 0 12px;
}

.b2b-featured-label {
  font-size: 13px; font-weight: 600; color: rgba(255,255,255,0.45);
  text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 8px;
}
.b2b-featured-tab {
  padding: 9px 12px; background: rgba(255,255,255,0.05); font-size: 11px;
  font-family: monospace; color: rgba(255,255,255,0.5);
}

.b2b-contact-row {
  text-decoration: none; display: flex; align-items: center; gap: 14px;
  background: #fff; border: 1px solid #E3E6EB; border-radius: 12px; padding: 16px 18px;
  transition: border-color 0.15s ease;
}
.b2b-contact-row:hover { border-color: #12151C; }
.b2b-contact-icon {
  width: 38px; height: 38px; border-radius: 9px; background: oklch(95% 0.02 266);
  color: oklch(42% 0.14 266); display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-family: 'Manrope', sans-serif; font-size: 14px; flex-shrink: 0;
}

.b2b-footer-link { text-decoration: none; font-size: 14px; color: rgba(255,255,255,0.65); }

.b2b-label { display: block; font-size: 13.5px; font-weight: 600; color: #363C46; margin-bottom: 6px; }
.b2b-input {
  width: 100%; box-sizing: border-box; padding: 12px 14px; border-radius: 9px;
  border: 1px solid #DCE0E6; font-size: 14.5px;
}

@media (max-width: 900px) {
  .b2b-desktop-nav, .b2b-desktop-cta { display: none !important; }
  .b2b-mobile-toggle { display: flex !important; }
  .b2b-hero-grid { grid-template-columns: 1fr !important; }
  .b2b-problems-grid, .b2b-services-grid, .b2b-cases-grid, .b2b-process-grid,
  .b2b-advantages-grid, .b2b-featured-grid, .b2b-contact-grid, .b2b-footer-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 600px) {
  .b2b-problems-grid > * { grid-template-columns: 1fr !important; text-align: left; }
}
