/* =========================================================
   GLASS TREE — responsive & motion preferences
   ========================================================= */

.glass[data-tilt]::after { display: none; }

/* ---------- ≤ 1200 ---------- */
@media (max-width: 1200px) {
  .hero__panel {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .hero__facts {
    grid-column: 1 / -1;
    justify-content: flex-start;
    gap: clamp(24px, 5vw, 56px);
    padding: 18px 0 4px;
    border-left: 0;
    border-top: 1px solid var(--hair);
  }

  .metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .metrics__caption { grid-column: 1 / -1; max-width: none; }
}

/* ---------- ≤ 1024 ---------- */
@media (max-width: 1024px) {
  .nav { display: none; }
  .burger { display: block; }
  .header__cta { display: none; }

  .head,
  .head--split { grid-template-columns: 1fr; }
  .head > .head__note,
  .head > .head__aside { grid-column: 1; }

  .feature { grid-template-columns: 1fr; }
  .feature__stage { order: -1; min-height: clamp(260px, 56vw, 460px); }

  .contact__grid { grid-template-columns: 1fr; }

  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__col--about { grid-column: 1 / -1; }

  .process__head { flex-direction: column; align-items: flex-start; }
  .process__meta { justify-items: start; text-align: left; }
}

/* ---------- ≤ 900: services become an accordion ---------- */
@media (max-width: 900px) {
  .svc {
    flex-direction: column;
    height: auto;
    gap: 10px;
  }
  .svc__item {
    flex: none;
    height: 92px;
    transition: height 0.9s var(--ease), border-color 0.6s;
  }
  .svc__item.is-active { height: 470px; }
  .svc__toggle {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
    padding: 0 76px 0 22px;
    height: 92px;
    bottom: auto;
  }
  .svc__item.is-active .svc__toggle { --pb: 0; }
  .svc__title,
  .svc__item.is-active .svc__title {
    writing-mode: horizontal-tb;
    rotate: none;
    white-space: normal;
    font-size: 21px;
    font-weight: 500;
    letter-spacing: -0.02em;
    animation: none;
  }
  .svc__plus { top: 25px; right: 22px; }
  .svc__body { left: 22px; right: 22px; bottom: 22px; }
  .svc__item.is-active .svc__shade {
    background: linear-gradient(180deg, rgba(12, 10, 16, 0.7) 0%, rgba(12, 10, 16, 0.1) 30%, rgba(12, 10, 16, 0.6) 60%, rgba(12, 10, 16, 0.95) 100%);
  }

  .woodband__grid { grid-template-columns: 1fr; }
  .value { min-height: 240px; }

  .ethos__grid { grid-template-columns: 1fr; }
  .ethos__principles { grid-template-columns: 1fr; }

  .bento { grid-template-columns: 1fr; }
  .card,
  .card--wide { grid-column: auto; }
  .card--wide .card__media { aspect-ratio: 16 / 9; }

  .collage { row-gap: 14px; }
  .collage__item--a { grid-column: 1 / -1; }
  .collage__item--b { grid-column: 1 / 7; grid-row: 2; margin-top: 0; aspect-ratio: 3 / 4; }
  .collage__item--c { grid-column: 6 / -1; grid-row: 2; margin-top: 30%; aspect-ratio: 4 / 5; }
}

/* ---------- ≤ 760 ---------- */
@media (max-width: 760px) {
  :root { --section-y: 88px; }

  .header { top: 10px; padding-inline: 10px; }
  .header__pill { padding: 6px 6px 6px 14px; }

  .hero {
    align-items: stretch;
    padding: 110px 0 28px;
  }
  .hero__inner {
    display: flex;
    flex-direction: column;
  }
  .hero__title { font-size: clamp(46px, 13.4vw, 76px); letter-spacing: -0.06em; }
  .hero__lens {
    position: relative;
    top: auto;
    right: auto;
    align-self: flex-end;
    width: 132px;
    margin-top: 18px;
    margin-bottom: auto;
  }
  .hero__panel {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    margin-top: 24px;
    padding: 20px;
    border-radius: 26px;
  }
  .hero__actions .btn { flex: 1 1 auto; justify-content: space-between; }
  .hero__facts { gap: 14px; justify-content: space-between; padding-bottom: 0; }
  .hero__facts span { font-size: 11px; }
  .hero__scroll { display: none; }

  .statement { font-size: clamp(24px, 7vw, 34px); }

  .metrics { grid-template-columns: 1fr 1fr; row-gap: 36px; }

  .collage figcaption { left: 10px; bottom: 10px; max-width: calc(100% - 20px); padding: 9px 12px; font-size: 12px; }
  .collage__item--b figcaption,
  .collage__item--c figcaption { display: none; }

  .ethos__title span + span { padding-left: 0; }

  .step { min-height: 300px; }

  .feature h3 { font-size: clamp(56px, 18vw, 84px); }
  .feature__copy .btn { width: 100%; justify-content: space-between; }

  .footer__top { flex-wrap: wrap; }
  .footer__tagline { order: 3; width: 100%; }
  .footer__grid { grid-template-columns: 1fr; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ---------- touch: no hover-only affordances ---------- */
@media (hover: none) {
  .btn::before { display: none; }
  .glass::before,
  [data-tilt]::after { opacity: 0.35; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    transition-delay: 0s !important;
    scroll-behavior: auto !important;
  }
  .marquee__track { animation: none; }
  .js [data-reveal],
  .js .line > span,
  .js [data-reveal="mask"] > * { opacity: 1; transform: none; clip-path: none; }
  .hero__lens { opacity: 1; }
  .section--light { transform: none; }
}
