/* A quiet entrance on document load. Links, anchors and history stay native.
   The optional FAQ bootstrap has a bounded, fail-open pre-arrival state. */
/* Programmatic section focus keeps screen-reader context without outlining
   editorial headings. Links, buttons and other keyboard controls are untouched. */
:is(h1,h2,h3,section,main)[data-navigation-focus][tabindex="-1"] { outline:none; }
@keyframes trepo-page-fade {
 from { opacity:.3; }
 to { opacity:1; }
}
@keyframes trepo-page-rise {
 from { transform:translateY(8px); }
 to { transform:none; }
}
@keyframes trepo-anchor-fade {
 from { opacity:0; }
 to { opacity:1; }
}
@media (prefers-reduced-motion:no-preference) {
 main { animation:trepo-page-fade 380ms cubic-bezier(.22,1,.36,1); }
 html[data-anchor-arrival] :is(main,.site-footer) { animation:none; }
 html[data-anchor-arrival="pending"] :is(main,.site-footer) { opacity:0; }
 html[data-anchor-arrival="ready"] :is(main,.site-footer) { animation:trepo-anchor-fade 450ms cubic-bezier(.22,1,.36,1); }
 html[data-anchor-arrival="ready"] #questions { animation:trepo-page-rise 450ms cubic-bezier(.22,1,.36,1); }
 /* Move only the opening content, never navigation or a sticky ancestor. */
 .hero-first,
 .people-layout,
 .club-hero,
 .privacy-intro,
 .product-page .gallery,
 .simple-purchase .gallery,
 .simple-purchase .offer {
  animation:trepo-page-rise 480ms cubic-bezier(.22,1,.36,1);
 }
}
