/* ==========================================================================
   INITME: RESPONSIVE (recomposed, not just shrunk)
   Desktop 12-col → tablet 8-col feel → mobile 4-col / single column
   ========================================================================== */
.pull { margin-inline: 0; }

@media (max-width: 1280px) {
  .hero__copy { grid-column: 1 / span 5; }
  .hero__disciplines { grid-column: 6 / -1; }
  .svc-row__title { grid-column: 3 / span 6; }
  .svc-row__body { grid-column: 9 / span 4; }
  .svc-row__go { display: none; }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
  .nav-list { display: none; }
  .menu-toggle { display: inline-flex; }

  .hero__row { row-gap: var(--space-7); }
  .hero__copy, .hero__disciplines { grid-column: 1 / -1; }
  .hero__cursor { display: none; }
  .hero__badge { width: 120px; top: -10px; }

  .sec-head .h2, .sec-head p { grid-column: 1 / -1; }
  .statement-block__aside .label { grid-column: 1 / -1; }
  .statement-block__aside .lead { grid-column: 1 / span 10; }

  .svc-row__id { grid-column: 1 / span 12; padding-top: 0; }
  .svc-row__title { grid-column: 1 / span 12; margin-top: var(--space-4); }
  .svc-row__body { grid-column: 1 / span 10; margin-top: var(--space-4); padding-top: 0; }

  .step .num { grid-column: 1 / -1; padding-top: 0; margin-bottom: var(--space-3); }
  .step h3 { grid-column: 1 / -1; }
  .step p { grid-column: 1 / span 10; padding-top: var(--space-4); }

  .principle .num { grid-column: 1 / -1; margin-bottom: var(--space-3); }
  .principle h3 { grid-column: 1 / -1; }
  .principle p { grid-column: 1 / span 10; margin-top: var(--space-4); }

  .stats { grid-template-columns: repeat(2, 1fr); row-gap: var(--space-7); }

  .c-4, .c-5, .c-6, .c-7, .c-8 { grid-column: span 6; }
  .art-grid { grid-template-columns: repeat(2, 1fr); }
  .featured-art .media, .featured-art__text { grid-column: 1 / -1; }

  .page-hero__row .lead, .page-hero__row .btn-row { grid-column: 1 / -1; justify-content: flex-start; }
  .about-split .sticky, .about-split .prose { grid-column: 1 / -1; position: static; }
  .about-split .prose { margin-top: var(--space-6); }
  .big-statement .num, .big-statement p { grid-column: 1 / -1; }
  .big-statement .num { margin-bottom: var(--space-4); }

  .svc-detail__head, .svc-detail__aside { grid-column: 1 / -1; }
  .svc-detail__aside { margin-top: var(--space-6); }

  .toc, .prose-article { grid-column: 1 / -1; }
  .toc { position: sticky; top: calc(var(--header-h) - 2px); z-index: 20; background: var(--white); margin-inline: calc(var(--page-pad) * -1); padding: 12px var(--page-pad); border-bottom: 1px solid var(--light-gray); }
  .toc ol { display: none; }
  .toc__select { display: block; width: 100%; border: 1px solid var(--black); border-radius: var(--radius-sm); padding: 12px 14px; background: var(--white); font-size: 14px; }
  .toc .label { display: none; }
  .article-layout { row-gap: var(--space-6); }

  .contact-left, .contact-right { grid-column: 1 / -1; position: static; }
  .contact-right { margin-top: var(--space-8); }

  .footer-col { grid-column: span 6; }
  .panel { width: 100%; }
}

@media (max-width: 768px) {
  .hero__badge { display: none; }
  .hero__disciplines { grid-template-columns: repeat(2, 1fr); border-top: 0; }
  .disc:last-child { grid-column: 1 / -1; }
  .disc { border-top: 1px solid var(--black); }
  .hero__visual .media { aspect-ratio: 4/3; }
  .chip { min-width: 0; padding: 8px 12px; } .chip b { font-size: 22px; }
  .svc-row__body, .step p, .principle p, .statement-block__aside .lead { grid-column: 1 / -1; }
  .c-4, .c-5, .c-6, .c-7, .c-8 { grid-column: 1 / -1; }
  .work-grid { row-gap: var(--space-8); }
  .art-grid { grid-template-columns: 1fr; }
  .panel__grid { grid-template-columns: 1fr; }
  .form__row { grid-template-columns: 1fr; }
  .article-nav { grid-template-columns: 1fr; }
  .article-nav a + a { border-left: 0; border-top: 1px solid var(--black); text-align: left; }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .toolbar { align-items: stretch; }
}

@media (max-width: 640px) {
  :root { --fs-body: 16px; }
  .display { font-size: clamp(52px, 15vw, 90px); }
  .page-hero .display { font-size: clamp(44px, 13vw, 80px); }
  .logo { font-size: 24px; }
  .btn { padding: 15px 22px; }
  .btn-row .btn { flex: 1 1 auto; justify-content: space-between; }
  .hero__top .label:last-child { display: none; }
  .hero__spark { display: none; }
  .stats { grid-template-columns: 1fr; }
  .footer-col { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; }
  .cta__orbit { opacity: .5; width: 180px; }
  .toolbar .search { min-width: 100%; }
  .filters { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--page-pad) * -1); padding-inline: var(--page-pad); scrollbar-width: none; }
  .filters::-webkit-scrollbar { display: none; }
  .filter-btn { flex: none; }
  .pagination { flex-wrap: wrap; }
  .team-grid { grid-template-columns: 1fr; }
  .contact-info a, .contact-info span { font-size: 18px; }
}

@media (max-width: 400px) {
  .hero__disciplines { grid-template-columns: 1fr 1fr; }
  .menu-overlay li a { font-size: clamp(36px, 12vw, 56px); }
  .chip--a { display: none; }
}

@media print { .site-header, .menu-overlay, .marquee { display: none; } }
