/* Custom styles for Lucas J portfolio */
:root {
  --brand-gradient: radial-gradient(1200px 600px at 10% -10%, rgba(100, 108, 255,.25), transparent),
                    radial-gradient(800px 400px at 90% 10%, rgba(0, 200, 200,.18), transparent),
                    radial-gradient(600px 300px at 50% 120%, rgba(250, 180, 20,.18), transparent);
}

html, body {
  scroll-behavior: smooth;
}

.glassy {
  backdrop-filter: blur(10px);
  background: rgba(33, 37, 41, 0.6)!important;
}

.hero-gradient {
  background-image: var(--brand-gradient);
}

.blob {
  position: absolute;
  filter: blur(60px);
  opacity: .25;
  z-index: 0;
}
.blob-1 { width: 40vmax; height: 40vmax; background: #635bff; top: -10vmax; left: -10vmax; border-radius: 50%; }
.blob-2 { width: 32vmax; height: 32vmax; background: #00d4ff; bottom: -16vmax; right: -10vmax; border-radius: 50%; }

.hover-float { transition: transform .4s ease, box-shadow .4s ease; }
.hover-float:hover { transform: translateY(-6px); }
.hover-float.delay-1 { transition-delay: .05s; }
.hover-float.delay-2 { transition-delay: .1s; }
.hover-float.delay-3 { transition-delay: .15s; }

.hover-rise { transition: transform .25s ease, box-shadow .25s ease; }
.hover-rise:hover { transform: translateY(-4px); box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.2)!important; }

.card-img-top { object-fit: cover; height: 220px; }

/* Timeline */
.timeline { position: relative; padding-left: 1.25rem; }
.timeline::before {
  content: ""; position: absolute; left: .4rem; top: .25rem; bottom: .25rem;
  width: 2px; background: rgba(255,255,255,.15);
}
.timeline-item { position: relative; margin-bottom: 1.25rem; }
.timeline-badge {
  position: absolute; left: -.1rem; top: .35rem; width: .8rem; height: .8rem;
  background: var(--bs-primary); border-radius: 50%; box-shadow: 0 0 0 4px rgba(13, 110, 253, .15);
}
.timeline-content { margin-left: 1rem; }

/* Footer */
footer { background: transparent; border-top: 1px solid rgba(255,255,255,.08); }

/* Bootstrap overrides */
.btn { border-radius: 1rem; }
.card, .form-control { border-radius: 1rem; }
.form-control:focus { box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25); }
