/* One orchestrated hero entrance + light scroll reveal for section heads */
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes draw{from{stroke-dashoffset:2400}to{stroke-dashoffset:0}}
.hero .hero-copy>*{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero .hero-copy>*:nth-child(2){animation-delay:.08s}
.hero .hero-copy>*:nth-child(3){animation-delay:.16s}
.hero .hero-copy>*:nth-child(4){animation-delay:.24s}
.hero .hero-copy>*:nth-child(5){animation-delay:.32s}
.hero-media{animation:rise 1s .2s cubic-bezier(.2,.7,.2,1) both}
.hero-roofline path{stroke-dasharray:2400;animation:draw 2.2s .1s cubic-bezier(.6,0,.2,1) both}
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
