/* ---------- responsive ---------- */
@media (max-width:1000px){
  .shelf{grid-template-columns:repeat(2,1fr);row-gap:56px}
  .buffs{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr;gap:44px}
  .deco{display:none}
}
@media (max-width:860px){
  .menu-btn{display:grid}
  .links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--panel);padding:10px 20px 20px;border-bottom:var(--u) solid var(--line)}
  .links.open{display:flex}
  .links a{padding:14px 8px;font-size:21px}
  .party{grid-template-columns:1fr;gap:34px}
  .roster{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
  .d-cols{grid-template-columns:1fr}
  .sec{padding:80px 0}
}
@media (max-width:760px){
  .path{grid-template-columns:1fr;gap:34px}
  .rail{left:30px;right:auto;top:34px;bottom:34px;width:8px;height:auto}
  .rail .fill{width:100%;height:calc(var(--p,0)*100%)}
  .stop{display:grid;grid-template-columns:68px 1fr;column-gap:22px;text-align:left;align-items:start}
  .stop .node{margin:0;grid-row:1 / span 2}
  .stop h3{margin-top:4px}
  .stop p{margin:0;max-width:none}
}
@media (max-width:600px){
  :root{--u:3px}
  .nav-cta{display:none}
  .roster{grid-template-columns:1fr}
  .shelf{grid-template-columns:1fr;max-width:340px}
  .buffs{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .foot-links{justify-content:flex-start}
  .dlg{grid-template-columns:1fr}
  .dlg .btn{justify-self:start}
  .detail{padding:24px 20px}
  .d-top{gap:18px}
  .d-sprite{width:88px}
  .talk{padding:26px 20px 22px}
  .talk-head{flex-direction:column;align-items:flex-start}
  .sign-txt span{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
