/* Shared motion layer. Layout and hit areas stay still; each visual layer has one driver. */
:root {
  --rc-motion-ease: cubic-bezier(.16, 1, .3, 1);
  --rc-lift-in: 220ms;
  --rc-lift-out: 260ms;
}

.rc-header {
  background: var(--rc-paper, #ffffff);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: background-color 200ms ease, border-color 200ms ease;
}
.rc-header.is-scrolled { border-bottom-color: rgba(29, 29, 31, .15); }
@supports ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))) {
  .rc-header.is-scrolled {
    background: rgba(255, 255, 255, .87);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
}

.rc-motion-ready [data-reveal] {
  transform: translateY(16px);
  transition: opacity 650ms ease, transform 750ms var(--rc-motion-ease);
  transition-delay: var(--reveal-delay, 0ms);
}
.rc-motion-ready [data-reveal].is-revealed { opacity: 1; transform: none; }

.rc-image-lift-host { --rc-lift-distance: 3px; }
.rc-image-lift-hit { display: block; width: 100%; min-width: 0; }
.rc-image-lift-frame {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  translate: 0 0;
  transition: translate var(--rc-lift-out) var(--rc-motion-ease), box-shadow var(--rc-lift-out) ease;
  pointer-events: none;
}
/* The frame itself may be a Home action; keep it and nested actions clickable. */
.rc-image-lift-frame:is(a, button, input, video),
.rc-image-lift-frame :is(a, button, input, video) { pointer-events: auto; }
.rc-image-lift-host.is-lifted > .rc-image-lift-frame {
  translate: 0 calc(-1 * var(--rc-lift-distance));
  box-shadow: 0 7px 14px -10px rgba(29, 29, 31, .38);
  transition-duration: var(--rc-lift-in);
}
.rc-image-lift-frame picture { display: block; width: 100%; }
.rc-product-image.rc-image-lift-host,
.rc-product-open.rc-image-lift-host,
.rc-about-photo-button.rc-image-lift-host { overflow: visible; }
.rc-product-image > .rc-image-lift-frame,
.rc-product-open > .rc-image-lift-frame,
.rc-hero-media > .rc-image-lift-frame,
.rc-hero-media > .rc-image-lift-frame picture { height: 100%; }
.rc-product-image:hover img,
.rc-product-open:hover img,
.rc-about-photo-button:hover img { transform: none; }
.rc-product-thumbnail > .rc-image-lift-frame { width: 100%; }
.rc-product-stage > .rc-product-main-hit,
.rc-product-main-hit > .rc-image-lift-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.rc-product-main-hit img { width: 100%; height: 100%; object-fit: contain; }
.rc-about-hero-image .rc-about-photo-button > .rc-image-lift-frame { height: 100%; }

/* The source image stays inside its physical-pixel budget at every device density. */
.rc-lightbox .rc-archive-tools { display: flex; justify-content: flex-end; padding: 8px 24px; }
.rc-lightbox .rc-archive-tools .rc-link { font-size: 12px; }
.rc-archive-image-hit {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 24px;
  min-height: 140px;
  width: 100%;
  background: #f5f5f7;
}
.rc-archive-image-hit > .rc-archive-image-frame { width: auto; max-width: 100%; }
.rc-archive-image-frame > img { display: block; max-width: 100%; padding: 0; object-fit: contain; background: transparent; }
.rc-archive-image-frame > img[hidden] { display: none; }
.rc-lightbox [data-lightbox-note] { font-size: 12px; line-height: 1.55; padding: 12px 24px 18px; }

/* Dialog/background suspension stops automatic loops, while deliberate viewing remains available. */
.rc-motion-suspended *, .rc-motion-suspended *::before, .rc-motion-suspended *::after { animation-play-state: paused !important; }
html.rc-motion-disabled { scroll-behavior: auto !important; }
.rc-motion-disabled *, .rc-motion-disabled *::before, .rc-motion-disabled *::after { transition: none !important; }
.rc-motion-disabled .rc-image-lift-frame { translate: none !important; box-shadow: none; }
.rc-motion-disabled [data-reveal] { opacity: 1 !important; transform: none !important; }
.rc-motion-disabled [data-gradient-text] { background: none; color: var(--rc-ink, #1d1d1f); }
.rc-motion-disabled [data-product-main] { opacity: 1 !important; transform: none !important; }
.rc-footer [data-motion-toggle] { min-height: 44px; min-width: 44px; }
[data-motion-toggle]:disabled { cursor: default; opacity: .75; }

@media (max-width: 760px) {
  .rc-about-hero-image .rc-about-photo-button > .rc-image-lift-frame { height: auto; }
  .rc-lightbox .rc-archive-tools { padding-inline: 16px; }
  .rc-lightbox [data-lightbox-note] { padding-inline: 16px; }
  .rc-product-stage > .rc-icon-button,
  .rc-product-dialog-head > .rc-icon-button,
  .rc-lightbox-head > .rc-icon-button,
  .rc-product-caption > .rc-icon-button { min-width: 44px; width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .rc-image-lift-frame { translate: none !important; transition: none !important; box-shadow: none; }
  .rc-motion-ready [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* The enquiry stays in normal flow while the desktop introduction follows it. */
@media(min-width:941px) { .rc-contact-intro { position:sticky; top:120px; align-self:start; } }
