/* 1660 AutoCare V3.2.12 — touch/coarse-pointer parity for existing desktop motion.
   Services pages are intentionally excluded because their mobile interaction is already approved. */

@media (hover:none), (pointer:coarse) {
  body.production-site:not(.services-page):not(.service-page) [data-mobile-motion] {
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }

  /* Header utility controls generated by script.js. */
  body.production-site:not(.services-page):not(.service-page) .header-home,
  body.production-site:not(.services-page):not(.service-page) .back-to-top {
    transition:border-color .25s ease,background .25s ease,color .25s ease,transform .25s var(--ease),box-shadow .25s ease;
  }
  body.production-site:not(.services-page):not(.service-page) .header-home:is(:active,.is-mobile-motion-active) {
    border-color:var(--blue-bright);
    background:rgba(18,131,195,.16);
    color:var(--blue-bright);
    transform:translateY(-1px);
  }
  body.production-site:not(.services-page):not(.service-page) .back-to-top:is(:active,.is-mobile-motion-active) {
    border-color:var(--orange);
    background:var(--orange);
    transform:translateY(-3px) scale(1);
  }

  /* Global call-to-action and inline-link parity outside Services. */
  body.production-site:not(.services-page):not(.service-page) .button {
    transition:transform .28s var(--ease),background-color .25s ease,border-color .25s ease,box-shadow .28s ease,color .25s ease;
  }
  body.production-site:not(.services-page):not(.service-page) .button:is(:active,.is-mobile-motion-active) {
    transform:translateY(-3px);
  }
  body.production-site:not(.services-page):not(.service-page) .button--primary:is(:active,.is-mobile-motion-active) {
    background:var(--orange-hot);
    box-shadow:0 18px 42px rgba(255,75,24,.28);
  }
  body.production-site:not(.services-page):not(.service-page) .button--ghost:is(:active,.is-mobile-motion-active) {
    border-color:var(--white);
    background:rgba(255,255,255,.08);
  }
  body.production-site:not(.services-page):not(.service-page) :is(.text-link,.back-link) {
    transition:color .24s ease,transform .28s var(--ease),border-color .24s ease;
  }
  body.production-site:not(.services-page):not(.service-page) :is(.text-link,.back-link):is(:active,.is-mobile-motion-active) {
    transform:translateX(3px);
  }

  /* Homepage quick actions. */
  .home-page .quick-actions > a {
    transition:background-color .25s ease,transform .3s var(--ease),box-shadow .3s ease;
  }
  .home-page .quick-actions > a svg {
    transition:transform .3s var(--ease),stroke .3s ease;
  }
  .home-page .quick-actions > a:is(:active,.is-mobile-motion-active) {
    background:var(--blue-deep);
    transform:translateY(-4px);
    box-shadow:inset 0 -3px 0 var(--orange),0 18px 42px rgba(0,0,0,.16);
  }
  .home-page .quick-actions > a:is(:active,.is-mobile-motion-active) svg {
    transform:translateX(4px) rotate(-3deg);
    stroke:var(--orange);
  }

  /* Homepage hero inset, shop photography and real-work gallery zooms. */
  .home-page .hero__inset {
    transition:transform .45s var(--ease),box-shadow .45s ease;
  }
  .home-page .hero__visual:is(:active,.is-mobile-motion-active) .hero__inset {
    transform:translateY(-8px) rotate(.7deg);
    box-shadow:0 32px 84px rgba(0,0,0,.48);
  }
  .home-page .real-work-gallery figure img {
    transition:transform .7s var(--ease);
    transform-origin:center center;
  }
  .home-page .real-work-gallery figure:is(:active,.is-mobile-motion-active) img {
    transform:scale(1.045);
  }
  .home-page .shop-story__media--collage > img {
    transition:transform .85s var(--ease);
    transform-origin:center center;
  }
  .home-page .shop-story__media--collage .shop-story__secondary {
    transition:transform .48s var(--ease),box-shadow .48s ease;
  }
  .home-page .shop-story__media--collage:is(:active,.is-mobile-motion-active) > img {
    transform:scale(1.025);
  }
  .home-page .shop-story__media--collage:is(:active,.is-mobile-motion-active) .shop-story__secondary {
    transform:translateY(-8px) rotate(0deg);
    box-shadow:0 34px 88px rgba(0,0,0,.44);
  }

  /* Homepage process-step rollover parity. */
  .home-page .process__steps li {
    transition:background-color .3s ease,box-shadow .3s ease,transform .3s var(--ease);
  }
  .home-page .process__steps li > div {
    transition:transform .3s var(--ease);
  }
  .home-page .process__steps > li > span {
    transition:color .3s ease,transform .3s var(--ease);
  }
  .home-page .process__steps li:is(:active,.is-mobile-motion-active) {
    background:rgba(18,131,195,.055);
    box-shadow:inset 0 3px 0 rgba(18,131,195,.18);
  }
  .home-page .process__steps li:is(:active,.is-mobile-motion-active) > div {
    transform:translateX(7px);
  }
  .home-page .process__steps li:is(:active,.is-mobile-motion-active) > span {
    color:var(--orange);
    transform:translateY(-2px);
  }

  /* Homepage ticker pause/link response while pressed. */
  .home-page .service-ticker:is(:active,.is-mobile-motion-active) .service-ticker__track {
    animation-play-state:paused;
  }
  .home-page .service-ticker__group > a:is(:active,.is-mobile-motion-active) {
    color:#fff;
    transform:translateY(-1px);
    box-shadow:inset 0 -2px 0 var(--orange);
  }

  /* About/Contact page-hero and editorial-photo zoom parity. */
  :is(.about-page,.contact-page) .page-hero__media img,
  .about-page .team-feature figure img,
  .contact-page .location-detail figure img {
    transition:transform .8s var(--ease),filter .55s ease;
    transform:scale(1.001);
    transform-origin:center center;
  }
  :is(.about-page,.contact-page) .page-hero__media:is(:active,.is-mobile-motion-active) img,
  .about-page .team-feature figure:is(:active,.is-mobile-motion-active) img,
  .contact-page .location-detail figure:is(:active,.is-mobile-motion-active) img {
    transform:scale(1.018);
  }

  /* About-page principle cards. */
  .about-page .principle-grid article {
    position:relative;
    transition:transform .34s var(--ease),background-color .3s ease,box-shadow .34s ease;
  }
  .about-page .principle-grid article > span,
  .about-page .principle-grid article h3 {
    transition:transform .34s var(--ease),color .28s ease;
  }
  .about-page .principle-grid article:is(:active,.is-mobile-motion-active) {
    z-index:2;
    transform:translateY(-6px);
    background:#fff;
    box-shadow:0 20px 48px rgba(8,16,25,.12),inset 0 3px 0 var(--orange);
  }
  .about-page .principle-grid article:is(:active,.is-mobile-motion-active) > span {
    color:var(--orange);
    transform:translateX(4px);
  }
  .about-page .principle-grid article:is(:active,.is-mobile-motion-active) h3 {
    transform:translateX(4px);
  }

  /* Contact cards and map controls. */
  .contact-page .contact-option {
    transition:background-color .28s ease,transform .3s var(--ease),box-shadow .3s ease;
  }
  .contact-page .contact-option:is(:active,.is-mobile-motion-active) {
    background:var(--blue-deep);
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(0,0,0,.14);
  }
  :is(.home-page,.contact-page) .route-map:is(:active,.is-mobile-motion-active) {
    border-color:rgba(255,107,44,.72);
    box-shadow:0 0 0 3px rgba(255,107,44,.12),0 30px 80px rgba(0,0,0,.22);
  }
  .contact-page .route-map__directions:is(:active,.is-mobile-motion-active) {
    transform:translateY(-3px);
    background:var(--ink);
    border-color:var(--orange);
  }

  /* Specials card state: the V3.2.11 visual language, now driven by the sitewide touch controller too. */
  .specials-page .specials-symptoms__grid article:is(:active,.is-mobile-motion-active) {
    background:#10293d !important;
    box-shadow:0 18px 40px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.08) !important;
    transform:translateY(-4px) !important;
  }
  .specials-page .specials-symptoms__grid article:is(:active,.is-mobile-motion-active)::before {
    transform:translateY(0) !important;
    opacity:1 !important;
  }
  .specials-page .specials-symptoms__grid article:is(:active,.is-mobile-motion-active)::after {
    transform:scaleX(1) !important;
  }
  .specials-page .specials-symptoms__grid article:is(:active,.is-mobile-motion-active) > strong {
    color:var(--orange) !important;
    transform:translateX(6px) !important;
  }
  .specials-page .specials-symptoms__grid article:is(:active,.is-mobile-motion-active) > p {
    color:#fff !important;
    transform:translateX(4px) !important;
  }
}

@media (hover:none) and (prefers-reduced-motion:reduce),
       (pointer:coarse) and (prefers-reduced-motion:reduce) {
  body.production-site:not(.services-page):not(.service-page) [data-mobile-motion],
  body.production-site:not(.services-page):not(.service-page) [data-mobile-motion] *,
  body.production-site:not(.services-page):not(.service-page) [data-mobile-motion]::before,
  body.production-site:not(.services-page):not(.service-page) [data-mobile-motion]::after {
    transition:none !important;
  }
  body.production-site:not(.services-page):not(.service-page) [data-mobile-motion].is-mobile-motion-active,
  body.production-site:not(.services-page):not(.service-page) [data-mobile-motion]:active,
  body.production-site:not(.services-page):not(.service-page) [data-mobile-motion].is-mobile-motion-active *,
  body.production-site:not(.services-page):not(.service-page) [data-mobile-motion]:active * {
    transform:none !important;
  }
}
