/* Photograph placement, field feedback and purposeful icon motion. */
.support-photo { margin: 2rem 0 0; aspect-ratio: 3/2; border-radius: 12px; overflow: hidden; position: relative; background: #edf1f5; }
.support-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: scale .7s var(--ease); }
.values__lead .support-photo { max-width: 460px; }
.process__intro:has(.support-photo) { position: static; }
.bento-card--photo { min-height: 350px; padding-top: 185px; }
.bento-card--photo>img { position: absolute; top: 0; left: 0; width: 100%; height: 155px; object-fit: cover; }
.bento-card--photo>span:not(.line-icon):not(.hover-glint) { top: 1rem; left: 1rem; padding: .25rem .55rem; background: var(--navy); color: white; border-radius: 4px; }
.bento-card--photo>.line-icon { position: absolute; top: 128px; left: auto; right: 20px; background: var(--gold); color: var(--navy); box-shadow: 0 4px 16px #071a3d22; }
/* Images remain visible even if an animation or script fails. */
.js .image-reveal { clip-path: none; }
.image-reveal.in img { animation: photoSettle .8s var(--ease) both; }
@keyframes photoSettle { from { opacity: .65; scale: 1.035; } to { opacity: 1; scale: 1; } }
.js-whatsapp-form .field-error { display: block; color: #a52520; font-size: .73rem; font-weight: 500; line-height: 1.5; margin-top: .3rem; text-transform: none; letter-spacing: 0; }
.js-whatsapp-form .field-error[hidden] { display: none; }
.js-whatsapp-form :is(input,select,textarea).is-invalid { border-color: #b3261e; background-color: #fff8f7; box-shadow: 0 0 0 2px #b3261e12; }
.js-whatsapp-form .consent { flex-wrap: wrap; }
.js-whatsapp-form .consent>.field-error:not([hidden]) { order: 3; flex-basis: 100%; }
.js-whatsapp-form .form-status { font-size: .78rem; line-height: 1.6; color: #174c37; margin: .8rem 0; }
.js-whatsapp-form .form-status:empty { margin: 0; }
.js-whatsapp-form .form-status.is-error { color: #a52520; }
.js-whatsapp-form .verification-panel { margin: 1rem 0; padding: 1rem; background: #f3f6fa; border: 1px solid #dce3ed; border-radius: 10px; }
.captcha-widget { width: 100%; min-width: 0; }
.captcha-status { color: #34445b; font-size: .72rem; margin: .5rem 0 0; }
.whatsapp-continue { width: 100%; margin: .8rem 0; }
.button:disabled { opacity: .6; cursor: wait; transform: none; }
.button[aria-busy=true]::before { content: ''; width: 15px; height: 15px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: verificationSpin .8s linear infinite; }
@keyframes verificationSpin { to { rotate: 360deg; } }
.line-icon svg { transform-origin: center; }
.icon-animated.is-inview svg { animation: iconGreeting .8s var(--ease) both; }
@keyframes iconGreeting { 0% { opacity: .5; transform: translateY(6px) rotate(-10deg); } 65% { transform: translateY(-2px) rotate(3deg); } 100% { opacity: 1; transform: none; } }
@keyframes iconFlight { 40% { transform: translate(3px,-4px) rotate(-8deg); } 100% { transform: none; } }
@keyframes iconNod { 40% { transform: rotate(-10deg) scale(1.1); } 75% { transform: rotate(5deg); } 100% { transform: none; } }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .support-photo:hover img { scale: 1.045; }
  :is(article,li,.career-icon-row>span):hover>.line-icon svg { animation: iconNod .6s ease both; }
  :is(article,li):hover>.icon-flight svg { animation-name: iconFlight; }
}
@media (max-width:760px) {
  .support-photo { max-height: 300px; margin-top: 1.5rem; }
  .verification-panel { padding: .6rem!important; }
  .captcha-widget { overflow: auto; }
  .bento-card--photo { min-height: 340px; }
}
@media (prefers-reduced-motion:reduce) {
  .image-reveal img,.icon-animated svg,.button[aria-busy=true]::before { animation: none!important; scale: none!important; }
}
