/* Shared, restrained feedback. Existing carousel and gallery transforms stay independent. */
:root { --iwt-motion-ease: cubic-bezier(.22,1,.36,1); }
@media (prefers-reduced-motion: no-preference) {
  :where(.about-contact__button, .iwt-footer__concierge, .destination-filter-submit, .villa-card__view-more, .circle-primary) {
    transition: scale 140ms var(--iwt-motion-ease);
  }
  :where(.about-contact__button, .iwt-footer__concierge, .destination-filter-submit, .villa-card__view-more, .circle-primary):active { scale: .98; }
  :where(.news-readmore, .fc-edition-link, .iwt-footer__explore a, .iwt-footer__policies a) {
    text-underline-offset: .22em;
    text-decoration-thickness: .06em;
    transition: text-decoration-color 180ms ease;
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .iwt-footer__social a { transition: translate 180ms var(--iwt-motion-ease); }
  .iwt-footer__social a:hover { translate: 0 -2px; }
  :where(.news-readmore, .fc-edition-link, .iwt-footer__explore a, .iwt-footer__policies a):hover { text-decoration-line: underline; }
}
/* Images settle inside their existing frame without changing the page geometry. */
.about-intro__image, .about-portfolio__image { overflow: hidden; }

/* A shared, gentle zoom signals linked editorial imagery. Crop only the image frame. */
.news-card > a:has(> img), .destination-card > a:has(> img) {
  display: block;
  overflow: hidden;
  flex: 0 0 auto;
}
.news-card > a > img, .destination-card > a > img { display: block; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .news-card > a > img, .destination-card > a > img, .happening-card__media img {
    transition: transform 750ms cubic-bezier(.33,1,.68,1);
  }
  .news-card > a:hover > img, .destination-card > a:hover > img,
  .happening-card:hover .happening-card__media img { transform: scale(1.015); }
}
