/* STANISTROI — homepage stage 01 motion, CSS-only.
   Gentle entrance, hover feedback, and accessible reduced-motion behavior.
   No changes to layout, colors, other sections, or WordPress content. */

@keyframes ssHeroRise {
  from { opacity:0; transform:translate3d(0,16px,0); }
  to   { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes ssHeroPhotoReveal {
  from { opacity:.78; transform:scale(1.032); }
  to   { opacity:1; transform:scale(1); }
}

/* The hero plays once as soon as the page stylesheet is loaded.
   No hidden content if JavaScript is blocked or unavailable. */
.home-hero .eyebrow {
  animation:ssHeroRise 520ms cubic-bezier(.2,.65,.2,1) 70ms both;
}
.home-hero h1 {
  animation:ssHeroRise 670ms cubic-bezier(.2,.65,.2,1) 130ms both;
}
.home-hero__description {
  animation:ssHeroRise 640ms cubic-bezier(.2,.65,.2,1) 250ms both;
}
.home-hero .hero-cta {
  animation:ssHeroRise 610ms cubic-bezier(.2,.65,.2,1) 350ms both;
  transition:color 220ms ease,border-color 220ms ease;
}
.home-hero__photo {
  transform-origin:55% 50%;
  animation:ssHeroPhotoReveal 980ms cubic-bezier(.19,.72,.25,1) both;
}
.hero-cta__icon {
  transition:transform 220ms cubic-bezier(.2,.65,.2,1),background-color 220ms ease,color 220ms ease;
}
.hero-cta:hover .hero-cta__icon,
.hero-cta:focus-visible .hero-cta__icon {
  transform:translateX(4px);
  background-color:var(--ss-accent);
  color:#fff;
}
.hero-cta:focus-visible {
  outline:2px solid var(--ss-accent);
  outline-offset:6px;
}
.site-header .brand__mark {
  transition:transform 260ms cubic-bezier(.2,.65,.2,1);
}
.site-header .brand:hover .brand__mark,
.site-header .brand:focus-visible .brand__mark {
  transform:translateY(-2px);
}
.site-header .nav-list a::after {
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:5px;
  height:2px;
  background:var(--ss-accent);
  transition:right 240ms cubic-bezier(.2,.65,.2,1);
  pointer-events:none;
}
.site-header .nav-list a:hover::after,
.site-header .nav-list a:focus-visible::after {
  right:0;
}
.site-header .header-phone span {
  transition:transform 240ms ease,border-color 240ms ease;
}
.site-header .header-phone:hover span,
.site-header .header-phone:focus-visible span {
  transform:rotate(-9deg);
  border-color:var(--ss-accent);
}

/* Avoid unintended animation and cognitive load for visitors who disable motion. */
@media (prefers-reduced-motion: reduce) {
  .home-hero .eyebrow,
  .home-hero h1,
  .home-hero__description,
  .home-hero .hero-cta,
  .home-hero__photo {
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
  .hero-cta__icon,
  .site-header .brand__mark,
  .site-header .nav-list a::after,
  .site-header .header-phone span,
  .home-hero .hero-cta {
    transition:none!important;
  }
  .hero-cta:hover .hero-cta__icon,
  .hero-cta:focus-visible .hero-cta__icon,
  .site-header .brand:hover .brand__mark,
  .site-header .brand:focus-visible .brand__mark,
  .site-header .header-phone:hover span,
  .site-header .header-phone:focus-visible span {
    transform:none!important;
  }
}
