/* Targeted improvements to the supplied NORIS prototype. */
:root { --muted: #4b5969; }
.service-card img { aspect-ratio: 1.75; object-fit: cover; }
.service-card p { font-size: 14px; }
.service-card .label { font-size: 10px; line-height: 1.3; }
.service-card .arrow { min-height: 32px; }
.steps li h3, .steps li p { overflow-wrap: normal; }
.steps p { font-size: 14px; }
.system-half > div { padding-left: max(32px, calc((100vw - var(--max)) / 2 + 32px)); }
.hero:after { background: linear-gradient(90deg, #061b28 0%, #061b28f5 34%, #061b28a8 58%, #061b2820 100%); }
input:invalid:not(:placeholder-shown), textarea:invalid:not(:placeholder-shown) { border-color: var(--line); }
input[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: #a33d31; }
.form-status.error { color: #8b3028; }
.direct-contacts a { font: 500 clamp(17px, 4.6vw, 21px)/1.4 var(--sans); font-variant-numeric: lining-nums tabular-nums; letter-spacing: .015em; color: #fff; white-space: nowrap; text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 7px; text-decoration-thickness: 1px; }
.direct-contacts p + p { margin-top: 22px; }
.form-notice { border-left: 3px solid #a8793b; background: #eee7d9; padding: 14px 16px; color: var(--ink); font-size: 15px; }
.form-notice a { text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
#request { scroll-margin-top: 100px; }
.button:disabled { cursor: not-allowed; opacity: .55; filter: grayscale(.45); }
.menu-toggle { min-height: 44px; }
[hidden] { display: none !important; }
@media (max-width: 820px) {
  header { position: relative; }
  #navigation { display: none; }
  #navigation.open { display: flex; }
  .hero:after { background: linear-gradient(0deg, #061b28 4%, #061b28e6 48%, #061b2840 100%); }
  .service-card img { aspect-ratio: 2.1; }
  .steps li { grid-template-columns: 34px minmax(0, 1fr); padding: 18px 0; }
  .steps li:not(:last-child):after { content: none; }
  .steps li .icon { float: none; margin: 0; }
  .system-half > div { padding: 52px 20px; }
  .competence-strip span { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
.consent { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0; font-size: 14px; line-height: 1.5; }
.consent input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 18px; margin: 2px 0 0; }
