#hero {
  position: relative;
  background:
    radial-gradient(circle at top left, rgba(34, 211, 238, 0.24), transparent 30%),
    radial-gradient(circle at right center, rgba(255, 255, 255, 0.12), transparent 28%),
    linear-gradient(135deg, #0f172a 0%, #164e63 45%, #0f766e 100%);
}

#hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9), transparent);
  pointer-events: none;
}

.hero-logo-shell {
  transform: rotate(-3deg);
}

.hero-logo-frame {
  transform: rotate(3deg);
}

.tab-btn {
  background-color: #e2e8f0;
  color: #334155;
  transition: all 0.2s ease;
}

.tab-btn:hover {
  background-color: #cbd5e1;
}

.tab-btn.active {
  background: linear-gradient(135deg, #0f172a 0%, #155e75 100%);
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.16);
}

.portfolio-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.portfolio-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 40px rgba(15, 23, 42, 0.12);
}

#contact {
  scroll-margin-top: 24px;
}

@media (max-width: 1024px) {
  .hero-logo-shell,
  .hero-logo-frame {
    transform: none;
  }
}

@media (max-width: 768px) {
  #hero {
    text-align: center;
  }

  .hero-logo-shell {
    max-width: 360px;
    margin: 0 auto;
  }
}
