/* Models Cyprus — shared motion, 2026-09-17. No layout or typography changes. */

/* Hero entrances start on first paint; images and structural containers stay stable. */
@keyframes mc-hero-entrance {
  from { opacity: 0; translate: 0 18px; }
  to { opacity: 1; translate: 0 0; }
}
@media (prefers-reduced-motion: no-preference) {
  body:not(.elementor-editor-active) :is(.mchome-hero-copy,.mcov-hero .mcov-wrap,.mcx-intro,.mcb-hero-copy,.mc-about-hero-grid > div:first-child,.mc-contact-hero-copy,.mc-join-hero-grid > div:first-child,.mc-svc-hero-grid > div:first-child) > :not(script,style,img,picture,figure,form),
  body:not(.elementor-editor-active) .mc-hero-enter {
    animation: mc-hero-entrance 700ms cubic-bezier(.2,.65,.3,1) var(--mc-hero-delay, 0ms) backwards;
  }
  body:not(.elementor-editor-active) :is(.mchome-hero-copy,.mcov-hero .mcov-wrap,.mcx-intro,.mcb-hero-copy,.mc-about-hero-grid > div:first-child,.mc-contact-hero-copy,.mc-join-hero-grid > div:first-child,.mc-svc-hero-grid > div:first-child) > :not(script,style,img,picture,figure,form):nth-child(2) { --mc-hero-delay: 60ms; }
  body:not(.elementor-editor-active) :is(.mchome-hero-copy,.mcov-hero .mcov-wrap,.mcx-intro,.mcb-hero-copy,.mc-about-hero-grid > div:first-child,.mc-contact-hero-copy,.mc-join-hero-grid > div:first-child,.mc-svc-hero-grid > div:first-child) > :not(script,style,img,picture,figure,form):nth-child(3) { --mc-hero-delay: 120ms; }
  body:not(.elementor-editor-active) :is(.mchome-hero-copy,.mcov-hero .mcov-wrap,.mcx-intro,.mcb-hero-copy,.mc-about-hero-grid > div:first-child,.mc-contact-hero-copy,.mc-join-hero-grid > div:first-child,.mc-svc-hero-grid > div:first-child) > :not(script,style,img,picture,figure,form):nth-child(4) { --mc-hero-delay: 180ms; }
  body:not(.elementor-editor-active) :is(.mchome-hero-copy,.mcov-hero .mcov-wrap,.mcx-intro,.mcb-hero-copy,.mc-about-hero-grid > div:first-child,.mc-contact-hero-copy,.mc-join-hero-grid > div:first-child,.mc-svc-hero-grid > div:first-child) > :not(script,style,img,picture,figure,form):nth-child(n+5) { --mc-hero-delay: 240ms; }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  body:not(.elementor-editor-active) :is(.mchome-hero-copy,.mcov-hero .mcov-wrap,.mcx-intro,.mcb-hero-copy,.mc-about-hero-grid > div:first-child,.mc-contact-hero-copy,.mc-join-hero-grid > div:first-child,.mc-svc-hero-grid > div:first-child) > :not(script,style,img,picture,figure,form),
  body:not(.elementor-editor-active) .mc-hero-enter {
    animation-duration: 580ms;
  }
}

html[data-mc-polish] {
  --mc-polish-ease: cubic-bezier(.2,.65,.3,1);
}
html[data-mc-polish] :is(.mchome-button,.mcx-btn,.mcb-button,.mc-about-btn,.mc-contact-hero-button,.elementor-button,.mcov-type,.mcov-load,.mc-load-more,.mc-footer-follow) {
  transition-property: color, background-color, border-color, box-shadow, transform, translate;
  transition-duration: 220ms;
  transition-timing-function: var(--mc-polish-ease);
}
html[data-mc-polish] :is(.mchome-text-link,.mc-about-linkedin,.mc-footer-links-grid a,.mc-footer-legal a) {
  text-underline-offset: .22em;
  transition: color 220ms ease, text-decoration-color 220ms ease;
}
html[data-mc-polish] :is(.mcov-card,.mchome-work-card,.mcx-related-card) {
  transition: border-color 260ms ease, background-color 260ms ease, transform 320ms var(--mc-polish-ease);
}
html[data-mc-polish] :is(.mcov-card-media,.mchome-work-image,.mcx-related-card > a,.mc-social-card) img {
  transition: transform 600ms var(--mc-polish-ease);
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html[data-mc-polish] :is(.mchome-button,.mcx-btn,.mcb-button,.mc-about-btn,.mc-contact-hero-button,.elementor-button):hover {
    translate: 0 -1px;
  }
  html[data-mc-polish] .mcov-card:hover {
    transform: translateY(-2px);
    background-color: #191919;
    border-color: #666;
  }
  html[data-mc-polish] .mcov-card:hover .mcov-card-media img,
  html[data-mc-polish] .mchome-work-card:hover .mchome-work-image img,
  html[data-mc-polish] .mcx-related-card:hover > a img,
  html[data-mc-polish] .mc-social-card:hover img {
    transform: scale(1.025);
  }
  html[data-mc-polish] .mcx-related-card:hover {
    border-color: #666;
  }
  html[data-mc-polish] :is(.mchome-text-link,.mc-about-linkedin,.mc-footer-links-grid a,.mc-footer-legal a):hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
  }
}
@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  html[data-mc-polish] .mcov-card:hover {
    transform: none;
  }
  html[data-mc-polish] .mcov-card:hover .mcov-card-media img,
  html[data-mc-polish] .mchome-work-card:hover .mchome-work-image img,
  html[data-mc-polish] .mcx-related-card:hover > a img,
  html[data-mc-polish] .mc-social-card:hover img {
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  html[data-mc-polish] :is(.mchome-button,.mcx-btn,.mcb-button,.mc-about-btn,.mc-contact-hero-button,.elementor-button,.mcov-type,.mcov-load,.mc-load-more,.mc-footer-follow,.mcov-card,.mchome-work-card,.mcx-related-card),
  html[data-mc-polish] :is(.mcov-card-media,.mchome-work-image,.mcx-related-card > a,.mc-social-card) img {
    transition-duration: .01ms !important;
    translate: none !important;
  }
}
