/* v22: compact phone compositions only. Published v21 desktop rules remain intact. */
@media (max-width: 650px) {
  .home-v21 .zc-section { margin-top: 40px; }
  .home-v21 .zc-eyebrow { margin-bottom: 12px; }
  .home-v21 .zc-hero { display: flex; align-items: flex-end; aspect-ratio: auto; min-height: calc(125vw - 50px); }
  .home-v21 .zc-hero-copy { position: relative; left: auto; right: auto; bottom: auto; width: 100%; padding: 24px; }
  .home-v21 .zc-philosophy { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px 20px; margin-top: 32px; align-items: start; }
  .home-v21 .zc-philosophy-copy { display: contents; }
  .home-v21 .zc-philosophy-copy > .zc-eyebrow { grid-column: 1; grid-row: 1; margin: 0; align-self: end; }
  .home-v21 .zc-philosophy-copy h2 { grid-column: 1; grid-row: 2; margin: 0; align-self: start; }
  .home-v21 .zc-philosophy-copy > p:nth-of-type(2) { grid-column: 1 / -1; grid-row: 3; margin: 0; }
  .home-v21 .zc-philosophy-copy > p:nth-of-type(3) { display: none; }
  .home-v21 .zc-philosophy-copy > .zc-text-link { grid-column: 1 / -1; grid-row: 4; justify-self: start; margin: 0; }
  .home-v21 .zc-philosophy-images { grid-column: 2; grid-row: 1 / span 2; padding: 0; }
  .home-v21 .zc-philosophy-main { display: none; }
  .home-v21 .zc-philosophy-detail { position: static; width: 100%; padding: 0; }
  .home-v21 .zc-philosophy-images figcaption { display: none; }
  .home-v21 .zc-section-heading { margin-bottom: 20px; }
  .home-v21 .zc-section-heading .zc-text-link { margin-top: 8px; }
  .home-v21 .zc-project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .home-v21 .zc-project-grid > .home-project:nth-child(n) { grid-column: auto; width: auto; margin: 0; }
  .home-v21 .zc-project-grid > .home-project:nth-child(3) { grid-column: 1 / -1; }
  .home-v21 .zc-project-grid > .home-project:nth-child(4) { display: none; }
  .home-v21 .zc-project-caption { padding-top: 12px; }
  .home-v21 .zc-project-caption h3 { font-size: 20px; line-height: 24px; }
  .home-v21 .zc-project-caption p { display: none; }
  .home-v21 .zc-project-action { gap: 12px; }
  .home-v21 .zc-services .zc-eyebrow, .home-v21 .zc-services .zc-section-note, .home-v21 .zc-service-grid p { display: none; }
  .home-v21 .zc-services .zc-section-heading { margin-bottom: 16px; }
  .home-v21 .zc-service-grid { gap: 0; padding-top: 0; }
  .home-v21 .zc-service-grid > div, .home-v21 .zc-service-grid > div + div { padding: 14px 0; }
  .home-v21 .zc-service-grid h3 { margin: 0; font-size: 20px; line-height: 26px; }
  .home-v21 .zc-founder { grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr); gap: 12px 18px; align-items: start; }
  .home-v21 .zc-founder-portrait { grid-column: 1; grid-row: 1 / span 3; align-self: center; }
  .home-v21 .zc-founder-copy { display: contents; }
  .home-v21 .zc-founder-copy > .zc-eyebrow { grid-column: 2; grid-row: 1; margin: 0; }
  .home-v21 .zc-founder-copy h2 { grid-column: 2; grid-row: 2; margin: 0; font-size: 24px; line-height: 29px; }
  .home-v21 .zc-founder-copy > .zc-founder-role { grid-column: 2; grid-row: 3; margin: 0; font-size: 0.9rem; }
  .home-v21 .zc-founder-copy > p:nth-of-type(3) { grid-column: 1 / -1; grid-row: 4; margin: 4px 0 0; }
  .home-v21 .zc-founder-copy > p:nth-of-type(4) { display: none; }
  .home-v21 .zc-founder-copy > .zc-text-link { grid-column: 1 / -1; grid-row: 5; justify-self: start; margin: 0; }
  .home-v21 .zc-press-grid { gap: 12px; }
  .home-v21 .zc-press-item h3 { margin-top: 12px; }
  .home-v21 .zc-contact { aspect-ratio: auto; min-height: 0; overflow: visible; background: transparent; color: #111; }
  .home-v21 .zc-contact::after, .home-v21 .zc-contact-image, .home-v21 .zc-contact .zc-eyebrow, .home-v21 .zc-contact + .zc-image-credit { display: none; }
  .home-v21 .zc-contact-copy { position: static; }
  .home-v21 .zc-contact-copy h2 { max-width: none; margin-bottom: 12px; }
  .home-v21 .zc-contact-details { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin-top: 20px; }
  .home-v21 .zc-contact-details > p:last-child { grid-column: 1 / -1; }
  .home-v21 .zc-home-footer { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 32px; padding-top: 20px; }
  .home-v21 .zc-home-footer .zc-footer-brand { display: none; }
  .home-v21 .zc-home-footer nav { width: 100%; }
  .home-v21 .zc-home-footer > a:last-child { margin-left: auto; }
  /* Hide font glyphs on phones; draw neutral arrows with currentColor lines. */
  .home-v21 .zc-arrow { position: relative; display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; }
  .home-v21 .zc-arrow > .zc-arrow-text { display: none; }
  .home-v21 .zc-arrow::before { content: ""; position: absolute; left: 0; top: 5.5px; width: 12px; height: 1px; background: currentColor; transform: rotate(-45deg); }
  .home-v21 .zc-arrow::after { content: ""; position: absolute; right: 1px; top: 1px; width: 5px; height: 5px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; }
  .home-v21 .zc-arrow-up { transform: rotate(-45deg); }
}
