/*
 * PCBA Partner — world-class motion contract
 * 2026-08-16 motion-v1
 *
 * This final cascade layer keeps motion calm, responsive and functional.
 * It intentionally changes timing/transition behavior only; layout, content
 * order and visual styling remain owned by the page-specific stylesheets.
 */

:root {
  --wc-motion-fast: 140ms;
  --wc-motion-control: 180ms;
  --wc-motion-material: 220ms;
  --wc-motion-panel: 240ms;
  --wc-motion-enter: 360ms;
  --wc-ease-control: cubic-bezier(0.32, 0.72, 0, 1);
  --wc-ease-panel: cubic-bezier(0.16, 1, 0.3, 1);
  --wc-ease-enter: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Floating content-card system — final cascade owner (v5). */
html.white-apple-theme body :is(
  .service-card, .industry-card, .quality-card, .case-card, .blog-card,
  .value-card, .lead-card, .stat-card, .cap-card, .vas-card, .oi-card,
  .ind-card, .mat-card, .spec-group, .seo-link-card, .cert-card,
  .equip-card, .faq-item, .evidence-slot, .gallery-card,
  .platform-principle, .de-start-card, .de-service-card,
  .de-deliverable-card, .de-prototype-card, .de-case-card,
  .hs-card, .hs-scope-card, .hs-item, .hs-step, .wf-step
) {
  border-color: rgba(194, 204, 211, 0.72) !important;
  background-color: rgba(255, 255, 255, 0.98) !important;
  box-shadow:
    0 1px 2px rgba(20, 30, 38, 0.025),
    0 10px 28px rgba(20, 30, 38, 0.055),
    0 30px 64px rgba(20, 30, 38, 0.055) !important;
  transition:
    transform 320ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 280ms ease,
    box-shadow 360ms cubic-bezier(0.16, 1, 0.3, 1),
    background-color 280ms ease !important;
}

html.white-apple-theme body :is(.de-start-card[aria-current="true"], .de-start-card.is-active, .faq-item.open) {
  border-color: rgba(14, 156, 145, 0.62) !important;
  box-shadow:
    0 1px 2px rgba(11, 118, 109, 0.035),
    0 12px 30px rgba(11, 118, 109, 0.08),
    0 30px 64px rgba(20, 30, 38, 0.055) !important;
}

@media (hover: hover) and (pointer: fine) {
  html.white-apple-theme body :is(
    .service-card, .industry-card, .quality-card, .case-card, .blog-card,
    .value-card, .lead-card, .stat-card, .cap-card, .vas-card, .oi-card,
    .ind-card, .mat-card, .spec-group, .seo-link-card, .cert-card,
    .equip-card, .faq-item, .evidence-slot, .gallery-card,
    .platform-principle, .de-start-card, .de-service-card,
    .de-deliverable-card, .de-prototype-card, .de-case-card,
    .hs-card, .hs-scope-card, .hs-item, .hs-step, .wf-step
  ):hover {
    transform: translate3d(0, -4px, 0) !important;
    border-color: rgba(42, 162, 152, 0.48) !important;
    box-shadow:
      0 2px 4px rgba(20, 30, 38, 0.025),
      0 18px 38px rgba(20, 30, 38, 0.075),
      0 38px 78px rgba(20, 30, 38, 0.08) !important;
  }
}

@media (max-width: 768px) {
  html.white-apple-theme body :is(
    .service-card, .industry-card, .quality-card, .case-card, .blog-card,
    .value-card, .lead-card, .stat-card, .cap-card, .vas-card, .oi-card,
    .ind-card, .mat-card, .spec-group, .seo-link-card, .cert-card,
    .equip-card, .faq-item, .evidence-slot, .gallery-card,
    .platform-principle, .de-start-card, .de-service-card,
    .de-deliverable-card, .de-prototype-card, .de-case-card,
    .hs-card, .hs-scope-card, .hs-item, .hs-step, .wf-step
  ) {
    box-shadow:
      0 1px 2px rgba(20, 30, 38, 0.025),
      0 9px 22px rgba(20, 30, 38, 0.05),
      0 24px 48px rgba(20, 30, 38, 0.05) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.white-apple-theme body :is(
    .service-card, .industry-card, .quality-card, .case-card, .blog-card,
    .value-card, .lead-card, .stat-card, .cap-card, .vas-card, .oi-card,
    .ind-card, .mat-card, .spec-group, .seo-link-card, .cert-card,
    .equip-card, .faq-item, .evidence-slot, .gallery-card,
    .platform-principle, .de-start-card, .de-service-card,
    .de-deliverable-card, .de-prototype-card, .de-case-card,
    .hs-card, .hs-scope-card, .hs-item, .hs-step, .wf-step
  ) {
    transition: none !important;
  }
}

/* Decorative motion must never compete with manufacturing evidence. */
html body :is(.ambient-bg .blob, .blob, .cursor-glow, .ripple) {
  animation: none !important;
  will-change: auto !important;
}

html body :is(.cursor-glow, .ripple) {
  display: none !important;
}

/*
 * Hamburger geometry: each line keeps a fixed anchor and moves only through
 * composited transforms. This removes the previous top-position jump.
 */
html body .site-unified-header .mobile-toggle .hamburger-line,
html body .navbar .mobile-toggle .hamburger-line,
html.white-apple-theme body #navbar#navbar.navbar #mobileToggle#mobileToggle .hamburger-line {
  transform-origin: 50% 50% !important;
  transition:
    transform var(--wc-motion-panel) var(--wc-ease-panel),
    opacity var(--wc-motion-fast) ease-out !important;
  will-change: transform, opacity !important;
}

html body .site-unified-header .mobile-toggle .hamburger-line:nth-child(1),
html body .navbar .mobile-toggle .hamburger-line:nth-child(1),
html.white-apple-theme body #navbar#navbar.navbar #mobileToggle#mobileToggle .hamburger-line:nth-child(1) {
  top: 1px !important;
  transform: translate3d(0, 0, 0) rotate(0deg) !important;
}

html body .site-unified-header .mobile-toggle .hamburger-line:nth-child(2),
html body .navbar .mobile-toggle .hamburger-line:nth-child(2),
html.white-apple-theme body #navbar#navbar.navbar #mobileToggle#mobileToggle .hamburger-line:nth-child(2) {
  top: 8px !important;
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scaleX(1) !important;
}

html body .site-unified-header .mobile-toggle .hamburger-line:nth-child(3),
html body .navbar .mobile-toggle .hamburger-line:nth-child(3),
html.white-apple-theme body #navbar#navbar.navbar #mobileToggle#mobileToggle .hamburger-line:nth-child(3) {
  top: 15px !important;
  transform: translate3d(0, 0, 0) rotate(0deg) !important;
}

html body.nav-open .site-unified-header .mobile-toggle .hamburger-line:nth-child(1),
html.page-home body.nav-open #mobileToggle#mobileToggle.mobile-toggle .hamburger-line:nth-child(1),
html.white-apple-theme body.nav-open #navbar#navbar.navbar #mobileToggle#mobileToggle .hamburger-line:nth-child(1) {
  top: 1px !important;
  transform: translate3d(0, 7px, 0) rotate(45deg) !important;
}

html body.nav-open .site-unified-header .mobile-toggle .hamburger-line:nth-child(2),
html.page-home body.nav-open #mobileToggle#mobileToggle.mobile-toggle .hamburger-line:nth-child(2),
html.white-apple-theme body.nav-open #navbar#navbar.navbar #mobileToggle#mobileToggle .hamburger-line:nth-child(2) {
  top: 8px !important;
  opacity: 0 !important;
  transform: translate3d(0, 0, 0) scaleX(0.35) !important;
}

html body.nav-open .site-unified-header .mobile-toggle .hamburger-line:nth-child(3),
html.page-home body.nav-open #mobileToggle#mobileToggle.mobile-toggle .hamburger-line:nth-child(3),
html.white-apple-theme body.nav-open #navbar#navbar.navbar #mobileToggle#mobileToggle .hamburger-line:nth-child(3) {
  top: 15px !important;
  transform: translate3d(0, -7px, 0) rotate(-45deg) !important;
}

html body :is(.mobile-toggle, .lang-switcher__toggle):active {
  transform: scale(0.94) !important;
  transition-duration: 120ms !important;
}

/*
 * Menus remain mounted while hidden so opacity and transform can interpolate.
 * Visibility and pointer events preserve the original interaction contract.
 */
html body .site-unified-header .lang-switcher__menu,
html.white-apple-theme body .site-unified-header #navbar#navbar.navbar #hpLangSwitcher#hpLangSwitcher .lang-switcher__menu {
  right: 12px !important;
  left: auto !important;
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate3d(0, -6px, 0) scale(0.985) !important;
  transform-origin: top right !important;
  transition:
    opacity var(--wc-motion-control) ease-out,
    transform var(--wc-motion-panel) var(--wc-ease-panel),
    visibility 0s linear var(--wc-motion-panel) !important;
  will-change: transform, opacity !important;
}

html body.lang-open .site-unified-header .lang-switcher__menu,
html body .site-unified-header .lang-switcher.is-open .lang-switcher__menu,
html.white-apple-theme body.lang-open .site-unified-header #navbar#navbar.navbar #hpLangSwitcher#hpLangSwitcher .lang-switcher__menu,
html.white-apple-theme body .site-unified-header #navbar#navbar.navbar #hpLangSwitcher#hpLangSwitcher.lang-switcher.is-open .lang-switcher__menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition-delay: 0s, 0s, 0s !important;
}

@media (max-width: 1199px) {
  /* Retain the header's 68px document footprint while the menu is open. */
  html body.nav-open .site-unified-header {
    position: sticky !important;
    top: 0 !important;
  }

  /* Keep the dimming layer mounted so it also eases out on close. */
  html body .site-unified-header::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: -1 !important;
    display: block !important;
    background: rgba(0, 0, 0, 0.28) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition:
      opacity var(--wc-motion-control) ease-out,
      visibility 0s linear var(--wc-motion-control) !important;
  }

  html body.nav-open .site-unified-header::before {
    opacity: 1 !important;
    visibility: visible !important;
    transition-delay: 0s, 0s !important;
  }

  /* Preserve the legacy outside-click hit target without its abrupt paint. */
  html body.nav-open::before,
  html.page-home body.nav-open::before,
  html.white-apple-theme.page-home body.nav-open::before,
  html:not(.page-home) body.nav-open::before {
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    opacity: 0 !important;
    animation: none !important;
  }

  html body .site-unified-header #navLinks.nav-links,
  html body .site-unified-header #navLinks.nav-links.active,
  html body .site-unified-header #navbar#navbar.navbar #navLinks#navLinks.nav-links,
  html body .site-unified-header #navbar#navbar.navbar #navLinks#navLinks.nav-links:not(.active),
  html body .site-unified-header #navbar#navbar.navbar #navLinks#navLinks.nav-links.active {
    display: grid !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(0, -10px, 0) scale(0.985) !important;
    transform-origin: top center !important;
    transition:
      opacity var(--wc-motion-control) ease-out,
      transform var(--wc-motion-panel) var(--wc-ease-panel),
      visibility 0s linear var(--wc-motion-panel) !important;
    will-change: transform, opacity !important;
  }

  html body.nav-open .site-unified-header #navLinks.nav-links,
  html body .site-unified-header #navLinks.nav-links.active,
  html body.nav-open .site-unified-header #navbar#navbar.navbar #navLinks#navLinks.nav-links,
  html body .site-unified-header #navbar#navbar.navbar #navLinks#navLinks.nav-links.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
    transition-delay: 0s, 0s, 0s !important;
  }

  html body .site-unified-header #navLinks.nav-links > li,
  html body .site-unified-header #navLinks.nav-links.active > li,
  html body.nav-open .site-unified-header #navLinks.nav-links > li {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
    transition-delay: 0s !important;
  }
}

/* Fast, consistent feedback for controls. */
html body :is(
  .btn-primary,
  .btn-secondary,
  .btn-outline,
  .btn-ghost,
  .button,
  .nav-cta,
  .filter-btn,
  .filter-chip,
  .services-task-link,
  .industry-nav a,
  .blog-readmore,
  .contact-route,
  .location-card__link,
  .footer-social a,
  .mobile-toggle,
  .lang-switcher__toggle,
  .lang-switcher__option,
  .mobile-filter-toggle,
  .faq-toggle,
  .back-to-top,
  .whatsapp-float,
  .values-carousel__nav,
  .values-carousel__dot,
  .carousel-nav,
  .lightbox-close,
  .lightbox-nav,
  .captcha-refresh,
  button,
  input[type="submit"]
) {
  transition-property: transform, opacity, color, background-color, border-color, box-shadow !important;
  transition-duration: var(--wc-motion-control) !important;
  transition-timing-function: var(--wc-ease-control) !important;
}

html.white-apple-theme body main#main-content :is(
  .btn-primary,
  .btn-secondary,
  .btn-outline,
  .btn-ghost,
  .button,
  .filter-btn,
  .filter-chip,
  .blog-readmore,
  button,
  input[type="submit"]
) {
  transition-property: transform, opacity, color, background-color, border-color, box-shadow !important;
  transition-duration: var(--wc-motion-control) !important;
  transition-timing-function: var(--wc-ease-control) !important;
}

html body :is(
  .btn-primary,
  .btn-secondary,
  .btn-outline,
  .btn-ghost,
  .button,
  .filter-btn,
  .filter-chip,
  .blog-readmore,
  .mobile-filter-toggle,
  .faq-toggle,
  .back-to-top,
  .whatsapp-float,
  .values-carousel__nav,
  .carousel-nav,
  .lightbox-close,
  .lightbox-nav,
  .captcha-refresh,
  button,
  input[type="submit"]
):active {
  transition-duration: 120ms !important;
}

/* Material surfaces settle quickly; no long shadow tails. */
html body :is(
  .service-card,
  .industry-card,
  .quality-card,
  .case-card,
  .blog-card,
  .story-card,
  .featured-card,
  .value-card,
  .lead-card,
  .factory-card,
  .evidence-slot,
  .stat-card,
  .about-cta,
  .cap-card,
  .cap-item,
  .tech-item,
  .process-step,
  .process-detail,
  .step-content,
  .contact-route,
  .contact-form,
  .promise-box,
  .glass-panel,
  .glass-panel-light,
  .floating-card
) {
  transition-property: transform, opacity, background-color, border-color, box-shadow !important;
  transition-duration: var(--wc-motion-material) !important;
  transition-timing-function: var(--wc-ease-control) !important;
}

/* Section entrances: short travel, no blur and no theatrical cascade. */
html.motion-ready body .fade-up.fade-up,
html.motion-ready body [data-motion-reveal] {
  filter: none !important;
  transform: translate3d(0, 8px, 0) !important;
  transition:
    opacity var(--wc-motion-enter) var(--wc-ease-enter),
    transform var(--wc-motion-enter) var(--wc-ease-enter) !important;
  transition-delay: min(calc(var(--motion-index, 0) * 30ms), 90ms) !important;
  will-change: transform, opacity !important;
}

html.motion-ready body .fade-up.fade-up:is(.visible, .is-visible),
html.motion-ready body [data-motion-reveal]:is(.visible, .is-visible) {
  transform: translate3d(0, 0, 0) !important;
  will-change: auto !important;
}

/* Documentary imagery should feel stable, not zoom under the pointer. */
html body :is(
  main img,
  .story-video,
  .story-watermark img,
  .about-hero-media img,
  .quality-hero video,
  .quality-hero img,
  .capabilities-hero video,
  .capabilities-hero img,
  .products-hero img,
  .blog-hero img,
  .feature-img,
  .service-card-img img,
  .case-image img,
  .blog-img img,
  .story-card img,
  .featured-card img,
  .industry-card-bg
) {
  transition-property: opacity !important;
  transition-duration: var(--wc-motion-material) !important;
  transition-timing-function: ease-out !important;
}

/* Beat page-specific 900–1100ms hero zoom rules with a stable media contract. */
html.white-apple-theme body.page-about .about-hero-media img,
html.white-apple-theme body.page-about .about-hero-media video,
html.white-apple-theme body.page-capabilities .hero-media-frame .hero-media-video,
html.white-apple-theme body.page-capabilities .hero-media-frame .hero-media-fallback,
html.white-apple-theme body.page-quality .quality-hero-media .quality-hero-video,
html.white-apple-theme body.page-quality .quality-hero-media > img,
html.white-apple-theme body.page-products main#main-content .products-hero-media img,
html.white-apple-theme body.page-blog .blog-page-hero img,
html.white-apple-theme body.page-blog .blog-hero-media img,
html.white-apple-theme body.page-services .story-image.story-media .story-video {
  transition: opacity var(--wc-motion-material) ease-out !important;
  transform: none !important;
}

html.white-apple-theme body.page-about .story-watermark > img,
html.white-apple-theme body.page-services .story-watermark > img,
html.white-apple-theme body.page-capabilities .hero-media-frame .story-watermark > img,
html.white-apple-theme body.page-quality .quality-hero-media .story-watermark > img {
  transition: opacity var(--wc-motion-material) ease-out !important;
  transform: none !important;
}

/* The legacy light-theme layer used a 900ms zoom/filter transition across
   subpage imagery. Keep all documentary media calm and consistently timed. */
html.white-apple-theme.white-apple-theme:not(.page-home) body main#main-content :is(
  .gallery-card,
  .factory-card,
  .oi-card,
  .cap-card,
  .equip-card,
  .blog-card,
  .story-media,
  .sr-visual,
  .is-visual,
  .featured-block
) :is(img, video) {
  transition-property: opacity !important;
  transition-duration: var(--wc-motion-material) !important;
  transition-timing-function: ease-out !important;
  transition-delay: 0ms !important;
  transform: none !important;
}

html.white-apple-theme.white-apple-theme body.page-capabilities main#main-content :is(
  .evidence-slot.evidence-slot--image,
  .feature-img,
  .capacity-image-wrapper
) img {
  transition-property: opacity !important;
  transition-duration: var(--wc-motion-material) !important;
  transition-timing-function: ease-out !important;
  transition-delay: 0ms !important;
  transform: none !important;
}

html.white-apple-theme.white-apple-theme body.page-capabilities main#main-content :is(
  .feature-img,
  .capacity-image-wrapper,
  .seo-link-card
),
html.white-apple-theme.white-apple-theme body.page-industries main#main-content :is(
  .is-feature,
  .img-placeholder,
  .cert-item
) {
  transition-property: transform, opacity, background-color, border-color, box-shadow !important;
  transition-duration: var(--wc-motion-material) !important;
  transition-timing-function: var(--wc-ease-control) !important;
  transition-delay: 0ms !important;
}

html.white-apple-theme body.page-services main#main-content .services-task-link,
html.white-apple-theme body.page-industries .industry-nav a {
  transition-property: transform, opacity, color, background-color, border-color, box-shadow !important;
  transition-duration: var(--wc-motion-control) !important;
  transition-timing-function: var(--wc-ease-control) !important;
}

html.white-apple-theme body.page-about main#main-content .stats-grid .stat-card,
html.white-apple-theme body.page-products main#main-content .hero-counter {
  transition-property: transform, opacity, background-color, border-color, box-shadow !important;
  transition-duration: var(--wc-motion-material) !important;
  transition-timing-function: var(--wc-ease-control) !important;
}

@media (hover: hover) and (pointer: fine) {
  html body :is(
    .story-image:hover .story-video,
    .story-card:hover img,
    .featured-card:hover img,
    .case-card:hover .case-image img,
    .blog-card:hover .blog-img img,
    .service-card:hover .service-card-img img
  ) {
    transform: none !important;
  }
}

/* Functional panels retain their open/close semantics with restrained timing. */
html body :is(.faq-answer, .ai-quote-panel, .lightbox, .lightbox-content) {
  transition-duration: var(--wc-motion-panel) !important;
  transition-timing-function: var(--wc-ease-panel) !important;
}

@media (max-width: 768px) {
  html.motion-ready body .fade-up.fade-up,
  html.motion-ready body [data-motion-reveal] {
    transform: none !important;
    transition-duration: 300ms !important;
    transition-delay: 0ms !important;
  }
}

/* Accessibility is a state contract, not just a shorter animation. */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  html body *,
  html body *::before,
  html body *::after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition: none !important;
    transition-delay: 0s !important;
  }

  html body .fade-up,
  html body [data-motion-reveal] {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }

  html body .hamburger-line,
  html body :is(.nav-links, .lang-switcher__menu) {
    will-change: auto !important;
  }

  html body .site-unified-header .mobile-toggle .hamburger-line,
  html.white-apple-theme body #navbar#navbar.navbar #mobileToggle#mobileToggle .hamburger-line,
  html.page-home body.nav-open #mobileToggle#mobileToggle.mobile-toggle .hamburger-line,
  html.white-apple-theme body.nav-open #navbar#navbar.navbar #mobileToggle#mobileToggle .hamburger-line,
  html body .site-unified-header #navLinks.nav-links,
  html body .site-unified-header #navbar#navbar.navbar #navLinks#navLinks.nav-links,
  html body .site-unified-header #navbar#navbar.navbar #navLinks#navLinks.nav-links:not(.active),
  html body .site-unified-header #navbar#navbar.navbar #navLinks#navLinks.nav-links.active,
  html body .site-unified-header .lang-switcher__menu,
  html.white-apple-theme body .site-unified-header #navbar#navbar.navbar #hpLangSwitcher#hpLangSwitcher .lang-switcher__menu {
    transition: none !important;
    transition-delay: 0s !important;
  }
}

/* v5 final cascade: shared floating content cards. */
html.white-apple-theme body main#main-content#main-content#main-content :is(
  .service-card, .industry-card, .quality-card, .case-card, .blog-card,
  .value-card, .lead-card, .stat-card, .cap-card, .vas-card, .oi-card,
  .ind-card, .mat-card, .spec-group, .seo-link-card, .cert-card,
  .equip-card, .faq-item, .evidence-slot, .gallery-card,
  .platform-principle, .de-start-card, .de-service-card,
  .de-deliverable-card, .de-prototype-card, .de-case-card,
  .hs-card, .hs-scope-card, .hs-item, .hs-step, .wf-step
) {
  border-color: rgba(194, 204, 211, 0.72) !important;
  background-color: rgba(255, 255, 255, 0.98) !important;
  box-shadow:
    0 1px 2px rgba(20, 30, 38, 0.025),
    0 10px 28px rgba(20, 30, 38, 0.055),
    0 30px 64px rgba(20, 30, 38, 0.055) !important;
  transition:
    transform 320ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 280ms ease,
    box-shadow 360ms cubic-bezier(0.16, 1, 0.3, 1),
    background-color 280ms ease !important;
}

html.white-apple-theme body main#main-content#main-content#main-content :is(.de-start-card[aria-current="true"], .de-start-card.is-active, .faq-item.open) {
  border-color: rgba(14, 156, 145, 0.62) !important;
  box-shadow:
    0 1px 2px rgba(11, 118, 109, 0.035),
    0 12px 30px rgba(11, 118, 109, 0.08),
    0 30px 64px rgba(20, 30, 38, 0.055) !important;
}

@media (hover: hover) and (pointer: fine) {
  html.white-apple-theme body main#main-content#main-content#main-content :is(
    .service-card, .industry-card, .quality-card, .case-card, .blog-card,
    .value-card, .lead-card, .stat-card, .cap-card, .vas-card, .oi-card,
    .ind-card, .mat-card, .spec-group, .seo-link-card, .cert-card,
    .equip-card, .faq-item, .evidence-slot, .gallery-card,
    .platform-principle, .de-start-card, .de-service-card,
    .de-deliverable-card, .de-prototype-card, .de-case-card,
    .hs-card, .hs-scope-card, .hs-item, .hs-step, .wf-step
  ):hover {
    transform: translate3d(0, -4px, 0) !important;
    border-color: rgba(42, 162, 152, 0.48) !important;
    box-shadow:
      0 2px 4px rgba(20, 30, 38, 0.025),
      0 18px 38px rgba(20, 30, 38, 0.075),
      0 38px 78px rgba(20, 30, 38, 0.08) !important;
  }
}

@media (max-width: 768px) {
  html.white-apple-theme body main#main-content#main-content#main-content :is(
    .service-card, .industry-card, .quality-card, .case-card, .blog-card,
    .value-card, .lead-card, .stat-card, .cap-card, .vas-card, .oi-card,
    .ind-card, .mat-card, .spec-group, .seo-link-card, .cert-card,
    .equip-card, .faq-item, .evidence-slot, .gallery-card,
    .platform-principle, .de-start-card, .de-service-card,
    .de-deliverable-card, .de-prototype-card, .de-case-card,
    .hs-card, .hs-scope-card, .hs-item, .hs-step, .wf-step
  ) {
    box-shadow:
      0 1px 2px rgba(20, 30, 38, 0.025),
      0 9px 22px rgba(20, 30, 38, 0.05),
      0 24px 48px rgba(20, 30, 38, 0.05) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.white-apple-theme body main#main-content#main-content#main-content :is(
    .service-card, .industry-card, .quality-card, .case-card, .blog-card,
    .value-card, .lead-card, .stat-card, .cap-card, .vas-card, .oi-card,
    .ind-card, .mat-card, .spec-group, .seo-link-card, .cert-card,
    .equip-card, .faq-item, .evidence-slot, .gallery-card,
    .platform-principle, .de-start-card, .de-service-card,
    .de-deliverable-card, .de-prototype-card, .de-case-card,
    .hs-card, .hs-scope-card, .hs-item, .hs-step, .wf-step
  ) {
    transition: none !important;
  }
}

/* v7 final junction geometry: top follows the card, bottom is square. */
html.white-apple-theme.page-home body main#main-content#main-content#main-content #services .service-card > .service-card-img,
html.white-apple-theme.page-home body main#main-content#main-content#main-content #services .service-card > .service-card-img > img {
  border-top-left-radius: 22px !important;
  border-top-right-radius: 22px !important;
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

/* v8 static showcase cards: case studies are content panels, not lift controls. */
@media (hover: hover) and (pointer: fine) {
  html.white-apple-theme.page-home body main#main-content#main-content#main-content #cases .case-card:hover {
    transform: none !important;
    border-color: rgba(194, 204, 211, 0.72) !important;
    box-shadow:
      0 1px 2px rgba(20, 30, 38, 0.025),
      0 10px 28px rgba(20, 30, 38, 0.055),
      0 30px 64px rgba(20, 30, 38, 0.055) !important;
  }

  html.white-apple-theme.page-home body main#main-content#main-content#main-content #cases .case-card:hover .case-media img {
    transform: none !important;
  }
}

/* v9 static accordion panels: interaction is expansion, never card lift. */
@media (hover: hover) and (pointer: fine) {
  html.white-apple-theme body main#main-content#main-content#main-content .faq-item:hover {
    transform: none !important;
  }

  html.white-apple-theme body main#main-content#main-content#main-content .faq-item:hover:not(.open) {
    border-color: rgba(194, 204, 211, 0.72) !important;
    box-shadow:
      0 1px 2px rgba(20, 30, 38, 0.025),
      0 10px 28px rgba(20, 30, 38, 0.055),
      0 30px 64px rgba(20, 30, 38, 0.055) !important;
  }

  html.white-apple-theme body main#main-content#main-content#main-content .faq-item.open:hover {
    border-color: rgba(14, 156, 145, 0.62) !important;
    box-shadow:
      0 1px 2px rgba(11, 118, 109, 0.035),
      0 12px 30px rgba(11, 118, 109, 0.08),
      0 30px 64px rgba(20, 30, 38, 0.055) !important;
  }
}

/* v10 static industry panels: taxonomy cards do not behave like controls. */
@media (hover: hover) and (pointer: fine) {
  html.white-apple-theme.page-home body main#main-content#main-content#main-content #industries .industry-card:hover {
    transform: none !important;
    border-color: rgba(194, 204, 211, 0.72) !important;
    box-shadow:
      0 1px 2px rgba(20, 30, 38, 0.025),
      0 10px 28px rgba(20, 30, 38, 0.055),
      0 30px 64px rgba(20, 30, 38, 0.055) !important;
  }

  html.white-apple-theme.page-home body main#main-content#main-content#main-content #industries .industry-card:hover .industry-card-bg {
    transform: none !important;
    filter: saturate(0.92) contrast(1.01) brightness(1.02) !important;
  }
}

@media (max-width: 768px) and (hover: hover) and (pointer: fine) {
  html.white-apple-theme.page-home body main#main-content#main-content#main-content #industries .industry-card:hover .industry-card-bg {
    filter: saturate(0.94) contrast(1.01) brightness(1) !important;
  }
}

/* v11 independent mobile case cards: horizontal swipe, invisible track. */
@media (max-width: 768px) {
  html.white-apple-theme.page-home body main#main-content#main-content#main-content #cases .case-grid.case-grid--home.mobile-card-rail {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: calc(100% + 24px) !important;
    margin-right: -24px !important;
    margin-left: 0 !important;
    padding: 4px 24px 28px 0 !important;
    gap: 20px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html.white-apple-theme.page-home body main#main-content#main-content#main-content #cases .case-grid.case-grid--home.mobile-card-rail::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
  }

  html.white-apple-theme.page-home body main#main-content#main-content#main-content #cases .case-grid.case-grid--home.mobile-card-rail > .case-card {
    flex: 0 0 min(78vw, 324px) !important;
    width: min(78vw, 324px) !important;
    min-width: min(78vw, 324px) !important;
    max-width: none !important;
    min-height: 0 !important;
    scroll-snap-align: start !important;
  }
}

/* v12 clean mobile case rail: no shadow band behind independent cards. */
@media (max-width: 768px) {
  html.white-apple-theme.page-home body main#main-content#main-content#main-content #cases .case-grid.case-grid--home.mobile-card-rail {
    padding-bottom: 12px !important;
  }

  html.white-apple-theme.page-home body main#main-content#main-content#main-content #cases .case-grid.case-grid--home.mobile-card-rail > .case-card,
  html.white-apple-theme.page-home body main#main-content#main-content#main-content #cases .case-grid.case-grid--home.mobile-card-rail > .case-card:hover {
    box-shadow: none !important;
  }
}

/* v13 clean mobile industry rail: keep the swipe cards, remove the grey band. */
@media (max-width: 768px) {
  html.white-apple-theme.page-home body main#main-content#main-content#main-content #industries .industry-grid.mobile-card-rail {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html.white-apple-theme.page-home body main#main-content#main-content#main-content #industries .industry-grid.mobile-card-rail > .industry-card,
  html.white-apple-theme.page-home body main#main-content#main-content#main-content #industries .industry-grid.mobile-card-rail > .industry-card:hover {
    box-shadow: none !important;
  }
}

/* v14 clean, level mobile service rail: equal cards without a shadow band. */
@media (max-width: 768px) {
  html.white-apple-theme.page-home body main#main-content#main-content#main-content #services .services-grid.mobile-card-rail {
    align-items: stretch !important;
    padding-bottom: 12px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  html.white-apple-theme.page-home body main#main-content#main-content#main-content #services .services-grid.mobile-card-rail::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  html.white-apple-theme.page-home body main#main-content#main-content#main-content #services .services-grid.mobile-card-rail > .service-card,
  html.white-apple-theme.page-home body main#main-content#main-content#main-content #services .services-grid.mobile-card-rail > .service-card:hover {
    align-self: stretch !important;
    height: auto !important;
    box-shadow: none !important;
  }

  html.white-apple-theme.page-home body main#main-content#main-content#main-content #services .services-grid.mobile-card-rail > .service-card > .service-card-body {
    flex: 1 1 auto !important;
  }
}
