.ai-ui-feedback {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-block: 20px;
  padding: 20px;
  border: 1px solid currentColor;
  font-family: var(--ai-font-body);
}

/* Native refresh/history restoration must jump straight to the saved position.
   Restore normal anchor scrolling after the shared header startup completes. */
html.ai-restored-page:not(.ai-header-ready) { scroll-behavior: auto !important; }

/* Initial sticky geometry is applied without replaying the scroll transition. */
html:not(.ai-header-ready) .header-area,
html:not(.ai-header-ready) .header-area *,
html:not(.ai-header-ready) .header-area::before,
html:not(.ai-header-ready) .header-area::after,
html:not(.ai-header-ready) .header-area *::before,
html:not(.ai-header-ready) .header-area *::after { transition: none !important; }

/* A refresh resumes the visible page; entrance effects belong to first visits. */
html.ai-restored-page :is(.ai-reveal, .ai-case-reveal, .ai-project-index-reveal, .ai-project-card, [data-youth-reveal], [data-ai-reveal]) {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
html.ai-restored-page .ai-page-hero :is(.ai-page-hero__image, .ai-page-hero__breadcrumbs, .ai-page-hero__eyebrow, h1, .ai-page-hero__lead, .ai-page-hero__actions) {
  animation: none !important;
  opacity: 1;
  transform: none;
}
.ai-ui-feedback[hidden] { display: none; }
.ai-ui-feedback .ai-ui-feedback__message { margin: 0; font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.ai-ui-feedback__retry {
  flex-shrink: 0;
  border: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: inherit;
  padding: 12px 18px;
  font: 600 14px/1.4 var(--ai-font-label);
  cursor: pointer;
}
.ai-ui-feedback__retry:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.ai-ui-feedback__retry:hover { text-decoration: underline; text-underline-offset: 4px; }
.ai-careers-application__submit:disabled { opacity: .65; cursor: wait; }
.ai-case-filters [aria-disabled="true"], .ai-service-media__filters [aria-disabled="true"] { opacity: .65; cursor: wait; }
.ai-careers-application__field, .ai-careers-application__upload { min-width: 0; }
.ai-careers-application__field input, .ai-careers-application__field textarea { max-width: 100%; }
.ai-careers-application__upload input { width: 100%; }
.ai-careers-application [aria-invalid="true"] { outline: 2px solid currentColor; outline-offset: 2px; }
.ai-careers-application__feedback:focus { outline: 2px solid currentColor; outline-offset: 4px; }
.ai-careers-application__feedback { padding: 20px; margin-top: 20px; border: 1px solid currentColor; overflow-wrap: anywhere; }
.ai-careers-application__feedback[hidden] { display: none; }
.ai-project-card__title, .ai-case-gallery__caption, .ai-service-media__caption { overflow-wrap: anywhere; }
.ai-ui-empty { margin: 24px 0; font-size: 16px; line-height: 1.65; }
@media (max-width: 600px) {
  .ai-ui-feedback { align-items: flex-start; flex-direction: column; }
}
@media (forced-colors: active) {
  .ai-ui-feedback, .ai-ui-feedback__retry { border-color: CanvasText; }
  [aria-pressed="true"] { outline: 2px solid Highlight; outline-offset: 2px; }
}
