/* Native navigation starts immediately. The two snapshots fade over navy while
   the destination is already present; no click handler waits for an animation. */
@view-transition{navigation:auto;}
::view-transition{background:#152947;pointer-events:none}
::view-transition-group(root){animation-duration:240ms}
::view-transition-image-pair(root){isolation:isolate}
::view-transition-old(root){mix-blend-mode:normal;animation:avb-page-out 110ms ease-out both}
::view-transition-new(root){mix-blend-mode:normal;animation:avb-page-in 240ms cubic-bezier(.2,.7,.2,1) both}
@keyframes avb-page-out{from{opacity:1}to{opacity:0}}
@keyframes avb-page-in{0%,32%{opacity:0}100%{opacity:1}}

/* Short, overlapping entrances for the first content groups. The homepage and
   scroll-revealed sections keep their existing choreography. No layout motion,
   permanent hidden state, or per-icon animation is introduced. */
@media(prefers-reduced-motion:no-preference){
 body:not(.wp-admin):not(.avb-portal):not(.elementor-editor-active) :where(
  .avb-collection-main,.avb-collection-intro,.avb-collection-bottom,.avb-collection-title-only,
  .avb-scene-copy>*,.avb-scene-price,.avb-scene-controls,.avb-scene-thumbs,
  .avb-privacy__hero>*,.avb-search-heading,.vpab34-search-shell,.vpab34-mobile-layout,
  #half-map-listing-area>.advanced-search,#half-map-listing-area>.page-title-wrap
 ){animation:avb-content-in 300ms ease-out var(--avb-entry-delay,0ms) backwards}
 :where(.avb-collection-intro,.avb-scene-copy>h1,.avb-scene-price,.avb-privacy__hero>h1){--avb-entry-delay:40ms}
 :where(.avb-collection-bottom,.avb-scene-location,.avb-scene-controls,.avb-privacy__statement,.vpab34-mobile-layout){--avb-entry-delay:80ms}
 :where(.avb-scene-thumbs,.avb-privacy__date,#half-map-listing-area>.page-title-wrap){--avb-entry-delay:120ms}
}
@keyframes avb-content-in{from{opacity:.45}to{opacity:1}}

/* Browsers without document transitions still receive a brief entrance veil. */
html.avb-transition-fallback::before{content:'';position:fixed;inset:0;z-index:2147483646;background:#152947;opacity:0;pointer-events:none;animation:avb-veil-in 220ms ease-out both}
html.avb-page-leaving::before{content:'';position:fixed;inset:0;z-index:2147483646;background:#152947;pointer-events:none;animation:avb-veil-out 110ms ease-out both}
@keyframes avb-veil-out{from{opacity:0}to{opacity:.7}}
@keyframes avb-veil-in{from{opacity:.7}to{opacity:0}}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none;}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
 html.avb-transition-fallback::before,html.avb-page-leaving::before{content:none}
}
