/* Touch controls remain readable without changing the shared page design. */
.ai-form-label {
  display: block;
  margin: 0 0 8px;
  color: #59647b;
  font-size: var(--ai-type-label-size);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .04em;
  text-transform: uppercase;
}
@media (max-width: 600px) {
  body :is(.ai-careers-youth__role-tools, .ai-careers-application, .ai-project-index__search-control, .ai-home-aligned .Getintouch, .ai-contact-page)
  :is(input[type="text"], input[type="email"], input[type="tel"], input[type="search"], select, textarea) {
    font-size: 16px;
  }
}

.ai-not-found { padding: clamp(48px, 6vw, 88px) 0; color: var(--ai-color-ink); background: #f4f5f9; }
.ai-not-found h2 { margin: 0 0 24px; font-size: clamp(28px, 4vw, 42px); line-height: 1.15; }
.ai-not-found__links { display: flex; flex-wrap: wrap; gap: 14px; }
.ai-not-found__links a {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 24px;
  min-height: 52px; padding: 14px 20px; border: 1px solid var(--ai-color-ink); border-radius: 0;
  color: var(--ai-color-white); background: var(--ai-color-ink); font-size: var(--ai-type-control-size); font-weight: 600; text-decoration: none;
}
.ai-not-found__links a:hover, .ai-not-found__links a:focus-visible { color: var(--ai-color-ink); background: var(--ai-color-white); }
.ai-not-found__links a:focus-visible { outline: 3px solid #8290ea; outline-offset: 4px; }
@media (max-width: 420px) { .ai-not-found__links a { width: 100%; } }
