/* Keep the visual direction while limiting paint and compositor work. */
.noise { display: none; }
.route-line { filter: none; }
.route-shadow { display: none; }
.portrait-blur { filter: none; opacity: .3; }
.portrait-blur-bottom { display: none; }
.case-label { backdrop-filter: none; background: #0b0b0bf5; }
.case-shot { box-shadow: 5px 8px 18px #0008; }
.case-shot img,
.market-case-clip .case-shot img,
.market-case-organizer .case-shot img { filter: none; }
.case-shot:hover img,
.market-case-clip .case-shot:hover img { filter: none; }
.track, .paint-layer, .spray-can, .project-shot, .case-shot, .market-case, .stat-reel-track { will-change: auto; }
.horizontal.is-scene-visible .track,
.manifesto.is-scene-visible .paint-layer,
.manifesto.is-scene-visible .spray-can,
.market-lab.is-scene-visible .market-case[style*="visible"] .case-shot { will-change: transform; }
.project-panel:hover .project-shot { will-change: transform; }
.project-panel:not(.is-scene-visible) .stat-reel-track,
.hero:not(.is-scene-visible) .hero-line i { animation-play-state: paused !important; }
html.is-document-hidden *, html.is-document-hidden *::before, html.is-document-hidden *::after { animation-play-state: paused !important; }
.horizontal-sticky, .market-sticky { contain: paint; }
.cursor, .cursor-dot { left: 0; top: 0; }

@media (max-width:760px), (pointer:coarse) {
  .portrait-blur { display: none; }
  .case-shot { box-shadow: 3px 5px 10px #0007; }
  .paint-edge { filter: none; }
  .hero-scribble, .market-sticky::after { display: none; }
  .stat-reel-track { animation-play-state: paused !important; }
}

/* Reduced motion presents every service as ordinary content. */
@media (prefers-reduced-motion:reduce) {
  .cursor, .cursor-dot { display: none; }
  .horizontal { height: auto; }
  .horizontal-sticky { position: relative; height: auto; overflow: visible; }
  .track { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: auto; height: auto; transform: none !important; }
  .service, .intro-card, .outro-card { width: auto; min-width: 0; min-height: 380px; height: auto; }
  .service h3 { font-size: clamp(56px,8vw,110px); }
  .intro-card h2, .outro-card h2 { font-size: clamp(42px,5vw,72px); }
  .manifesto { height: auto; }
  .about-sticky { position: relative; height: auto; overflow: hidden; }
  .portrait-scene { position: relative; min-height: 90svh; opacity: 1 !important; }
  .manifesto-scene { position: relative; min-height: 65svh; clip-path: none; }
  .paint-layer, .spray-can { display: none; }
  .about-portrait > img { transform: none !important; }
  .market-case { visibility: visible !important; }
  .project-shot, .case-shot, .track { will-change: auto !important; }
  @media (max-width:760px) {
    .track { grid-template-columns: minmax(0,1fr); }
    .service, .intro-card, .outro-card { min-height: 330px; }
    .service h3 { font-size: 19vw; }
  }
}
