/* Progressive hero: brand → title → description → form → supporting points. */
.zm-hero-copy{animation:none}
@keyframes zm-progress-in{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:no-preference){
  .zm-hero-copy>.zm-hero-brand,.zm-hero-copy>h1,.zm-hero-copy>.zm-hero-description,.zm-hero-copy>.zm-phone-form,.zm-hero-copy>.zm-hero-note{
    animation:zm-progress-in .7s cubic-bezier(.2,.65,.25,1) backwards;
  }
  .zm-hero-copy>.zm-hero-brand{animation-delay:.08s}
  .zm-hero-copy>h1{animation-delay:.26s}
  .zm-hero-copy>.zm-hero-description{animation-delay:.46s}
  .zm-hero-copy>.zm-phone-form{animation-delay:.66s}
  .zm-hero-copy>.zm-hero-note{animation-delay:.86s}
  .zm-hero-note>.zm-hero-point{animation:zm-progress-in .5s ease backwards}
  .zm-hero-note>.zm-hero-point:nth-child(1){animation-delay:.94s}
  .zm-hero-note>.zm-hero-point:nth-child(2){animation-delay:1.06s}
  .zm-hero-note>.zm-hero-point:nth-child(3){animation-delay:1.18s}
  .zm-motion-pending{opacity:0;transform:translateY(16px)}
}
.zm-root .zm-motion-focused{animation:none!important}
.zm-root .zm-button>i,.zm-text-link>i,.zm-family-brand>i,.zm-family-brand>img,.zm-doc-icon,.zm-guide-source>img,.zm-guide-result>img{
  transition:transform .28s ease;
}
.zm-phone-row{transition:box-shadow .25s ease}
.zm-phone-row:focus-within{box-shadow:0 0 0 3px #07984e18;border-radius:12px}
.zm-faq-layout summary{transition:color .2s ease,background-color .2s ease}
.zm-guide-processor li{transition:background-color .2s ease}
@media(hover:hover) and (pointer:fine){
  .zm-button:hover>i,.zm-text-link:hover>i{transform:translateX(4px)}
  .zm-family-brand:hover>i{transform:translate(3px,-3px)}
  .zm-family-brand:hover>img{transform:scale(1.06) rotate(-4deg)}
  .zm-document-controls button:hover .zm-doc-icon{transform:translateY(-3px)}
  .zm-guide-source:hover>img,.zm-guide-result:hover>img{transform:translateY(-4px)}
  .zm-guide-processor li:hover{background:#07984e08}
  .zm-faq-layout summary:hover{color:var(--zm-deep);background:#07984e04}
}
@media(prefers-reduced-motion:reduce){
  .zm-motion-pending{opacity:1!important;transform:none!important}
  .zm-root .zm-button>i,.zm-text-link>i,.zm-family-brand>i,.zm-family-brand>img,.zm-doc-icon,.zm-guide-source>img,.zm-guide-result>img{transform:none!important}
}
@media print{
  .zm-motion-pending,.zm-hero-copy>*{opacity:1!important;transform:none!important;animation:none!important}
}
