/* Breakpoints and reduced-motion rules */
@media (max-width:980px){
  .links,.nav .btn-portal,.nav .btn-main{display:none}
  .burger{display:grid}
  .hero .wrap{grid-template-columns:1fr;padding-block:48px 24px;min-height:0;gap:6px}
  .scene{margin-top:22px;margin-bottom:10px}
  .bento{grid-template-columns:1fr 1fr}
  .t-a,.t-b,.t-f{grid-column:span 2;grid-row:auto}
  .t-c,.t-d{grid-column:span 1}.t-e{grid-column:span 2}
  .t-f{grid-template-columns:1fr}
  .finder,.portal,.contact{grid-template-columns:1fr;gap:34px}
  .grid{grid-template-columns:1fr 1fr}
  section.s{padding-block:76px}
  body{padding-bottom:84px}
  .dock{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:55;background:color-mix(in srgb,var(--solid) 88%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--card-b);border-radius:22px;padding:8px;box-shadow:0 20px 50px -12px rgba(0,0,0,.55)}
  .dock a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;border-radius:14px;text-decoration:none;font-size:.72rem;font-weight:700;color:var(--soft)}
  .dock a svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .dock a.hot{background:var(--btn);color:var(--btn-ink)}
  .dock a:active{transform:scale(.95)}
}
@media (max-width:640px){
  .wrap{width:min(1180px,100% - 28px)}
  .grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:-14px;padding:4px 14px 14px;scrollbar-width:none}
  .grid::-webkit-scrollbar{display:none}
  .cc{scroll-snap-align:center}
  .bento{grid-template-columns:1fr}
  .t-a,.t-b,.t-c,.t-d,.t-e,.t-f{grid-column:auto}
  .opts{grid-template-columns:1fr}
  .dgrid{grid-template-columns:1fr}
  .journey{padding-left:56px}.js1 .n{left:-56px}
  .brand small{display:none}
  .chip span{padding:6px 11px;font-size:.72rem}
  .hero .cta .btn{flex:1 1 100%}
  .clist li{flex-direction:column;gap:2px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.001ms!important}
  .js .rv{opacity:1;transform:none}
  .term div{opacity:1}
  .flip span:nth-child(2){display:none}.flip span{opacity:1}
  .intro>*{opacity:1;transform:none}.orbit{opacity:1}
}
