.nav-inner { gap: 1rem; }
.nav-logo, .nav-logo-mark { min-width: 0; }
.nav-right { flex-shrink: 0; }
.nav-links button, .btn-nav-cta { white-space: nowrap; }
.mobile-menu { overflow-y: auto; overscroll-behavior: contain; }
.contact-item > div:last-child { min-width: 0; }
.contact-item-value a, .footer-col a { overflow-wrap: anywhere; }
.testimonial-card { flex: 0 0 calc(100% / 3 - 1rem); }
.modal-box { max-height: min(90vh, 90dvh); }
.modal-close { flex-shrink: 0; }

@media (hover: none), (pointer: coarse) {
  .portfolio-overlay { opacity: 1; }
  .service-card .learn-more { opacity: 1; transform: none; }
}

@media (max-width: 940px) {
  .nav-inner { padding-inline: clamp(1rem, 4vw, 2rem); }
  .nav-links, .btn-nav-cta { display: none; }
  .hamburger { display: flex; justify-content: center; align-items: center; }
  .hamburger, .lang-toggle, .mobile-menu button { min-height: 44px; }
  .hamburger { min-width: 44px; }
  .mobile-menu { gap: .35rem; padding: 1rem clamp(1rem, 5vw, 2rem); }
  .mobile-menu button { padding-inline: .75rem; }
  .portfolio-overlay { opacity: 1; }
}

@media (min-width: 941px) {
  .mobile-menu.open { display: none; }
}

@media (max-width: 900px) {
  .hero-main { gap: 1.75rem; }
  .hero-main > *, .contact-layout > *, .footer-inner > * { min-width: 0; }
  .service-detail-inner, .about-mission, .contact-layout { gap: 2rem; }
  .testimonial-card { flex-basis: calc(50% - 1rem); }
  .page-hero { padding-block: 7rem 3rem; }
  .contact-layout, .about-mission, .service-detail { padding-block: 3rem; }
}

@media (max-width: 599px) {
  .nav-right { gap: .35rem; }
  .hero { min-height: auto; }
  .hero h1 { font-size: clamp(1.9rem, 8vw, 2.6rem); line-height: 1.2; }
  .hero-main { padding-block: 1.5rem 1rem; }
  .hero-right { height: clamp(235px, 65vw, 340px); }
  .orbit-ring { width: min(62vw, 230px); height: min(62vw, 230px); }
  .orbit-ring-2 { width: min(77vw, 300px); height: min(77vw, 300px); }
  .card-insta { top: .5rem; }
  .hero-proof, .stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
  .hero-proof { margin-top: 1.75rem; padding-top: 1.25rem; }
  .hero-divider { display: none; }
  .hero-ctas { margin-top: 1.5rem; gap: .65rem; }
  .hero-ctas .btn { flex: 1 1 9rem; justify-content: center; }
  .btn { white-space: normal; text-align: center; }
  .cta-section .btn { margin-block: .3rem; }
  .testimonial-card { flex-basis: calc(100% - 1rem); min-width: 0; padding: 1.25rem; }
  .process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem .5rem; }
  .step { padding-inline: .3rem; }
  .about-visual { padding: 1rem; gap: .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-val { padding: .75rem .35rem; }
  .form-card, .modal-body, .modal-header { padding: 1rem; }
  .modal-header { gap: .75rem; }
  .modal-close, .slider-btn { min-width: 44px; min-height: 44px; }
  .modal-actions > button { flex: 1 1 auto; justify-content: center; }
  .contract-fg input, .contract-fg select, .contract-fg textarea,
  .form-group input, .form-group select, .form-group textarea { font-size: 1rem; }
  .footer-inner { gap: 1.65rem; }
}
