/* Anna Oliver smoothness pass — performance-only, 2026-10-02 */

/* Skip paint/layout work for heavy sections until they approach the viewport. */
@supports (content-visibility: auto) {
  .press-strip,
  .story,
  .properties,
  .pathways,
  .team,
  .anna-map-section,
  .proof,
  .podcast-feature,
  .real-preview,
  .resources,
  .evaluation,
  .activity,
  .contact,
  .signup,
  .site-footer,
  .r-footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 820px;
  }
  .listing-card {
    content-visibility: auto;
    contain-intrinsic-size: auto 430px;
  }
}

/* Keep the only continuous motion on one compositor-friendly layer. */
.market-snapshot-window { contain: layout paint; }
.market-snapshot-marquee {
  backface-visibility: hidden;
  will-change: transform;
  animation-name: annaHousingWireSmooth !important;
}
@keyframes annaHousingWireSmooth {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}

/* Static translucent panels do not need live backdrop sampling. */
.properties-page-note,
.r-hero-panel {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.properties-page-note { background: rgba(7,16,28,.84) !important; }
.r-hero-panel { background: rgba(250,248,243,.085) !important; }

/* Avoid extra filter layers on large scrolling photography. */
.hero-media img,
.story-image-main img,
.path-image img,
.team-photo img,
.podcast-art img,
.r-hero-portrait img,
.contact-image img,
.listing-image img {
  filter: none !important;
  -webkit-filter: none !important;
}

/* Fast touch response and no large-element hover transforms. */
a, button, summary, input, select, textarea { touch-action: manipulation; }
.listing-card,
.activity-card,
.r-tool,
.r-button { transform: none !important; }
.listing-card:hover .listing-image img,
.path-image:hover img,
.team-photo:hover img { transform: none !important; }

@media (hover: none), (pointer: coarse) {
  .listing-card,
  .activity-card,
  .press-logo,
  .r-tool,
  .r-button { transition-duration: .01ms !important; }
  .market-snapshot-marquee { animation-duration: 260s !important; }
}

@media (prefers-reduced-motion: reduce) {
  .market-snapshot-marquee {
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
  }
}
