/* ---------- tablet ---------- */
@media (max-width: 1024px) {
  .hero__index { flex-wrap: wrap; justify-content: flex-start; gap: 10px 22px; top: 44%; }
  .hello__body > .tag, .depts__head > .tag { grid-column: 1 / -1; padding-top: 0; }
  .hello__text, .depts__intro { grid-column: 1 / -1; }
  .hello__small { grid-column: 2 / -1; }

  .depts__fig { grid-column: 1 / 3; }
  .depts__list { grid-column: 3 / -1; }

  .mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 30vw, 300px); }

  .stage { grid-template-columns: 1fr; min-height: 0; }
  .stage__index {
    display: flex;
    gap: 8px;
    padding: 12px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    overflow-x: auto;
    scrollbar-width: none;
  }
  .stage__index::-webkit-scrollbar { display: none; }
  .stage__index li { flex: 0 0 auto; }
  .stage__item { width: auto; grid-template-columns: auto; padding: 10px 16px; border: 1px solid var(--line); }
  .stage__item .n, .stage__item .c { display: none; }
  .stage__item .t { font-size: 14px; white-space: nowrap; }
  .stage__item.is-active { border-color: var(--green); }
  .stage__view { height: 64vh; height: 64svh; min-height: 380px; }
  .ar { grid-template-columns: 1fr; }

  .contact__lead { grid-column: 1 / -1; }
  .contact .form { grid-column: 1 / -1; }
}

/* ---------- phones ---------- */
@media (max-width: 720px) {
  body { font-size: 15px; }

  .frame { font-size: 10px; letter-spacing: 0.18em; }
  .frame::before, .frame::after { height: 80px; }
  .frame__logo { top: 16px; gap: 12px; }
  .frame__logo img { width: auto; height: 32px; }
  .frame__logo b { font-size: 11px; }
  .frame__menu { top: 18px; font-size: 12px; }
  .frame__counter, .frame__totop { bottom: 18px; }
  .frame__name { display: none; }
  .frame__totop { display: none; }

  .menu__panel { width: 100%; min-width: 0; padding: 84px 24px 32px; }
  .menu__nav a { font-size: clamp(22px, 6.6vw, 32px); padding: 8px 0; }
  .menu__pages { gap: 6px 18px; }
  .menu__pages a { font-size: 16px; }
  .menu__foot { grid-template-columns: 1fr; gap: 18px; }

  .hero__aside { top: 92px; right: var(--gutter); left: var(--gutter); max-width: none; text-align: left; }
  .hero__index { top: auto; bottom: 46%; transform: none; gap: 8px 18px; }
  .hero__title { bottom: 104px; font-size: clamp(50px, 15vw, 100px); }
  .hero__line { white-space: nowrap; }
  .hero__motto { bottom: 64px; }

  .hello { padding: 14vh var(--gutter) 24vh; }
  .hello__text, .depts__intro { font-size: clamp(22px, 6.4vw, 34px); }
  .hello__small { grid-column: 1 / -1; }
  .hello__more { grid-column: 1 / -1; justify-self: start; }

  .craft__line { font-size: clamp(24px, 7.4vw, 40px); }
  .fl { width: calc(var(--w) * 2.2); }

  .reel__card { clip-path: inset(calc((1 - var(--open, 0)) * 36%) calc((1 - var(--open, 0)) * 12%) round calc((1 - var(--open, 0)) * 10px)); }
  .reel__label { font-size: clamp(30px, 10vw, 54px); }

  .depts__head { margin-bottom: 8vh; }
  .depts__body { display: block; }
  .depts__fig {
    position: sticky;
    top: 64px;
    z-index: 0;
    height: 30vh;
    margin-bottom: -30vh;
    opacity: 0.4;
  }
  .figs { width: 46vw; }
  .depts__list { position: relative; z-index: 1; }
  .dept a { padding: 5vh 0; }
  .dept__t { font-size: clamp(26px, 8vw, 40px); }

  .chapter { padding: 84px var(--gutter) 8vh; min-height: 88svh; }
  .chapter__title { font-size: clamp(38px, 12vw, 70px); }
  .chapter__hook { justify-self: start; font-size: 17px; }

  .wkrow { padding: 6vh 0; }
  .wkrow + .wkrow { margin-top: 0; }
  .wk { grid-column: 1 / -1; }
  .wk__mq { font-size: clamp(64px, 22vw, 120px); }

  .mosaic { grid-auto-rows: 44vw; }
  .mo--big { grid-column: span 2; grid-row: span 1; }

  .stage { margin: 0; border-radius: 0; border-left: 0; border-right: 0; }
  .stage__caption { left: 20px; right: 20px; bottom: 18px; }
  .stage__hint { display: none; }
  .ar__panel { padding: 24px; }

  .tour__tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .tour__tab { padding: 12px 14px; font-size: 15px; }
  .tour__tab small { font-size: 9px; letter-spacing: 0.1em; }
  .tour__screen { height: auto; aspect-ratio: 4 / 5; }
  .tour__foot { flex-direction: column; gap: 6px; }

  .contact__word { font-size: clamp(54px, 17vw, 110px); }
  .form__row { grid-template-columns: 1fr; }
  .form__foot { flex-direction: column; align-items: stretch; }
  .form__foot .pill { justify-content: center; }

  .footer { grid-template-rows: auto auto auto auto; align-content: center; gap: 8vh 0; padding-top: 14vh; padding-bottom: 56px; }
  .footer__index, .footer__info { grid-column: 1 / -1; }
  .footer__info { justify-items: start; text-align: left; }
  .footer .footer__logo { width: 82vw; margin: 0 0 3vh; }
  .footer .footer__row { flex-direction: column; gap: 8px; }
}
