.skip-link {
  position: absolute;
  z-index: 1100;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  transform: translateY(-150%);
  border-radius: 8px;
  background: var(--bg-dark);
  color: #fff;
}

.skip-link:focus { transform: translateY(0); }

.hero2-title { max-width: 700px; }
.hero2-desc { max-width: 590px; }
.hero2-photo { object-position: center 20%; }
.hero2-card-float #hero-rotating-label { transition: opacity .18s ease, transform .18s ease; }
.hero2-card-float #hero-rotating-label.is-changing { opacity: 0; transform: translateY(4px); }
.contact2-link > span:last-child { min-width: 0; }
.contact2-link-text, .contact2-link-sub { display: block; overflow-wrap: anywhere; }
.contact2-link-icon { flex: 0 0 40px; }
.contact2-form .form2-submit { cursor: pointer; }
.contact2-form .form2-submit:disabled { opacity: .65; cursor: wait; transform: none; }
.contact-status { min-height: 1.5em; margin-top: 12px; color: var(--text-muted); font-size: .82rem; }
.contact-status:empty { display: none; }
.contact-status.is-error { color: #b42345; }
.contact-status.is-success { color: #087c65; }
.formation-heading, .languages-block h3 { margin-bottom: 16px; color: var(--text-muted); font-size: .9rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.about2-info-item a:hover { color: var(--accent); }
.project2-overlay { pointer-events: none; }
.project2-overlay a { pointer-events: auto; }
.section2-header { scroll-margin-top: calc(var(--header-h) + 16px); }

@media (max-width: 980px) and (min-width: 769px) {
  .nav2 { display: none; position: fixed; top: var(--header-h); right: 0; left: 0; padding: 16px 6%; border-bottom: 1px solid var(--border); background: var(--bg-card); }
  .nav2.open { display: block; }
  .nav2 ul { flex-direction: column; gap: 4px; }
  .nav2 a { display: block; padding: 10px 14px; }
  .hamburger2 { display: flex; }
  #header2 .header2-cta .btn-primary2 { display: none; }
}

@media (max-width: 680px) {
  .projects2-grid { grid-template-columns: minmax(0, 1fr); }
  .hero2-title { font-size: clamp(2.05rem, 8.6vw, 3rem); overflow-wrap: anywhere; }
  .hero2-badge { max-width: 100%; font-size: .68rem; }
  .hero2-stats { flex-wrap: wrap; }
  .hero2-stats .stat2 { min-width: 82px; }
  .exp2-item { gap: 14px; }
  .exp2-card { min-width: 0; padding: 17px; }
  .exp2-top { flex-wrap: wrap; }
  .formation2-item { flex-direction: column; gap: 9px; }
  .contact2-form { min-width: 0; padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .fade-up { opacity: 1; transform: none; }
}
