/* Quiet Amplifier: tactile paper, deliberate feedback, one signature signoff.
   Existing gallery, crest, video and hero choreography remain authoritative. */
:root{--mf-feedback-ease:cubic-bezier(.16,1,.3,1)}

/* Feedback also works without hover: focus retains the site's visible outline. */
:is(.mf-pill-button,.mf-arrow-action,.mf-gallery-action,.mf-gallery-link,.mf-video-card>a,.mf-more-testimonials>summary,#mf-primary-nav a[href="/contact"],.mf-menu-toggle){
 transition:translate 220ms var(--mf-feedback-ease),box-shadow 220ms var(--mf-feedback-ease),background-color 180ms ease,color 180ms ease,border-color 180ms ease!important;
}
:is(.mf-pill-button,.mf-arrow-action,.mf-gallery-action,.mf-gallery-link,.mf-video-card>a,.mf-more-testimonials>summary,#mf-primary-nav a[href="/contact"]):not(:disabled):not([aria-disabled="true"]):focus-visible{
 translate:0 -2px;box-shadow:0 5px 14px -6px rgb(24 28 22 / 24%);
}

/* Artwork rises as an object; the production image itself keeps its crop. */
#mf-work>.mf-work-button{transition:scale 320ms var(--mf-feedback-ease),rotate 320ms var(--mf-feedback-ease),box-shadow 320ms var(--mf-feedback-ease)}
#mf-work .mf-category-tag{transition:box-shadow 240ms var(--mf-feedback-ease),background-color 180ms ease}
#mf-logos [data-logo-card]{transition:translate 240ms var(--mf-feedback-ease),box-shadow 240ms var(--mf-feedback-ease)}
#mf-workzone .mf-gallery-item[data-project-cover="true"]{transition:translate 280ms var(--mf-feedback-ease),box-shadow 280ms var(--mf-feedback-ease)}
#mf-workzone .mf-gallery-item[data-project-cover="true"]:focus-visible{box-shadow:0 10px 24px -12px rgb(24 28 22 / 26%)}
#mf-offers div[data-offer]{transition:translate 260ms var(--mf-feedback-ease),box-shadow 260ms var(--mf-feedback-ease),border-color 220ms ease,background-color 220ms ease!important}
.mf-testimonial-play{transition:box-shadow 240ms var(--mf-feedback-ease)}
.mf-testimonial-play>img{transition:filter 240ms ease}
.mf-testimonial-play-label{transition:box-shadow 240ms ease,background-color 180ms ease}

/* The same depth cue is available when browsing with a keyboard. */
@media(prefers-reduced-motion:no-preference){
 #mf-work>.mf-work-button:focus-visible{scale:1.025;rotate:var(--photo-hover-tilt);z-index:3;box-shadow:0 18px 32px -10px rgb(24 28 22 / 30%),0 3px 8px rgb(24 28 22 / 12%)}
 #mf-workzone .mf-gallery-item[data-project-cover="true"]:focus-visible{translate:0 -4px}
 #mf-offers div[data-offer]:focus-within{translate:0 -3px;box-shadow:0 14px 24px -22px rgb(36 41 31 / 35%)}
}

/* Arrow travel is confined to the control, independent of slider transforms. */
:is(.mf-testimonial-controls,.mf-video-arrows,.mf-client-slider-arrows,.mf-about-gallery-controls) button svg{
 transition:translate 160ms var(--mf-feedback-ease);
}
.mf-footer-nav a{transition:color 180ms ease}
.mf-footer-nav a svg{transition:translate 180ms var(--mf-feedback-ease)}

@media(hover:hover) and (pointer:fine){
 :is(.mf-pill-button,.mf-arrow-action,.mf-gallery-action,.mf-gallery-link,.mf-video-card>a,.mf-more-testimonials>summary,#mf-primary-nav a[href="/contact"],.mf-menu-toggle):not(:disabled):not([aria-disabled="true"]):hover{
  translate:0 -2px;box-shadow:0 6px 16px -7px rgb(24 28 22 / 25%);
 }
 :is(.mf-pill-button,.mf-arrow-action,.mf-gallery-action,.mf-gallery-link,.mf-video-card>a,.mf-more-testimonials>summary,#mf-primary-nav a[href="/contact"],.mf-menu-toggle):not(:disabled):not([aria-disabled="true"]):active{
  translate:0 0;box-shadow:0 2px 5px -2px rgb(24 28 22 / 18%);
 }
 #mf-work>.mf-work-button:hover{box-shadow:0 18px 32px -10px rgb(24 28 22 / 30%),0 3px 8px rgb(24 28 22 / 12%)}
 #mf-work .mf-work-button:hover .mf-category-tag{box-shadow:0 4px 12px rgb(24 28 22 / 19%)}
 #mf-logos [data-logo-card]:hover{translate:0 -3px;box-shadow:0 12px 22px -10px rgb(36 41 31 / 24%),0 2px 5px rgb(36 41 31 / 6%)}
 #mf-workzone .mf-gallery-item[data-project-cover="true"]:hover{translate:0 -4px;box-shadow:0 12px 26px -12px rgb(24 28 22 / 28%)}
 #mf-offers div[data-offer]:hover{translate:0 -3px;box-shadow:0 14px 24px -22px rgb(36 41 31 / 35%)}
 /* Thumbnails gain depth, keeping the previously requested stationary frame. */
 .mf-testimonial-play:hover{box-shadow:0 12px 28px -8px rgb(24 28 22 / 29%),0 2px 6px rgb(24 28 22 / 12%)}
 .mf-testimonial-play:hover .mf-testimonial-play-label{box-shadow:0 4px 12px rgb(24 28 22 / 24%)}
 :is(.mf-testimonial-controls,.mf-video-arrows,.mf-client-slider-arrows,.mf-about-gallery-controls) button[aria-label^="Next"]:hover svg{translate:2px 0}
 :is(.mf-testimonial-controls,.mf-video-arrows,.mf-client-slider-arrows,.mf-about-gallery-controls) button[aria-label^="Previous"]:hover svg{translate:-2px 0}
 .mf-footer-nav a:hover svg{translate:2px 0}
}

/* Desktop navigation underlines emerge from the baseline without shifting text. */
@media(min-width:901px){
 #mf-primary-nav a:not([href="/contact"]){position:relative}
 #mf-primary-nav a:not([href="/contact"])::after{
  content:'';position:absolute;left:0;right:0;bottom:7px;height:1px;background:currentColor;
  scale:0 1;transform-origin:left;transition:scale 220ms var(--mf-feedback-ease);
 }
 #mf-primary-nav a:not([href="/contact"]):focus-visible::after{scale:1 1}
 @media(hover:hover) and (pointer:fine){#mf-primary-nav a:not([href="/contact"]):hover::after{scale:1 1}}
 #mf-primary-nav a[aria-current]::after{display:none}
}

/* Reduced motion retains color, depth and keyboard feedback without travel. */
@media(prefers-reduced-motion:reduce){
 :is(.mf-pill-button,.mf-arrow-action,.mf-gallery-action,.mf-gallery-link,.mf-video-card>a,.mf-more-testimonials>summary,#mf-primary-nav a[href="/contact"],.mf-menu-toggle,#mf-work>.mf-work-button,#mf-logos [data-logo-card],#mf-workzone .mf-gallery-item[data-project-cover="true"],#mf-offers div[data-offer]){
  translate:none!important;transition:background-color 120ms ease,color 120ms ease,border-color 120ms ease,box-shadow 120ms ease!important;
 }
 :is(.mf-testimonial-controls,.mf-video-arrows,.mf-client-slider-arrows,.mf-about-gallery-controls) button svg,.mf-footer-nav a svg{translate:none!important;transition:none!important}
 #mf-primary-nav a::after{transition:none!important}
 [data-reveal="positioning-sig"]{clip-path:none!important;transform:none!important}
}
