/* Progressive motion: readable without JavaScript and without animation support. */
:root { --motion-ease:cubic-bezier(.22,1,.36,1); }
@media(prefers-reduced-motion:no-preference) {
  html { scroll-behavior:smooth; }
  @view-transition { navigation:auto; }
  .site-header { view-transition-name:site-header; }
  ::view-transition-old(root) { animation:page-out 180ms ease both; }
  ::view-transition-new(root) { animation:page-in 380ms var(--motion-ease) both; }
  ::view-transition-group(site-header) { animation-duration:220ms; }
  ::view-transition-old(site-header),::view-transition-new(site-header) { animation:none; mix-blend-mode:normal; }
  .button { transition:background .25s,transform .35s var(--motion-ease),box-shadow .35s; }
  .button>span,.text-link>span:not(.link-label) { display:inline-block; }
  .button>span,.text-link>span:not(.link-label),.card-link>span { transition:transform .35s var(--motion-ease); }
  .button:hover>span,.text-link:hover>span:not(.link-label),.service-card:hover .card-link>span { transform:translate(3px,-2px); }
  .service-card { transition:transform .45s var(--motion-ease),box-shadow .45s; }
  .feature-tabs button,.service-choices label>span { transition:background-color .25s,color .25s,border-color .25s,box-shadow .25s; }
  .offer-toggle svg,.menu-toggle span,summary>span { transition:transform .3s var(--motion-ease); }
  .nav-offer .dropdown { transition:opacity .22s ease,transform .3s var(--motion-ease),visibility .22s; }
}
@keyframes page-out { to { opacity:0; } }
@keyframes page-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@media(min-width:681px) {
  .nav-offer .dropdown,.nav-offer:hover .dropdown,.nav-offer:focus-within .dropdown {
    display:block; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-8px);
  }
  .nav-offer.open .dropdown { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
}
@media(max-width:680px) {
  #main-nav { display:flex; flex-direction:column; gap:0; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-10px); }
  #main-nav.open { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
  .nav-offer .dropdown { opacity:1; visibility:visible; transform:none; }
}
@media(max-width:680px) and (prefers-reduced-motion:no-preference) {
  #main-nav { transition:opacity .22s ease,transform .32s var(--motion-ease),visibility .22s; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  @view-transition { navigation:none; }
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation:none!important; }
}
@media print { * { animation:none!important; transition:none!important; } }
