/* Unhurried motion: soft starts, small distances and no looping effects. */
html[data-motion=ready] .hero-copy,
html[data-motion=ready] .hero-evidence { animation:none; }

.site-header { transition:box-shadow 650ms ease,border-color 650ms ease; }
.site-header.is-scrolled { box-shadow:0 8px 25px #0005; border-bottom-color:var(--line); }
input, textarea { transition:border-color 180ms ease,background-color 180ms ease; }
input:focus, textarea:focus { border-color:var(--gold); }
.inline-link > span { transition:transform 450ms ease; }
.inline-link:hover > span { transform:translate(1px,-1px); }
.evidence-tag { transition:background-color 450ms ease,box-shadow 450ms ease,border-color 450ms ease; }
.evidence-tag:hover { border-color:var(--gold); box-shadow:0 5px 20px #0005; }

@keyframes briefing-arrive {
  from { opacity:0.7; transform:translateY(6px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes veil-arrive { from { opacity:0; } to { opacity:1; } }
@keyframes panel-arrive {
  from { opacity:0.65; transform:translateY(3px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes brass-sheen {
  from { transform:translateX(-140%); }
  to { transform:translateX(140%); }
}

@media (prefers-reduced-motion:no-preference) {
  dialog[open] { animation:briefing-arrive 600ms cubic-bezier(.25,.1,.25,1); }
  dialog[open]::backdrop { animation:veil-arrive 450ms ease; }
  [role=tabpanel]:not([hidden]) { animation:panel-arrive 550ms ease; }
  .faq-list details[open] > p { animation:panel-arrive 500ms ease; }
  .button { transition:background-color 450ms ease,box-shadow 450ms ease,transform 450ms ease; }
  .button > span { transition:transform 450ms ease; }
  .mission-art img { transition:transform 1600ms cubic-bezier(.25,.1,.25,1); }
  .site-header nav > a:not(.button)::after { transition:transform 450ms ease; }
}
@media (max-width:720px) and (prefers-reduced-motion:no-preference) {
  .site-header nav.is-open { animation:briefing-arrive 500ms cubic-bezier(.25,.1,.25,1); }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .button { position:relative; overflow:hidden; }
  .button::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(105deg,transparent 25%,#fff5dc1f 50%,transparent 75%); transform:translateX(-140%); }
  .button:hover { transform:translateY(-1px); }
  .button:hover > span { transform:translate(1px,-1px); }
  .button:hover::after { animation:brass-sheen 1250ms ease; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation:none!important; transition:none!important; }
}
