@media (max-width: 480px) {
  html {
    scroll-behavior: smooth;
  }
  body.no-scroll {
    overflow: hidden;
  }

  section {
    padding: var(--section-padding-mobile) 0.5rem;
  }

  .navbar {
    padding: 1rem 0.5rem;
  }

  .nav-links {
    display: none;
  }
  .nav-toggle {
    display: block;
  }

  .hero {
    padding: var(--space-md) 0.5rem;
  }
  .hero-text {
    text-align: center;
  }
  .hero-text h1 {
    font-size: var(--font-xl);
  }
  .hero-text h1 span {
    font-size: var(--font-xl);
  }
  .hero-visual img {
    max-width: 280px;
  }
  .hero-bottom {
    gap: var(--space-lg);
  }
  .tech-stack ul {
    justify-content: center;
  }
  .tech-stack li {
    width: 80px;
    height: 80px;
  }
  .tech-stack li img {
    width: 24px;
    height: 24px;
  }

  .work-image img {
    width: 60%;
    height: 60%;
  }

  .btn {
    width: 100%;
    text-align: center;
  }

  .contact {
    padding: var(--section-padding-mobile) 0;
  }

  .about {
    padding: var(--section-padding-mobile) 0;
  }
  .about-image img {
    width: 100%;
    height: 360px;
  }
  .about-text {
    padding: 0 var(--space-sm);
  }

  .about-quote p {
    font-size: var(--font-sm);
    padding: var(--space-xs) var(--space-md);
  }

  .hobbies {
    padding: var(--section-padding-mobile) 0;
  }

  .hobby-grid {
    grid-template-columns: 1fr;
  }

  .hobby-card img {
    width: 100%;
    max-width: 300px;
    height: 220px;
    margin: 0 auto;
  }

  .hobby-quote p {
    font-size: var(--font-sm);
    padding: var(--space-xs) var(--space-md);
  }
  #backToTop {
    position: fixed;
    bottom: 4.5rem;
    right: 0.8rem;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
    z-index: 1000;
  }
}
