/* Keep the owl anchored to the consultation band, regardless of text wrapping. */
.consultation-owl {
  --owl-width: 256px;
  position: relative;
  width: var(--owl-width);
  height: calc(var(--owl-width) * 123 / 256);
  margin: 0 auto;
}
.consultation-owl-body-mask { height: 100%; overflow: hidden; }
.consultation-owl-body {
  display: block;
  width: 69.53125%;
  max-width: none;
  height: auto;
  margin-left: 15.234375%;
  transform: translateY(0);
}
.consultation-owl-hands {
  position: absolute;
  z-index: 2;
  top: calc(var(--owl-width) * 74 / 256);
  left: 0;
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
}
.consultation-owl.is-awaiting .consultation-owl-body { transform: translateY(100%); }
.consultation-owl.is-emerging .consultation-owl-body { animation: consultation-owl-emerge 850ms cubic-bezier(.2,.8,.25,1) both; }
@keyframes consultation-owl-emerge {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
.revision-consultation { padding-top: 0; }
.revision-consultation-message { margin: 0; }
.revision-consultation-band { z-index: auto; }
.q-consult-intro { height: auto; }
.q-consult-intro p { margin: 0; }
.q-consult-band { position: relative; }
@media (prefers-reduced-motion: reduce) {
  .consultation-owl.is-awaiting .consultation-owl-body { transform: none; }
  .consultation-owl.is-emerging .consultation-owl-body { animation: none; }
}
@media (max-width: 700px) {
  .consultation-owl { --owl-width: 166px; }
  .revision-consultation-message { margin-bottom: 0; }
  .footer-inner { padding-top: 0; }
  .footer-character > p {
    position: static;
    order: 0;
    margin: 0 0 20px;
    width: 100%;
  }
  .footer-character-art {
    order: 1;
    width: min(150px, 100%);
    height: auto;
    /* Source is 1095×1089: retain the whole bird (x220–930, y0–880), excluding its wordmark. */
    aspect-ratio: 710 / 880;
    left: auto;
    flex: none;
    margin: 0 auto 20px;
  }
  .footer-character-art > img {
    width: 154.225352%;
    height: auto;
    left: -30.985915%;
    top: 0;
  }
  .footer-panel {
    order: 2;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    margin: 0 0 24px;
    padding: 28px 24px;
  }
  .footer-links { order: 0; flex: none; width: 100%; gap: 24px; }
  .footer-links nav { font-size: 12px; gap: 16px; }
  .footer-legal { font-size: 12px; gap: 14px; }
  .footer-brand { order: 1; flex: none; width: 140px; }
  .footer-brand > strong { font-size: 14px; margin-bottom: 14px; }
  .footer-brand > img:nth-child(2) { width: 85px; }
  .footer-brand > img:nth-child(3) { width: 140px; }
}
