/* ---------- <= 1180 ---------- */
@media (max-width: 1180px) {
  .nav ul { gap: 1.4rem; }
  .brand__word small { display: none; }
  .service__media { flex-basis: 20%; }
  .service:hover .service__media, .service:focus-within .service__media { flex-basis: 38%; }
}

/* ---------- Tablet <= 1024: simplified nav, adapted grids ---------- */
@media (max-width: 1024px) {
  :root { --header-h: 72px; }
  .nav, .nav__cta { display: none; }
  .menu-toggle { display: grid; }
  .about__text { grid-column: 1 / -1; }
  .about__visual { grid-column: 1 / -1; width: min(100%, 38rem); margin-inline: auto; }
  .contact__intro, .contact__form-wrap { grid-column: 1 / -1; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .hero__badge { display: none; }
  .service { flex-direction: column-reverse; min-height: 0; }
  .service__media, .service:hover .service__media, .service:focus-within .service__media { flex: none; width: 100%; aspect-ratio: 16 / 8; }
  .service__main { padding-right: 0; }
  .service__media img { filter: none; transform: scale(1); }
  .service__line { display: none; }
}

/* events: stack on tablet/mobile */
@media (max-width: 1024px) {
  .events__rail { flex-direction: column; height: auto; }
  .event, .event.is-active { flex: none; height: clamp(20rem, 62vw, 26rem); cursor: default; }
  .event__img, .event.is-active .event__img { filter: none; transform: none; }
  .event::before { transform: scaleX(1); }
  .event__body, .event.is-active .event__body { opacity: 1; transform: none; pointer-events: auto; }
  .event__title, .event.is-active .event__title { writing-mode: horizontal-tb; transform: none; position: absolute; left: 1.4rem; right: 1.4rem; bottom: calc(1.4rem + 10.2rem); white-space: normal; font-size: clamp(1.8rem, 6vw, 2.6rem); }
  .event__body { left: 1.4rem; right: 1.4rem; bottom: 1.4rem; gap: .8rem; }
  .event__body p { font-size: .95rem; }
}

/* ---------- Mobile <= 767 ---------- */
@media (max-width: 767px) {
  .hero { padding-top: calc(var(--header-h) + 1rem); }
  .hero__foot { align-items: start; }
  .hero__scroll { display: none; }
  .hero__slider { top: calc(var(--header-h) + .75rem); bottom: auto; }
  .hero__cap { display: none; }
  .hero__brand { display: none; }
  .footer__frames { width: 9rem; opacity: .3; }
  .event, .event.is-active { height: 27rem; }
  .event__title, .event.is-active .event__title { bottom: calc(1.4rem + 12.4rem); }
  .hero__dots button { width: 1.6rem; }
  .hero__ring { left: 40%; top: 12%; }
  .hero__beam { width: 60vw; }
  .hero__ctas .btn { flex: 1 1 100%; }
  .about__visual { margin-inline: auto; width: 100%; }
  .collage::before { inset: 9% 0 -2% 12%; }
  .collage__badge { padding: .55rem .8rem; font-size: .6rem; }
  .shot__tag { font-size: .55rem; }
  .service__main { grid-template-columns: 2.75rem 1fr; padding-top: 1.5rem; }
  .service__icon { display: none; }
  .service__media, .service:hover .service__media { aspect-ratio: 16 / 10; }
  .form { grid-template-columns: 1fr; padding: 1.5rem 1.25rem; }
  .form__foot { flex-direction: column; align-items: stretch; }
  .form__foot .btn { width: 100%; }
  .footer__grid { grid-template-columns: 1fr; }
  .footer__bar { flex-direction: column; align-items: flex-start; }
  .contact__title { word-break: normal; overflow-wrap: break-word; }
}

@media (max-width: 380px) {
  :root { --gutter: 1.1rem; }
  .brand__word b { letter-spacing: .22em; font-size: 1rem; }
  .btn { padding-inline: 1.3rem; letter-spacing: .12em; }
}
