/* Final mobile overrides: loaded after all component styles. */
@media (max-width: 760px) {
  html { font-size: 15px; }

  .container { width: calc(100% - 32px); }
  .section { padding: 68px 0; }

  body.menu-open { overflow: hidden; overscroll-behavior: none; }
  .nav { height: 64px; position: relative; z-index: 101; }
  .brand, .nav__toggle { position: relative; z-index: 102; }
  .nav__menu { position: fixed; top: 0; right: 0; bottom: auto; left: 0; z-index: 100; width: 100vw; height: 100dvh; padding: 100px 32px 32px; overflow: hidden; background: #0d1512; align-items: flex-start; justify-content: flex-start; }
  .nav__list { width: 100%; }
  .nav__link { display: block; padding: 7px 0; }
  .nav__contact { margin-top: auto; }

  .hero { padding-top: 102px; gap: 28px; }
  .hero__copy { order: 1; }
  .hero__visual { height: 330px; order: 0; }
  .hero__image-wrap { width: 220px; height: 290px; }
  .orbit--one { width: 290px; height: 290px; }
  .orbit--two { width: 340px; height: 190px; }
  .floating-card { font-size: .62rem; padding: 8px 10px; }
  .hero__footer { width: 100%; padding: 12px 0 4px; }
  .scroll-line { width: 42px; }
  .hero__socials { margin-left: auto; }

  .section-heading { margin-bottom: 28px; }
  .section-heading h2, .about__content h2 { font-size: clamp(2.25rem, 11vw, 3.25rem); }
  .section-heading > p { max-width: none; }
  .about__grid { gap: 18px; }
  .about__content > p { margin: 20px 0 25px; font-size: .96rem; }
  .stats { justify-content: space-between; }
  .stats div { min-width: 0; margin-right: 0; padding-right: 13px; }
  .stats div:last-child { padding-right: 0; }
  .stats strong { font-size: 1.45rem; }
  .stats span { display: block; font-size: .61rem; }

  .expertise__grid { gap: 10px; }
  .expertise-card { min-height: 270px; padding: 24px; }
  .expertise-card h3 { margin-top: 55px; }
  .tags { left: 24px; right: 24px; bottom: 22px; }

  .projects { grid-template-columns: 1fr; gap: 12px; }
  .project, .project--large { grid-column: auto; height: 245px; }
  .project__overlay { padding: 18px; }
  .project__overlay h3 { font-size: 1.35rem; }

  .certificate-filters { display: flex; flex-wrap: wrap; overflow: visible; margin: -5px 0 24px; padding: 0; }
  .certificate-filter { width: auto; max-width: 100%; min-height: 42px; padding: 8px 11px; white-space: normal; }
  .certificate-grid { grid-template-columns: 1fr; gap: 12px; }
  .certificate-card { display: grid; grid-template-columns: 42% 1fr; align-items: stretch; }
  .certificate-card img { height: 100%; min-height: 145px; aspect-ratio: auto; }
  .certificate-card div { padding: 15px; }

  .certificate-modal { width: calc(100% - 24px); max-height: calc(100dvh - 24px); }
  .certificate-modal__content { display: block; }
  .certificate-modal__content img { width: 100%; max-height: 62dvh; }
  .certificate-modal__content > div { padding: 18px; }
  .certificate-modal__content h3 { font-size: 1.3rem; }
  .certificate-modal__close { width: 34px; height: 34px; }

  .contact { padding: 68px 0; }
  .contact__panel { padding: 42px 24px; }
  .contact__panel h2 { font-size: clamp(2.35rem, 11vw, 3.4rem); }
  .contact__actions { align-items: stretch; }
  .contact__actions .button { justify-content: center; width: 100%; }
  .footer { padding: 25px 0 30px; }
}

@media (max-width: 390px) {
  .container { width: calc(100% - 24px); }
  .hero__visual { height: 290px; }
  .hero__image-wrap { width: 190px; height: 255px; }
  .stats { gap: 8px; }
  .stats div { padding-right: 8px; }
  .certificate-card { grid-template-columns: 1fr; }
  .certificate-card img { height: auto; min-height: 0; aspect-ratio: 1.45; }
}
