footer { flex-wrap: wrap; row-gap: 18px; padding-top: 28px; padding-bottom: 28px; }
footer .footer-languages { display: flex; width: 100%; gap: 22px; justify-content: flex-start; font-size: 12px; }
.footer-languages a { padding: 8px 0; }
.footer-languages [aria-current='page'] { color: var(--green); }
@media (max-width: 680px) {
  body { font-size: 16px; }
  .hero-copy > p { font-size: 17px; line-height: 1.7; }
  .section-heading p, .service-grid p, .project-info p,
  .integration-grid p, .profile-panel .intro, .steps p, .contact p { font-size: 16px; line-height: 1.75; }
  .button { font-size: 15px; min-height: 54px; padding: 17px 20px; }
  .hero-tags { font-size: 10px; line-height: 1.7; gap: 10px; }
  .hero-meta { font-size: 10px; letter-spacing: .6px; }
  .hero-bottom { font-size: 10px; line-height: 1.8; gap: 18px; }
  .section-kicker, .section-kicker > span + span { font-size: 10px; line-height: 1.7; letter-spacing: .4px; }
  .card-top { font-size: 12px; }
  .card-foot { font-size: 11px; letter-spacing: .3px; line-height: 1.7; }
  .expertise-label, .technology-strip > span { font-size: 11px; line-height: 1.7; }
  .technology-strip p { font-size: 13px; }
  .integration-grid h4, .steps h3 { font-size: 20px; }
  .project-meta, .project-tags, .history-heading > span, .history-num { font-size: 11px; }
  .project-tags { line-height: 1.6; }
  .history-heading { flex-wrap: wrap; }
  .history-row h3 { font-size: 18px; line-height: 1.45; }
  .history-row p { font-size: 13px; line-height: 1.65; }
  .text-link { font-size: 15px; line-height: 1.6; min-height: 44px; gap: 20px; }
  .review-top { font-size: 11px; }
  .review-source, .reviews-note { font-size: 12px; line-height: 1.8; }
  .review-slide .review-source { min-height: 44px; }
  .review-position { font-size: 12px; }
  .review-arrows button { width: 44px; height: 44px; }
  .review-dot { padding: 10px 8px; min-height: 44px; }
  .review-controls { column-gap: 12px; row-gap: 14px; }
  .steps > div > span { font-size: 11px; }
  .profile-portrait strong { font-size: 17px; }
  .profile-portrait figcaption > span { font-size: 12px; }
  form label { font-size: 14px; line-height: 1.5; }
  form input, form textarea { font-size: 16px; line-height: 1.6; }
  .contact .form-note { font-size: 13px; line-height: 1.7; }
  .terminal-note { font-size: 12px; }
  .language-picker select { font-size: 13px; min-height: 44px; max-width: 135px; }
  .header .language-symbol { display: none; }
  footer { font-size: 12px; line-height: 1.7; }
  footer > a:not(.logo) { min-height: 44px; display: flex; align-items: center; }
  footer > a:last-child { justify-content: flex-end; }
  footer .footer-languages { font-size: 13px; flex-wrap: wrap; gap: 8px 20px; }
  footer .footer-languages a { min-height: 44px; display: inline-flex; align-items: center; }
}
@media (max-width: 360px) {
  .header .language-picker select { max-width: 100px; font-size: 12px; }
  .hero-tags { font-size: 9px; }
  .section-kicker { flex-wrap: wrap; }
  .section-kicker > span + span { text-align: left; }
  .review-dots { order: 3; width: 100%; justify-content: center; }
}
