:root{
  --bs-primary: #06B6D4;
  --bs-primary-rgb: 6, 182, 212;   
  --bs-body-bg: #050607;
  --bs-body-color: #cfe6ea;
}

body {
    color: var(--bs-body-color);
    background: radial-gradient(circle at top right, rgba(6,182,212,0.25), transparent 50%),
                radial-gradient(circle at bottom left, rgba(6,182,212,0.25), transparent 50%),
                #000000;
}

.text-soft {
    color: #c9d3d7 !important; /* soft light gray, not too bright */
}

.title { 
    transition: opacity .2s ease-in-out, transform .2s ease-in-out; 
}


.header-gradient {
  background: rgba(15,15,15,0.55);      /* increase opacity for contrast */
  backdrop-filter: blur(6px) saturate(130%);   /* lower blur for perf */
  -webkit-backdrop-filter: blur(6px) saturate(130%);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.footer-gradient{
    background: linear-gradient(90deg, rgba(6,182,212,0.08) 0%, rgba(0,0,0,0.85) 100%);
    border-top: 1px solid rgba(255,255,255,0.04);
}

.btn-primary{
  background-color: var(--bs-primary) !important;
  border-color: color-mix(in srgb, var(--bs-primary) 80%, black 20%) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px rgba(6,182,212,0.08);
}

/* Outline primary — cyan border, light text on hover */
.btn-outline-primary{
  border-color: var(--bs-primary) !important;
  color: var(--bs-primary) !important;
}
.btn-outline-primary:hover{
  background-color: var(--bs-primary) !important;
  color: #fff !important;
}

.title {
    opacity: 0.8;
    transition: opacity .2s ease-in-out;
}

.title:hover {
    opacity: 1;
}

.hero-img {
  width: 50%;
  will-change: transform;
  border: 2px solid rgba(255,255,255,0.03);
  box-shadow: 0 10px 30px rgba(6,182,212,0.10);
  transition: transform .35s ease, box-shadow .35s ease;
}

.hero-img:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(6,182,212,0.16);
}

.hero * {
    transition: all 0.35s ease-in-out;
}

.dotted-line {
    width: 150px;
    border: none;
    border-bottom: 7px dotted;
    margin: 3rem auto;
}

.skills-section .skill-box {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background-color: rgba(255, 255, 255, 0.05);
}

.skills-section .skill-box:hover {
    transform: translateY(-6px);
    box-shadow: 0 6px 18px rgba(255, 255, 255, 0.15);
}

.project-card {
    box-shadow: 0 8px 24px rgba(6,182,212,0.03);
    border-radius: 15px;
    transition: 0.3s ease;
}

.project-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 40px rgba(6,182,212,0.08);
}

.project-card,
.skills-section .skill-box {
    border: 1px solid rgba(var(--bs-primary-rgb), 0.06) !important;  /* very subtle cyan */
    background: rgba(255,255,255,0.02); /* less bright */
    backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

#contact a.btn {
    border-radius: 10px;
    transition: 0.3s ease;
}

#contact a.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(255, 255, 255, 0.1);
}

@media (min-width: 992px) {
    /* lg and up */
    .hero-img {
        width: 75%;
    }
}