/* Restrained motion. All content remains readable without JavaScript. */
:root{--polish-ease:cubic-bezier(.22,1,.36,1);--polish-enter:440ms}
@keyframes polish-enter{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes polish-disclose{from{opacity:.4;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  .motion-arrived{animation:polish-enter var(--polish-enter) var(--polish-ease)}
  .button,.nav-cta,.home-hero-secondary,.header-call,.check-option,.copy-message{
    transition:transform 180ms var(--polish-ease),background-color 180ms,border-color 180ms,color 180ms;
  }
  .button:not(:disabled):active,.nav-cta:active,.home-hero-secondary:active,.header-call:active,.check-option:active,.copy-message:active{transform:translateY(1px)}
  .text-link .icon,.guide-link h3 .icon,.guide h3 .icon,.area-row>.icon,
  .nest-options>a>.icon:last-child,.checker>a>.icon:last-child{transition:transform 180ms var(--polish-ease)}
  .site-header nav a,.area-row,summary{transition:color 180ms,background-color 180ms,border-color 180ms}
  input,select,textarea{transition:border-color 180ms,box-shadow 180ms}
  #navigation.open{animation:polish-disclose 200ms var(--polish-ease)}
  details[open]>:not(summary){animation:polish-disclose 220ms var(--polish-ease)}
  #check-result:not([hidden]),.email-fallback:not([hidden]),.call-preview-dialog[open]{animation:polish-enter 220ms var(--polish-ease)}
  .call-preview-dialog[open]::backdrop{animation:polish-backdrop 180ms ease-out}
  @keyframes polish-backdrop{from{opacity:0}to{opacity:1}}
  @media(hover:hover) and (pointer:fine){
    .text-link:hover .icon,.guide-link:hover h3 .icon,.guide:hover h3 .icon,
    .area-row:hover>.icon,.nest-options>a:hover>.icon:last-child,.checker>a:hover>.icon:last-child{transform:translateX(3px)}
  }
  /* Native sizing progressively enhances disclosure; unsupported browsers close instantly. */
  @supports(interpolate-size:allow-keywords) and (transition-behavior:allow-discrete){
    details{interpolate-size:allow-keywords}
    details::details-content{block-size:0;overflow:clip;transition:block-size 220ms var(--polish-ease),content-visibility 220ms allow-discrete}
    details[open]::details-content{block-size:auto}
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{.motion-arrived{animation:none!important;transform:none!important;opacity:1!important}}
@media(prefers-reduced-motion:no-preference){.home-hero-copy{animation:polish-enter 440ms var(--polish-ease)}.home-hero-image{animation:none}}
