@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* ==========================================
   ROOT
========================================== */

:root{
    --bg:#081120;
    --surface:#0f172a;
    --card:#162238;

    --primary:#3b82f6;
    --primary-hover:#2563eb;

    --text:#ffffff;
    --muted:#b8c2cc;

    --radius:4rem;

    --shadow:0 2rem 4rem rgba(0,0,0,.30);

    --transition:.3s ease;
}

/* ==========================================
   GLOBAL
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    background:var(--bg);
    color:var(--text);
    overflow-x:hidden;
}

section{
    padding:7rem 0;
}

.container{
    max-width:72rem;
}

a{
    text-decoration:none;
    transition:var(--transition);
}

img{
    max-width:100%;
    display:block;
}

.btn{
    border-radius:999px;
    padding:.85rem 1.8rem;
    font-weight:600;
    transition:var(--transition);
}

.btn-primary{
    background:var(--primary);
    border:none;
}

.btn-primary:hover{
    background:var(--primary-hover);
    transform:translateY(-2px);
}

.btn-outline-light:hover{
    color:#081120;
    transform:translateY(-2px);
}

/* ==========================================
   NAVBAR
========================================== */

.navbar{
  width:min(92%,75rem);
  margin:1.25rem auto 0;
  left:0;
  right:0;
  padding:.9rem 1.5rem;
  background:rgba(10,18,35,.65);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:1rem;
  box-shadow:0 .75rem 2rem rgba(0,0,0,.25);
}

.navbar-brand{
    font-weight:800;
    letter-spacing:-.04rem;
    font-size:1.2rem;
}

.navbar-brand span{
    color:var(--primary);
}

.navbar-nav{
    gap:1rem;
}

.nav-link{
    color:rgba(255,255,255,.75)!important;
    font-weight:500;
    position:relative;
}

.nav-link:hover{
    color:#fff!important;
}

.nav-link::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-4px;
    width:0;
    height:2px;
    background:var(--primary);
    transition:.3s;
}

.nav-link:hover::after{
    width:100%;
}

/* ==========================================
   HERO
========================================== */

#hero{
    min-height:100vh;
    display:flex;
    align-items:center;
    background:linear-gradient(180deg,#000000,#0b1527);
    position:relative;
    overflow:hidden;
    padding-top:6rem;
    padding-bottom:1rem;
}

#hero .row{
    align-items:center;
}

.hero-tag{
    display:inline-block;
    background:#162238;
    color:#d8e3f2;
    padding:.65rem 1.2rem;
    border-radius:999px;
    font-size:.9rem;
    margin-bottom:1.5rem;
}

.hero-title{
    font-size:clamp(3rem,6vw,4.8rem);
    font-weight:800;
    line-height:1.05;
    letter-spacing:-.08rem;
    margin-bottom:1.5rem;
}

.hero-desc{
    max-width:36rem;
    color:var(--muted);
    line-height:1.9;
    font-size:1.08rem;
    margin-bottom:2.5rem;
}

.hero-buttons{
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
}

.hero-image{
    width:min(100%,20rem);
    margin-inline:auto;
    margin-bottom: 2rem;
    border-radius:var(--radius);
        /* box-shadow:
        0 1rem 4rem rgba(0,0,0,.35),
        0 0 4rem #0037ada3,
        0 0 7rem #0d0169aa; */
    transition:.35s ease;
}
/* .hero-image:hover{
    transform:translateY(-8px);
        box-shadow:
        0 1rem 4rem rgba(0,0,0,.35),
        0 0 6rem #0134a3dc,
        0 0 10rem #090147dd;
} */

#hero::before{
    content:"";
    position:absolute;
    width:28rem;
    height:28rem;
    background:#071af1;
    filter:blur(10rem);
    opacity:.18;
    top:-8rem;
    right:-8rem;
}

/* #hero::after{
    content:"";
    position:absolute;
    width:22rem;
    height:22rem;
    background:#7c3aed;
    filter:blur(9rem);
    opacity:.12;
    bottom:-6rem;
    left:-6rem;
} */

/* ==========================================
   ABOUT
========================================== */

#about{
    background:linear-gradient(180deg,
        #0b1527 0%,
        #0d1830 15%,
        #05080f 60%,
        #000000 100%);
}

#about .row{
    align-items:center;
    row-gap:4rem;
}

.section-title{
    font-size:clamp(2.2rem,5vw,3rem);
    font-weight:800;
    margin-bottom:2rem;
    letter-spacing:-.04rem;
}

.about-text{
    color:var(--muted);
    line-height:1.95;
    max-width:42rem;
    margin-bottom:2.25rem;
}

.about-image{
    width:min(100%,20rem);
    margin-inline:auto;
    border-radius:var(--radius);
    position:relative;
    z-index:2;
    box-shadow:
        0 1rem 4rem rgba(0,0,0,.35),
        0 0 4rem rgba(255,110,40,.18),
        0 0 7rem rgba(255,120,60,.10);
    transition:var(--transition);
}

.about-image:hover{
        transform:translateY(-.5rem);
    box-shadow:
        0 1rem 4rem rgba(0,0,0,.40),
        0 0 6rem rgba(255,110,40,.28),
        0 0 10rem rgba(255,140,70,.18);
}



/* ==========================================
   EXPERIENCE
========================================== */
#experience{
    background:linear-gradient(180deg,
        #000000 0%,
        #03060c 50%,
        #081120 85%,
        #0b1527 100%);
}

.section-subtitle{
max-width:42rem;
margin:1rem auto 4rem;
color:var(--muted);
line-height:1.9;
}

.experience-wrapper{
display:flex;
flex-direction:column;
gap:2rem;
}

.experience-card{
background:rgba(22,34,56,.65);
border:0.0625rem solid rgba(255,255,255,.08);
border-radius:1.75rem;
padding:2rem;
backdrop-filter:blur(1rem);
transition:var(--transition);
box-shadow:0 1rem 3rem rgba(0,0,0,.18);
}

.experience-card:hover{
transform:translateY(-.5rem);
border-color:rgba(59,130,246,.35);
box-shadow:
0 1.5rem 3rem rgba(0,0,0,.30),
0 0 3rem rgba(59,130,246,.18);
}

.experience-header{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:2rem;
margin-bottom:1.5rem;
}

.experience-year{
display:inline-block;
color:#60a5fa;
font-size:.95rem;
font-weight:700;
margin-bottom:.75rem;
}

.experience-card h3{
font-size:1.75rem;
font-weight:700;
margin-bottom:.4rem;
}

.experience-card h5{
color:#dbeafe;
font-size:1.05rem;
font-weight:600;
margin-bottom:0;
}

.experience-card p{
margin:1.5rem 0;
color:var(--muted);
line-height:1.9;
}

.experience-logo{
height:4rem;
width:auto;
object-fit:contain;
filter:brightness(1);
transition:var(--transition);
border-radius: 1rem;
}

.experience-card:hover .experience-logo{
transform:scale(1.08);
}

.experience-tags{
display:flex;
flex-wrap:wrap;
gap:.75rem;
}

.experience-tags span{
padding:.65rem 1rem;
border-radius:999rem;
background:var(--card);
font-size:.875rem;
color:#dbeafe;
transition:var(--transition);
}

.experience-card:hover .experience-tags span{
background:#1f3a63;
}

@media(max-width:768px){

.experience-header{
flex-direction:column;
}

.experience-logo{
height:3rem;
}
}

/* ==========================================
   EDUCATION
========================================== */

#education{
    background:linear-gradient(
        180deg,
        #0b1527 0%,
        #0d1830 15%,
        #05080f 80%,
        #000000 100%
    );
}

.education-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:2rem;
margin-top:4rem;
}

.education-card{
background:rgba(22,34,56,.65);
border:.0625rem solid rgba(255,255,255,.08);
border-radius:1.75rem;
padding:2rem;
backdrop-filter:blur(1rem);
box-shadow:0 1rem 3rem rgba(0,0,0,.18);
transition:var(--transition);
display:flex;
flex-direction:column;
height:100%;
}

.education-card:hover{
transform:translateY(-.5rem);
border-color:rgba(59,130,246,.35);
box-shadow:
0 1.5rem 3rem rgba(0,0,0,.30),
0 0 3rem rgba(59,130,246,.18);
}

.education-header{
display:flex;
align-items:center;
gap:1rem;
margin-bottom:1.75rem;
}

.education-logo{
width:4rem;
height:4rem;
padding:.5rem;
background:#fff;
border-radius:1rem;
object-fit:contain;
flex-shrink:0;
}

.education-header h5{
margin:0;
font-size:1.15rem;
font-weight:700;
color:#fff;
}

.education-year{
display:block;
margin-top:.25rem;
font-size:.9rem;
font-weight:600;
color:#60a5fa;
}

.education-card h3{
font-size:1.6rem;
font-weight:700;
margin-bottom:1.25rem;
}

.education-card p{
color:var(--muted);
line-height:1.9;
margin-bottom:2rem;
flex-grow:1;
}

.education-tags{
display:flex;
flex-wrap:wrap;
gap:.75rem;
}

.education-tags span{
padding:.65rem 1rem;
background:var(--card);
border-radius:999rem;
font-size:.875rem;
color:#dbeafe;
transition:var(--transition);
}

.education-card:hover .education-tags span{
background:#1f3a63;
}

/* ==========================================
   PROJECTS
========================================== */

#projects{
    background:linear-gradient(180deg,
        #000000 0%,
        #03060c 50%,
        #081120 70%,
        #0b1527 100%);
}

.project-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2rem;
    margin-top:4rem;
}

.project-card{
    display:flex;
    flex-direction:column;
    background:rgba(22,34,56,.65);
    border:.0625rem solid rgba(255,255,255,.08);
    border-radius:1.75rem;
    overflow:hidden;
    backdrop-filter:blur(1rem);
    transition:var(--transition);
    box-shadow:0 1rem 3rem rgba(0,0,0,.18);
    height:100%;
}

.project-card:hover{
    transform:translateY(-.5rem);
    border-color:rgba(59,130,246,.35);
    box-shadow:
    0 1.5rem 3rem rgba(0,0,0,.35),
    0 0 3rem rgba(59,130,246,.18);
}

.project-carousel{
    position:relative;
    overflow:hidden;
}

.project-image{
    width:100%;
    height:16rem;
    object-fit:cover;
    display:block;
}

.project-video{
    position:relative;
    padding-top:56.25%;
    overflow:hidden;
}

.project-video iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:0;
}

.project-content{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:2rem;
}

.project-category{
    display:inline-flex;
    align-self:flex-start;
    padding:.45rem .9rem;
    background:rgba(59,130,246,.15);
    border:.0625rem solid rgba(59,130,246,.35);
    border-radius:999rem;
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.03rem;
    color:#8ec5ff;
    margin-bottom:1rem;
}

.project-content h3{
    font-size:1.55rem;
    font-weight:700;
    line-height:1.3;
    margin-bottom:1rem;
}

.project-content p{
    color:var(--muted);
    line-height:1.9;
    margin-bottom:1.75rem;
}

.project-tags{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:auto;
}

.project-tags span{
    padding:.6rem .95rem;
    background:var(--card);
    border-radius:999rem;
    font-size:.85rem;
    color:#dbeafe;
    transition:var(--transition);
}

.project-card:hover .project-tags span{
    background:#1f3a63;
}

.project-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    margin-top:1.75rem;
}

.project-buttons .btn{
    padding:.75rem 1.4rem;
}

.project-buttons .btn-outline-light{
    border:1px solid rgba(255,255,255,.2);
}

.project-buttons .btn-outline-light:hover{
    background:#fff;
    color:#081120;
}

.project-card:hover .project-image{
    transform:scale(1.03);
    transition:.5s;
}

.carousel-control-prev,
.carousel-control-next{
    width:3rem;
    opacity:0;
    transition:.3s;
}

.project-card:hover .carousel-control-prev,
.project-card:hover .carousel-control-next{
    opacity:1;
}

.carousel-control-prev-icon,
.carousel-control-next-icon{
    background-size:55%;
    background-color:rgba(8,17,32,.65);
    border-radius:50%;
    padding:1.2rem;
    backdrop-filter:blur(.5rem);
}

.project-card:hover .carousel-control-prev-icon,
.project-card:hover .carousel-control-next-icon{
    background-color:rgba(59,130,246,.9);
}

@media(max-width:991px){

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

.project-image{
    height:15rem;
}

}

@media(max-width:576px){

.project-content{
    padding:1.5rem;
}

.project-content h3{
    font-size:1.3rem;
}

.project-buttons{
    flex-direction:column;
}

.project-buttons .btn{
    width:100%;
}

.project-image{
    height:13rem;
}
}

/* ==========================================
   HIGHLIGHTS
========================================== */

#highlights{
background:#0b1527;
}

.highlights-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:2rem;
margin-top:4rem;
}

.highlight-card{
padding:2rem;
background:rgba(22,34,56,.65);
border:.0625rem solid rgba(255,255,255,.08);
border-radius:1.75rem;
backdrop-filter:blur(1rem);
text-align:center;
transition:var(--transition);
box-shadow:0 1rem 3rem rgba(0,0,0,.18);
}

.highlight-card:hover{
transform:translateY(-.5rem);
border-color:rgba(59,130,246,.35);
box-shadow:
0 1.5rem 3rem rgba(0,0,0,.30),
0 0 3rem rgba(59,130,246,.18);
}

.highlight-icon{
font-size:2.5rem;
margin-bottom:1.25rem;
}

.highlight-card h3{
font-size:1.4rem;
font-weight:700;
margin-bottom:.75rem;
}

.highlight-card p{
margin:0;
color:var(--muted);
line-height:1.8;
}

@media(max-width:768px){

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

}

/* ==========================================
   INTERESTS
========================================== */

#interests{
background:linear-gradient(180deg,#0b1527,#081120);
}

.interests-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
gap:1.25rem;
margin-top:4rem;
}

.interest-item{
display:flex;
justify-content:center;
align-items:center;
padding:1.25rem;
background:rgba(22,34,56,.65);
border:.0625rem solid rgba(255,255,255,.08);
border-radius:1.25rem;
backdrop-filter:blur(1rem);
font-weight:600;
font-size:1rem;
color:#eaf2ff;
transition:var(--transition);
box-shadow:0 1rem 2rem rgba(0,0,0,.18);
text-align:center;
}

.interest-item:hover{
transform:translateY(-.35rem);
border-color:rgba(59,130,246,.35);
background:#1c3358;
box-shadow:
0 1.25rem 2.5rem rgba(0,0,0,.28),
0 0 2.5rem rgba(59,130,246,.18);
color:#fff;
}

@media(max-width:576px){

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

}

/* ==========================================
   CONTACT
========================================== */

#contact{
background:linear-gradient(180deg,#081120,#05080f);
}

.contact-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:1.5rem;
margin-top:4rem;
}

.contact-card{
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
padding:2rem;
background:rgba(22,34,56,.65);
border:.0625rem solid rgba(255,255,255,.08);
border-radius:1.75rem;
backdrop-filter:blur(1rem);
transition:var(--transition);
color:var(--text);
box-shadow:0 1rem 3rem rgba(0,0,0,.18);
}

.contact-card:hover{
transform:translateY(-.5rem);
border-color:rgba(59,130,246,.35);
box-shadow:
0 1.5rem 3rem rgba(0,0,0,.3),
0 0 3rem rgba(59,130,246,.18);
color:#fff;
}

.contact-icon{
font-size:2.25rem;
margin-bottom:1rem;
}

.contact-card h4{
font-size:1.2rem;
font-weight:700;
margin-bottom:.5rem;
}

.contact-card p{
color:var(--muted);
margin:0;
line-height:1.7;
}

@media(max-width:991px){

.contact-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:576px){

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

}

/* ==========================================
   FOOTER
========================================== */

footer{
background:#000;
padding:1.25rem 0;
border-top:.0625rem solid rgba(255,255,255,.06);
}

.footer-content{
display:flex;
justify-content:center;
align-items:center;
}

.footer-content p{
margin:0;
font-size:.9rem;
color:#7c8ca5;
}

/* ==========================================
   SCROLLBAR
========================================== */

::-webkit-scrollbar{
    width:.75rem;
}

::-webkit-scrollbar-track{
    background:#081120;
}

::-webkit-scrollbar-thumb{
    background:#1b019d;
    border-radius:999px;
}

::-webkit-scrollbar-thumb:hover{
    background:#1100fc;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width:991px){

    section{
        padding:6rem 0;
    }

    #hero{
        text-align:center;
    }

    .hero-title{
        margin-top:1rem;
    }

    .hero-desc{
        margin-inline:auto;
    }

    .hero-buttons{
        justify-content:center;
        margin-bottom:3rem;
    }

    .hero-image{
        width:min(100%,18rem);
    }

    #about{
        text-align:center;
    }

    .about-text{
        margin-inline:auto;
    }

    .about-image{
        width:min(100%,18rem);
    }
    .education-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:576px){

    .navbar{
        padding:.75rem 0;
    }

    .hero-title{
        font-size:2.5rem;
    }

    .hero-desc{
        font-size:1rem;
    }

    .section-title{
        font-size:2rem;
    }

    .btn{
        width:100%;
    }

    .hero-buttons{
        flex-direction:column;
    }
}