/* Framed buttons lift as one piece; text links lift only their contents. */
.premium-site .feedback-control {
  --feedback-lift:0px;
  --feedback-frame-y:0px;
  transform:none!important;
  box-shadow:none!important;
  transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease;
}
.premium-site :is(a.premium-textlink,a.card-detail,.freight-foot a,
  .contact-email-alternative,.contact-whatsapp) { display:inline-block; }
.premium-site .control-label {
  display:inline-block!important;
  font:inherit!important;
  color:inherit!important;
  margin:0!important;
}
.premium-site .feedback-inline { display:inline-block; }
.premium-site .feedback-control .feedback-part {
  translate:0 var(--feedback-lift,0px);
  transition:translate 180ms ease,color 180ms ease,transform 200ms ease!important;
}
/* Remove the older component-specific lifts so feedback is never doubled. */
.premium-site .feedback-control .feedback-part:not(.feedback-rotation) { transform:none!important; }
@media(hover:hover) and (pointer:fine) {
  .premium-site .feedback-control:not(:disabled):not([aria-disabled=true]):hover { --feedback-lift:-2px;--feedback-frame-y:-3px; }
}
.premium-site .feedback-control:not(:disabled):not([aria-disabled=true]):focus-visible { --feedback-lift:-2px;--feedback-frame-y:-3px; }
.premium-site .feedback-control:not(:disabled):not([aria-disabled=true]):active { --feedback-lift:-1px;--feedback-frame-y:-1px; }
.premium-site .feedback-control:focus-visible { outline:2px solid #5c9eff;outline-offset:5px; }
.premium-site .feedback-control:disabled,
.premium-site .feedback-control[aria-disabled=true] { --feedback-lift:0px;--feedback-frame-y:0px; }

/* Match visible button surfaces, including controls created in dialogs.
   State selectors keep tab feedback correct as the selected page changes. */
.premium-site .feedback-control:not(.photo-motion-frame):is(
  .button,.premium-button,.care-button,.message-send,.support-launcher,.content-card,
  .menu-toggle,[data-gallery],.search-topics button,.quick-questions button,.inquiry-tabs button,
  .service-row>a,.video-control,.motion-toggle,.freight-motion,.image-detail,
  .freight-tabs button[aria-selected=true],.postcard-tabs button[aria-selected=true],
  .detail-toc-links a[aria-current],.care-toc .detail-toc-links a
) {
  --feedback-lift:0px!important;
  translate:0 var(--feedback-frame-y,0px);
  transition:translate 220ms cubic-bezier(.2,.8,.2,1),color 180ms ease,background-color 180ms ease,border-color 180ms ease!important;
}
.premium-site .detail-toc-links {padding-top:6px}
@media(max-width:800px) {
  .premium-site .postcard-tabs button.feedback-control {
    --feedback-lift:0px!important;
    translate:0 var(--feedback-frame-y,0px);
    transition:translate 220ms cubic-bezier(.2,.8,.2,1),color 180ms ease,background-color 180ms ease,border-color 180ms ease!important;
  }
  .premium-site .postcard-tabs {padding-top:6px}
}

/* Clickable photo cards already move as a frame; their copy stays attached. */
.premium-site .feedback-control.photo-motion-frame {--feedback-lift:0px!important}

/* Optical centring for the gallery arrows, independent of font metrics. */
.premium-site .gallery-controls {align-items:center;gap:8px;flex-shrink:0}
.premium-site .gallery-controls button {
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 44px;width:44px;height:44px;padding:0;
  border:0;border-radius:50%;line-height:1;
}
.premium-site .gallery-controls button svg {
  display:block;flex:none;width:20px;height:20px;
  fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}

/* Preserve the accepted stationary backgrounds and the process transitions. */
.premium-site .chain-map a,
.premium-site .chain-map a:is(:hover,:active,:focus-visible) {
  transform:none!important;box-shadow:none!important;background:transparent;border:0;
}
.premium-site .journey-controls button,
.premium-site .premium-journey .journey-controls button:not(:disabled):is(:hover,:active,:focus-visible) {
  background:transparent;box-shadow:none;transform:none;
}
.premium-site .pre-dispatch-section .freight-tabs button:not(:disabled):is(:hover,:active,:focus-visible) {
  transform:none;box-shadow:none;
}
.premium-site .journey-image,
.premium-site .journey-image.is-active { transform:none;transition:opacity 450ms ease; }
.premium-site .journey-step { transition:opacity 220ms ease,transform 300ms ease,visibility 0s; }
.premium-site .expertise-card:hover > img { transform:none; }
.premium-site .expertise-card .card-detail { display:inline-block; }

/* The original service-card effects, shared by photographic frames site-wide.
   Independent translate/scale avoid the fixed backgrounds of ordinary buttons. */
.premium-site main .photo-motion-media {
  transform:none!important;
  animation:none!important;
  scale:var(--photo-zoom,1);
  transition:scale 1s ease,opacity 450ms ease!important;
}
.premium-site .premium-hero .hero-art { animation:none!important; }
.premium-site main .photo-motion-frame {
  --photo-entry-y:30px;
  --photo-hover-y:0px;
  --photo-hover-turn:0deg;
  --photo-zoom:1;
  translate:0 calc(var(--photo-entry-y) + var(--photo-hover-y));
  rotate:var(--photo-hover-turn);
  opacity:0;
  transition:translate .8s cubic-bezier(.2,.8,.2,1),rotate .5s cubic-bezier(.2,.8,.2,1),opacity .8s cubic-bezier(.2,.8,.2,1)!important;
}
.premium-site main .photo-motion-frame.photo-is-preparing {transition:none!important}
.premium-site main .photo-motion-frame:not(.postcard-stack):not(img) { overflow:hidden; }
.premium-site main .photo-motion-frame.photo-is-visible { --photo-entry-y:0px;opacity:1; }
.premium-site main .photo-motion-frame.photo-is-visible:not(.photo-is-entering) {
  transition:translate .5s cubic-bezier(.2,.8,.2,1),rotate .5s cubic-bezier(.2,.8,.2,1),opacity .8s cubic-bezier(.2,.8,.2,1)!important;
}
/* A printed photograph stays attached to its sheet while the paper moves. */
.premium-site .postcard-stack .photo-motion-media { scale:1; }
/* Reading figures and the question deck keep a fixed edge against dividers. */
.premium-site main :is(.detail-section-photo,.postcard-stack).photo-motion-frame {
  translate:none!important;rotate:none!important;opacity:1;
  transition:opacity .3s ease!important;
}
.premium-site main .detail-section-photo .photo-motion-media{scale:1!important}
@media(hover:hover) and (pointer:fine) {
  .premium-site main .photo-motion-frame:not(.photo-joined-frame):not(.postcard-stack):hover,
  .premium-site main .photo-motion-frame.photo-joined-hover,
  .premium-site main a.photo-motion-frame:focus-visible {
    --photo-hover-y:-8px;
    --photo-zoom:1.055;
  }
}
/* Space for the entrance and lift inside the horizontal mobile service strip. */
@media(max-width:800px) {
  .premium-site .expertise-gallery {
    padding-top:40px;padding-bottom:55px;margin-top:-40px;margin-bottom:-40px;
  }
}
@media(hover:none),(pointer:coarse) {
  .premium-site .feedback-control,
  .premium-site .feedback-control:is(:hover,:focus-visible,:active) { --feedback-lift:0px;--feedback-frame-y:0px; }
}
@media(prefers-reduced-motion:reduce) {
  .premium-site .feedback-control,
  .premium-site .feedback-control:is(:hover,:focus-visible,:active) { --feedback-lift:0px;--feedback-frame-y:0px!important;transition:none!important; }
  .premium-site .feedback-control .feedback-part { translate:none!important;transition:none!important; }
  .premium-site main .photo-motion-frame { translate:none!important;rotate:none!important;opacity:1!important;transition:none!important; }
  .premium-site main .photo-motion-media { scale:1!important;transition:none!important; }
}
