/* Corrections verified against the rendered Framer components. */
/* The long testimonial role must wrap at every breakpoint. */
.framer-MKVMs .framer-15qixwi { min-width: 0; }
.framer-MKVMs .framer-e74i7y,
.framer-MKVMs .framer-13jrusx { width: 100%; min-width: 0; white-space: normal; }
.framer-MKVMs .framer-13jrusx .framer-text { white-space: normal; overflow-wrap: anywhere; }

@media (max-width: 809.98px) {
  /* Let the project heading wrap while retaining its navigation button. */
  .framer-pP5Z0 .framer-qow4ck { gap: 16px; }
  .framer-pP5Z0 .framer-zqsnlt { flex: 1 1 0 !important; min-width: 0; width: 0 !important; white-space: normal !important; }
  .framer-pP5Z0 .framer-1as7loo-container { flex-shrink: 0; }
  .framer-Ly7Id .framer-1jic7ed { flex-wrap: wrap !important; row-gap: 8px; }

  /* Fit job titles, companies and periods inside narrow experience cards. */
  .framer-KhHHA .framer-PPIkm .framer-1fu4trl { min-width: 0; width: 100%; }
  .framer-KhHHA .framer-PPIkm .framer-s7fa4j { flex-wrap: wrap; gap: 8px 16px; }
  .framer-KhHHA .framer-PPIkm .framer-3v9bir { flex: 1 1 150px; min-width: 0; white-space: normal; }
  .framer-KhHHA .framer-PPIkm .framer-u63wib { flex: 0 0 auto; min-width: 0; }

  [data-framer-name="Credit"] > div { max-width: 100%; min-width: 0; }
  [data-framer-name="Credit"] .framer-7pq7sq { width: 100% !important; flex: none; justify-content: flex-start; }
  [data-framer-name="Credit"] .framer-1vfh4d,
  [data-framer-name="Credit"] .framer-10x1jhl { width: 100% !important; white-space: normal; }
  [data-framer-name="Credit"] .framer-text { white-space: normal; overflow-wrap: anywhere; }

  /* Touch targets and short screens, including landscape phones. */
  nav.framer-1Inis { max-height: 100dvh; overflow-y: auto !important; }
  nav .framer-o65npq-container { width: 44px !important; height: 44px !important; padding: 10px; margin: -10px; box-sizing: border-box; }
  nav .framer-1qm8ovj > a { min-height: 44px; display: flex; align-items: center; }
  .fws-fab { width: 48px !important; height: 48px !important; right: max(16px, env(safe-area-inset-right)) !important; bottom: max(16px, env(safe-area-inset-bottom)) !important; }
}
