/* Ayamen R32 performance layer: preserves effects, reduces paint work while scrolling. */
html{scrollbar-gutter:auto}
.header__logo-link::before,.header__logo-link::after{content:none!important;display:none!important}
.header__logo img,.header__logo svg{filter:none!important}

/* Keep visual effects at rest; temporarily use compositor-friendly paint during active scrolling. */
.ayamen-is-scrolling .header__background,
.ayamen-is-scrolling .pd-jump,
.ayamen-is-scrolling .pd-cta-nav,
.ayamen-is-scrolling .pd-progress,
.ayamen-is-scrolling .ayn-filters,
.ayamen-is-scrolling .ayn-news-card__meta,
.ayamen-is-scrolling .ayn-feature__meta{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}


/* Transform masks replace large clip-path repaints while retaining the same wipe reveal. */
.ayamen-reveal-frame{position:relative!important}
.ayamen-reveal-frame.ayp-media,
.ayamen-reveal-frame.ayp-closing__image,
.ayamen-reveal-frame.pd-overview-media,
.ayamen-reveal-frame.pd-gallery,
.ayamen-reveal-frame.pd-plan-stage,
.ayamen-reveal-frame.pd-unit-panels{overflow:hidden!important}
.ayamen-reveal-curtain{
  position:absolute;inset:-1px;z-index:8;pointer-events:none;
  background:var(--ayamen-curtain-color,#f5f1e8);
  transform:scaleX(0);transform-origin:right center;
  will-change:transform;
}
.ayamen-reveal-curtain[data-from="left"]{transform-origin:left center}
.ayamen-panel-shade{
  position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(2,25,41,.42);
  opacity:0;will-change:opacity
}

/* Permanent will-change layers consume memory. Activate them only while their effect is running. */
.ayn-news-card,.ayn-feature,.ayn-news-card__copy,.ayn-news-card .ayn-image-frame,
.ayp-project,.ayp-media,.ayp-closing__image,.pd-overview-media,.pd-gallery,.pd-plan-stage,.pd-unit-panels{
  will-change:auto!important
}
.ayamen-motion-active,.ayamen-motion-active img,.ayamen-motion-active .ayn-image-frame{
  will-change:transform,opacity!important
}

/* Isolate independent cards without changing their layout or sticky behaviour. */
.ayn-news-card,.ayn-feature{contain:layout style}

@media (max-width:979px){
  /* Keep the existing mobile features, but avoid toolbar-driven repaint spikes. */
  #menu{height:100dvh!important;min-height:100dvh!important}
  .header__background,.pd-jump,.pd-progress{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}

@media (prefers-reduced-motion:reduce){
  .ayamen-reveal-curtain,.ayamen-panel-shade{display:none!important}
}

/* Large live shadows and CSS filters are expensive while their transformed
   parents are moving. They return immediately when scrolling settles. */


