/* Mișcare discretă pentru concept. Se activează numai când <html> are clasa .motion,
   pusă de scriptul din <head> doar la prefers-reduced-motion: no-preference. */
:root { --miscare: cubic-bezier(.2,.65,.3,1); }

/* --- Intrarea din hero: doar transform pe imagine (nu întârzie LCP) --- */
.motion .home-hero .hero-image { overflow:hidden; }
/* Fiecare fotografie se așază din 1,07 când devine activă. */
.motion .home-hero .splide__slide.is-active img { animation:hero-zoom 2.4s var(--miscare) backwards; }
.motion .home-hero:not(.is-initialized) .splide__slide:first-child img { animation:hero-zoom 2.4s var(--miscare) backwards; }
@keyframes hero-zoom { from { transform:scale(1.07); } to { transform:scale(1); } }

.motion .home-hero .hero-content > * { animation:apare .7s var(--miscare) backwards; }
.motion .home-hero .hero-content > :nth-child(1) { animation-delay:.10s; }
.motion .home-hero .hero-content > :nth-child(2) { animation-delay:.19s; }
.motion .home-hero .hero-content > :nth-child(3) { animation-delay:.28s; }
.motion .home-hero .hero-content > :nth-child(4) { animation-delay:.37s; }
.motion .home-hero .hero-content > :nth-child(5) { animation-delay:.50s; }
@keyframes apare { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }

/* Pagina Despre deschide la fel ca prima pagină: antetul apare eșalonat,
   iar panorama Green Residence se așază din 1,05. */
.motion .about-hero > * { animation:apare .7s var(--miscare) backwards; }
.motion .about-hero > :nth-child(1) { animation-delay:.10s; }
.motion .about-hero > :nth-child(2) { animation-delay:.19s; }
.motion .about-hero > :nth-child(3) { animation-delay:.28s; }
.motion .about-panorama .splide__slide.is-active img { animation:hero-zoom 2.4s var(--miscare) .28s backwards; }
.motion .about-panorama:not(.is-initialized) .splide__slide:first-child img { animation:hero-zoom 2.4s var(--miscare) .28s backwards; }

/* --- Apariție la derulare --- */
.motion [data-reveal] {
  opacity:0;
  transform:translateY(14px);
  transition:opacity .75s var(--miscare), transform .75s var(--miscare);
  transition-delay:calc(var(--pas, 0) * 70ms);
  will-change:opacity, transform;
}
.motion [data-reveal].is-in { opacity:1; transform:none; will-change:auto; }

/* --- Detalii --- */
.motion .live-dot { animation:puls 2.6s ease-in-out infinite; }
@keyframes puls { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.45; transform:scale(.82); } }

.about-proof-main strong { font-variant-numeric:tabular-nums; }

/* La tipărire nu se declanșează observatorul: tot conținutul trebuie să fie vizibil. */
@media print { .motion [data-reveal] { opacity:1; transform:none; transition:none; } }
