/* ===== Reset & Basics ===== */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

/* ===== Body Text ===== */
body {
    font-family: 'Lato', sans-serif;
    background: url('../assets/images/background.png') no-repeat center center fixed;
    background-size: cover; /* fill screen */
    color: #ffffff;
    line-height: 1.6;
}

/* ===== Main Layout ===== */
main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem; /* remove right padding to avoid shifting content */
}

/* ===== Section Base Styles ===== */
section {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1rem 1rem;
    scroll-margin-top: 100px;
    gap: 3rem;
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.top-rectangle {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 1500;
    pointer-events: none;  /* 👈 ignore clicks */
}

/* ===== Background Floating Balls ===== */
.background-balls {
    position: fixed;
    inset: 0;
    z-index: -2; /* behind everything */
    pointer-events: none;
    overflow: hidden;
}

.bg-ball {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: linear-gradient(135deg, #7b6cff, #4facfe);
    box-shadow: 0 0 20px rgba(123,108,255,0.7);
    opacity: 0.2; /* softer */
    filter: blur(0.5px); /* subtle softness */
}

/* ===== Logo Top Left ===== */
.logo-container {
    position: fixed;       /* stays fixed on scroll */
    top: 20px;             /* distance from top */
    left: 20px;            /* distance from left */
    z-index: 2000;         /* above everything else */
}

.logo {
    width: 60px;          /* adjust size as needed */
    height: auto;          /* maintain aspect ratio */
    cursor: pointer;       /* optional: make clickable */
}

.logo:hover {
    transform: scale(1.05); /* subtle hover effect */
}

.hideAll {
    display: none;
}

.logo-link {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    text-decoration: none;
}

.logo-name {
    font-family: 'Lato', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: white;
    letter-spacing: 1px;
    transition: color 0.3s ease;
    color: #7b6cff;
    padding-left: 15px;
}


/* ===== Home Section ===== */
.home h1 {
    text-align: center;
}

.home .intro-text {
    font-size: 1.25rem;
    margin-bottom: 3rem;
    color: #333;
    text-align: center;
    font-family: 'Lato', sans-serif;
}

/* ===== Fixed Home Navigation (Top Horizontal) ===== */
.home-nav {
    position: fixed;
    top: 20px;
    right: 20px;
    display: flex;
    flex-direction: row;
    gap: 2rem;
    z-index: 2000;   /* make sure this is ABOVE the rectangle */
    background: none;
    padding: 0;
}



/* NAV LINK UNDERLINE ANIMATION */
.home-nav a {
  position: relative;      /* needed for pseudo-element */
  text-decoration: none;
  color: #7b6cff;
  font-weight: bold;
  transition: color 0.3s ease;
}

.home-nav a::after {
  content: '';
  position: absolute;
  left: 50%;                /* start from the center */
  bottom: -4px;
  width: 0%;                /* initially invisible */
  height: 2px;
  background: linear-gradient(90deg, #7b6cff, #4facfe);
  transition: all 0.4s ease;
  border-radius: 2px;
  transform: translateX(-50%); /* center the line */
}

.home-nav a:hover::after {
  width: 100%;              /* expand full width on hover */
}

.home-nav a:hover {
    color: #7b6cff;          /* highlight on hover */
    transform: scale(1.05);  /* subtle hover effect */
}


/* Scroll Down Button */
.scroll-down {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    margin-top: 3rem;
    font-size: 1rem;
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 1px;
    cursor: pointer;
    transition: color 0.3s ease;
}

.scroll-down:hover {
    color: #7b6cff;
}

/* Arrow Styling */
.scroll-down .arrow {
    display: block;
    font-size: 2rem;
    margin-top: 0.5rem;
    animation: bounce 1.5s infinite;
}

/* Bounce Animation */
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(8px);
    }
    60% {
        transform: translateY(4px);
    }
}


/* ===== Projects Grid & Hover Overlay ===== */

#projects {
    justify-content: flex-start;
    margin-top: -5rem; /* moves content up by 2rem */
}

.projects-intro {
    font-size: 1.5rem;
    color: #7b6cff; /* matches your accent purple */
    margin-bottom: -1.5rem;
    text-align: center;
    font-family: 'Lato', sans-serif;
    font-weight: 500;
}

.projects-subtext {
  font-size: 1rem;
  opacity: 0.7;
  margin-bottom: 2rem;
  letter-spacing: 1px;
  color: white;
}

.projects-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    justify-items: center;
    width: 90%;
}

/* Project Box Container with White Stroke */
.project-box {
    position: relative;
    width: 90%;
    height: 250px;
    border-radius: 20px;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    
    /* Add white stroke */
    border: 1.5px solid #7b6cff;  /* thickness of stroke */
}

/* Image fills the box */
.project-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    border-radius: 16px;
}

/* Zoom image slightly on hover */
.project-box:hover img {
    transform: scale(1.1);
}

/* Overlay with project title, hidden by default */
.project-box .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: 16px;
}

/* Show overlay on hover */
.project-box:hover .overlay {
    opacity: 1;
}

/* Overlay title */
.project-box .overlay h3 {
    color: white;
    font-size: 1.5rem;
    text-align: center;
    font-family: 'Lato', sans-serif;
    margin: 0;
}

/* Optional: subtle shadow when hovering box */
.project-box:hover {
    box-shadow: 0 15px 30px rgba(0,0,0,0.2);
    transform: translateY(-10px) scale(1.03);
}

/* Overlay content wrapper */
.overlay-content {
    text-align: center;
    padding: 0 1rem;
}

/* Description text */
.overlay-description {
    font-size: 0.9rem;
    margin-top: 0.5rem;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    color: white;
    line-height: 1.4;
}

/* Animate description in on hover */
.project-box:hover .overlay-description {
    opacity: 1;
    transform: translateY(0);
}


/* ===== Section Headings (Projects, Skills, Contact, About Me) ===== */
#projects h2,
#skills h2,
#about-me h2 {
    font-family: 'Lato', sans-serif;
    font-size: 3rem;      /* same size as other headers */
    font-weight: 700;      /* bold */
    text-transform: none;  /* no forced uppercase */
    letter-spacing: 1px;   /* consistent spacing */
    text-align: center;
    margin-bottom: -1rem;
    color: white;          /* same color */
}

#contact h2 {
    font-family: 'Lato', sans-serif;
    font-size: 3rem;      /* same size as other headers */
    font-weight: 700;      /* bold */
    text-transform: none;  /* no forced uppercase */
    letter-spacing: 1px;   /* consistent spacing */
    text-align: center;
    margin-bottom: 1rem;
    color: white; 
}


/* ===== CONTACT + ABOUT ME SIDE BY SIDE ===== */
#contact-about-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 5rem;
    flex-wrap: wrap;
    width: 100%;
    flex-direction: row-reverse; /* flip left and right */
}


/* CONTACT SECTION */
#contact {
    flex: 1 1 45%;                  /* roughly half the width */
    max-width: 500px;               /* optional width limit */
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: center;
}

/* ABOUT ME SECTION */

.about-small-text {
    font-size: 1.5rem;
    color: #7b6cff;
    margin-bottom: -1rem;
    text-align: left; /* aligns with the rest of About Me */
    font-family: 'Lato', sans-serif;
    letter-spacing: 1px;
    opacity: 0.8;
    font-weight: 400;
}

#about-me {
    flex: 1 1 45%;             /* roughly half the width */
    max-width: 500px;          /* optional */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
}


/* About Me text & button */
.about-description {
    font-size: 1rem;
    line-height: 1.6;
    color: white;
    margin-bottom: 0;
    font-family: 'Lato', sans-serif;
    margin-top: 14px;
}

/* LinkedIn button same width as Send button */
/* Make LinkedIn button same size as Send button */
.linkedin-button {
    display: block;
    width: 100%;              
    max-width: 100%;          
    padding: 1rem;            /* matches Send button */
    height: 50px;             /* exact same height as Send button */
    line-height: 1.2;         /* vertically centers text */
    background-color: white;
    color: #64768b;
    text-decoration: none;
    border-radius: 12px;      /* same as Send button */
    font-size: 1rem;          /* same as Send button */
    font-weight: 400;         /* same as Send button */
    text-align: center;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.3s;
    font-family: 'Lato', sans-serif;
    box-sizing: border-box;   
    margin-top: 5px;
}


.linkedin-button:hover {
    background-color: #7b6cff;
    color: white;
    transform: scale(1.05);
}

.linkedin-container {
    width: 100%;       /* full width of parent section */
    max-width: 600px;  /* matches .form-container width */
    margin: 0 auto;    /* centers button */
}

.linkedin-button {
    margin-top: -32px; /* moves the button a bit higher */
}

/* ===== Contact Wrapper: side-by-side, form on the right ===== */
#contact-wrapper {
    display: flex;
    flex-direction: row-reverse;  /* form on the right */
    justify-content: center;      /* center the entire wrapper horizontally */
    align-items: flex-start;      /* top-aligned */
    gap: 5rem;                    /* spacing between columns */
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;               /* center wrapper */
    padding: 4rem 0;              /* optional top/bottom padding */
    text-align: center;           /* center all text inside wrapper */
}

/* ===== Form column ===== */
.contact-form-column {
    flex: 0 0 45%;                /* fixed ~45% width */
    min-width: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}


/* ===== Info column ===== */
.contact-info-column {
    flex: 0 0 45%;
    min-width: 300px;
    display: flex;
    flex-direction: column;
    gap: 1rem;                   /* spacing between children */
    align-items: center;
    text-align: center;
}

/* ===== Heading ===== */
.contact-info-column h2 {
    font-size: 2.5rem;
    color: white;
    margin: 0;                   /* reset default margin */
    margin-bottom: 1rem;         /* space below heading */
    /* move this heading independently */
    padding-top: 6rem;           /* adjust this to move h2 down */
}

/* ===== Paragraph ===== */
.contact-info-column p.intro {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #ccc;
    margin: 0 0 1.5rem 0;        /* spacing below paragraph */
}

/* ===== Contact Details ===== */
.contact-info-column .contact-details {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;                 /* spacing between each detail */
    margin-top: 1rem;             /* move details down independently */
}

.contact-info-column .contact-details a {
    color: #7b6cff;
    text-decoration: none;
    transition: color 0.3s;
}

.contact-info-column .contact-details a:hover {
    color: #4facfe;
}

/* ABOUT ME PHOTO */
.about-photo-container {
    display: flex;
    justify-content: center; /* center image */
    margin: 0rem 0 1.5rem 0; /* less space above, keep space below */
}

.about-photo {
    width: 200px;           /* adjust size as needed */
    height: 200px;          /* keep square */
    object-fit: cover;      /* crop nicely */
    border-radius: 50%;     /* circle */
    border: 3px solid white; /* optional border */
    box-shadow: 0 8px 20px rgba(0,0,0,0.3); /* subtle shadow */
}

#skills {
    flex: 1 1 45%;             /* roughly half the width */
    max-width: 500px;          /* optional */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

/* Make Skills + About Me side by side */
#skills-about-wrapper {
    display: flex;
    flex-direction: row;       /* side by side */
    justify-content: space-between;
    align-items: flex-start;   /* top-align content */
    gap: 5rem;                 /* space between the two sections */
    width: 100%;
    flex-wrap: wrap;           /* stack on smaller screens */
}

.skills-small-text {
    font-size: 1.5rem;
    color: #7b6cff;             /* same gradient-ish purple as About Me */
    margin-bottom: -1rem;
    text-align: left;           /* align with text above icons */
    font-family: 'Lato', sans-serif;
    letter-spacing: 1px;
    opacity: 0.8;
    font-weight: 400;           /* same weight as About Me small text */
}



/* ===== Contact Section ===== */

.contact-intro {
    font-size: 1.5rem;
    color: #7b6cff; /* same gradient-ish purple you use elsewhere */
    margin-bottom: -1rem;
    text-align: center;
    font-family: 'Lato', sans-serif;
    font-weight: 500;
}

#contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.form-container {
    max-width: 600px;
    width: 100%;
}

#contact-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#contact-form input,
#contact-form textarea {
    padding: 1rem;
    border: 1px solid #ccc;
    border-radius: 12px;
    font-size: 1rem;
    width: 100%;
    transition: border-color 0.3s;
    font-family: 'Lato', sans-serif;
}

#contact-form input:focus,
#contact-form textarea:focus {
    border-color: white;
    outline: none;
}

#send-button {
    background-color: white;
    color: #64768b;
    padding: 1rem;
    border: none;
    border-radius: 12px;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.3s;
    font-family: 'Lato', sans-serif;
}

#send-button:hover {
    background-color: #7b6cff;
    color: white;
    transform: scale(1.05);
}

.response-container {
    margin-top: 1rem;
    padding: 1rem;
    background-color: white;
    border-radius: 12px;
    color: #155724;
    text-align: center;
    font-family: 'Lato', sans-serif;
}

/* ===== Skills Section ===== */
#skills h2 {
    font-size: 3rem;
    margin-bottom: 1.3rem;
    font-weight: bold;
    text-transform: none; 
    letter-spacing: 1px;
    text-align: center;
    font-family: 'Lato', sans-serif;
}

/* ===== Skills Description Paragraph ===== */

.skills-description {
    max-width: 600px;           /* limits paragraph width */
    text-align: center;         /* centers text */
    font-size: 1rem;            /* readable size */
    line-height: 1.6;           /* spacing between lines */
    color: white;               /* matches theme */
    margin-top: 1.5rem;         /* space above paragraph */
    font-family: 'Lato', sans-serif;
    opacity: 0.9;               /* subtle transparency */
}


/* ===== Skills Icons ===== */

.skills-icons {
    display: grid;
    grid-template-columns: repeat(4, 100px); /* 4 icons per row */
    grid-auto-rows: 120px;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
}

.skill-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;         /* space between icon and label */
    width: 100px;         /* fixed width to match grid column */
    height: 120px;        /* fixed height to match grid row */
}

/* Icon Styling */
.skill-item img {
    width: 80px;
    height: auto;
    transition: transform 0.3s, filter 0.3s;
    cursor: default;
}

.skill-item img:hover {
    transform: scale(1.1);
    filter: brightness(1.2);
}

/* Label Styling */
.skill-label {
    position: static;        /* no absolute positioning */
    color: white;
    font-size: 1rem;
    opacity: 1;              /* always visible */
    text-align: center;
    white-space: nowrap;
    font-family: 'Lato', sans-serif;
}




/* ===== Project Pages ===== */
.show-project-1,
.show-project-2,
.show-project-3,
.show-project-4,
.show-project-5,
.show-project-6,
.show-project-7,
.show-project-8,
.show-project-9 {
    max-width: 1000px;
    margin: 0 auto;
    padding: 2rem;
    color: #126b1f;
    font-family: 'Lato', sans-serif;
}

.project-title {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    font-family: 'Lato', sans-serif;
}

.project-description {
    font-size: 1.1rem;
    margin-bottom: 2rem;
    font-family: 'Lato', sans-serif;
}

.project-info {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem;
    font-family: 'Lato', sans-serif;
}

.info-block {
    flex: 1 1 30%;
    background-color: #f0f0f0;
    padding: 1rem;
    border-radius: 12px;
    text-align: center;
    transition: transform 0.3s, box-shadow 0.3s;
    font-family: 'Lato', sans-serif;
}

.info-block:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.15);
}

.project-media {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}

.project-media img {
    width: 100%;
    border-radius: 16px;
}

.project-reflection h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    font-family: 'Lato', sans-serif;
}

.project-reflection p {
    font-size: 1rem;
    font-family: 'Lato', sans-serif;
}

.back-link {
    display: inline-block;
    margin-top: 2rem;
    text-decoration: none;
    color: #126b1f;
    font-weight: bold;
    transition: color 0.3s;
    font-family: 'Lato', sans-serif;
}

.back-link:hover {
    color: #0a3f0f;
}

/* ===== HERO MATCHING SCREENSHOT ===== */

/* ===== HERO MATCHING SCREENSHOT ===== */

.home {
    display: flex;
    justify-content: center;  /* center horizontally */
    align-items: flex-start;  /* align to top instead of center */
    text-align: center;
    min-height: 100vh;
}

.hero-container {
    max-width: 800px;
    display: flex;
    flex-direction: column;
    align-items: center;      /* horizontal centering */
    justify-content: flex-start; /* stack at top */
}

/* small top text */
.hero-small {
    letter-spacing: 3px;
    font-size: 1.3rem;
    opacity: 0.8;
    margin-bottom: 2rem;    /* smaller spacing to next element */
    color: white;
}

/* big title */
.hero-title {
    font-size: 4rem;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 2rem;      /* spacing to description */
    font-family: 'Lato', sans-serif;
}

.hero-title span {
    /* Slightly more blue, still mostly purple */
    background: linear-gradient(90deg, #7b6cff 60%, #4facfe 100%);
    
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    /* Fallback for Firefox */
    background-clip: text;
    color: transparent;
}

/* description */
.hero-description {
    max-width: 700px;
    margin: 0 auto;
    font-size: 1.5rem;
    opacity: 0.85;
    color: #94a5b8;
}

/* Project Hero Section Styling (matches main home page) */
.project-hero {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
    max-width: 1000px;
    padding: 6rem 0 3rem 0;
    gap: 2rem;
    color: white;
    font-family: 'Lato', sans-serif;
}

.project-hero .hero-small {
    font-size: 1rem;
    color: white;
    font-weight: 400;
    letter-spacing: 1px;
    margin-bottom: 0.5rem;
}

.project-hero .hero-name {
    font-size: 4.5rem;
    font-weight: 900;
    margin: 0;
    font-family: 'Lato', sans-serif;
}

.project-hero .hero-subtitle {
    font-size: 2.5rem;
    font-weight: 900;
    color: white;
    margin: -0.5rem 0 1.5rem 0;
    font-family: 'Lato', sans-serif;
}

.project-hero .hero-description {
    font-size: 1.2rem;
    line-height: 1.8;
    font-weight: 400;
    max-width: 750px;
    margin-bottom: 2rem;
    font-family: 'Lato', sans-serif;
}

.project-hero .hero-button {
    border: 2px solid white;
    color: white;
    padding: 1.2rem 2.5rem;
    border-radius: 6px;
    font-size: 1.2rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    font-family: 'Lato', sans-serif;
}

.project-hero .hero-button:hover {
    background-color: white;
    color: #0b1e3c;
}

/* Project Info Blocks */
.project-hero-info {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
    font-family: 'Lato', sans-serif;
}

.project-hero-info .info-block {
    flex: 1 1 30%;
    background-color: rgba(255,255,255,0.1);
    padding: 1rem;
    border-radius: 12px;
    text-align: center;
    color: white;
    font-family: 'Lato', sans-serif;
}

/* Projects Pop-Up Animation */
.project-box {
  opacity: 0;
  transform: translateY(30px) scale(0.95);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.project-box.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* ===== HARD HERO FONT FIX (PUT AT BOTTOM OF FILE) ===== */
.home .hero-title {
    font-family: 'Lato', sans-serif !important;
    font-size: 4.2rem;
    font-weight: 900 !important;
    line-height: 1.1;
    letter-spacing: -0.4px;
}

/* make the small text actually readable */
.home .hero-small {
    font-family: 'Lato', sans-serif !important;
}

/* make the description consistent */
.home .hero-description {
    font-family: 'Lato', sans-serif !important;
}

/* ===== Footer (Only Shows At Bottom Naturally) ===== */
.site-footer {
    width: 100%;
    height: 80px;
    background-color: rgba(0, 0, 0, 0.9);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 4rem; /* space above footer */
    color: #7b6cff;
}

.site-footer p {
    margin: 0;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
}

/* Glowing cursor ball */
.cursor-ball {
    position: fixed;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    pointer-events: none; /* doesn't block clicks */
    background: radial-gradient(circle, #7b6cff 0%, #4facfe 70%);
    box-shadow: 0 0 20px rgba(123,108,255,0.8),
                0 0 40px rgba(123,108,255,0.5),
                0 0 60px rgba(123,108,255,0.3);
    transform: translate(-50%, -50%);
    z-index: 9999;
    transition: transform 0.1s ease-out, width 0.15s ease, height 0.15s ease;
}

.typewriter-cursor {
  display: inline-block;
  animation: blink 1s step-end infinite;
}
@keyframes blink {
  0%, 50%, 100% { opacity: 1; }
  25%, 75% { opacity: 0; }
}

/* ===== Mobile Layout Adjustments ===== */
@media (max-width: 768px) { /* phones and small tablets */
    html, body {
        overflow-x: hidden;   /* prevent horizontal scroll */
    }

    body {
        padding-top: 0px;   /* space for top navbar/logo */
        text-align: center;   /* center all inline content by default */
    }

    main {
        padding: 0 1rem;      /* maintain horizontal spacing */
        margin: 0 auto;       /* center main container */
    }

    section {
        padding-top: 4rem; /* keep a little breathing room, instead of 8rem */
        min-height: auto;             /* let section height adjust */
        justify-content: flex-start;  /* content starts near top */
        align-items: center;          /* center horizontally */
        text-align: center;           /* center text inside sections */
        gap: 2rem;
    }

    .home {
        justify-content: flex-start;  /* stack from top */
        padding-top: 0;            /* extra space for navbar/logo */
    }

    .hero-container {
        align-items: center;          /* center horizontally */
        justify-content: flex-start;  /* start from top */
        padding-top: 2rem;
    }

    .projects-grid {
        grid-template-columns: 1fr;   /* stack boxes vertically */
        gap: 2rem;
        justify-items: center;        /* center each box */
        width: 100%;
    }

    .project-box {
        width: 90%;                   /* slightly smaller than screen width */
        height: auto;
        aspect-ratio: 1 / 1;          /* square boxes */
    }

    /* Optional: center nav links at top on mobile */
    .home-nav {
        flex-direction: row;        /* keep links horizontal on mobile */
        justify-content: center;    /* center the nav horizontally */
        top: 100px;                 /* adjust below logo */
        right: 50%;
        transform: translateX(50%);
        gap: 1rem;                  /* spacing between links */
        top: 50px;
    }

      .logo-name {
        position: fixed;       /* fix it to viewport */
        top: 10px;             /* same distance from top as logo */
        left: 50%;             /* start at center */
        transform: translateX(-50%);  /* truly center it horizontally */
        padding-left: 0;       /* remove original padding */
        font-size: 1rem;       /* optional smaller font */
        color: #4facfe;
    }

    /* Keep logo image fixed on the left */
    .logo-container {
        top: 10px;        /* distance from top */
        left: 10px;       /* keep it on the left */
    }

    /* Stack the "Let's Work Together" and Contact sections vertically */
    #contact-about-wrapper,
    #contact-wrapper,
    #skills-about-wrapper {
        flex-direction: column;   /* stack instead of side by side */
        gap: 2rem;                /* optional spacing between stacked items */
        align-items: center;      /* center content horizontally */
    }

    /* Make each child take full width on mobile */
    #contact,
    #about-me,
    .contact-form-column,
    .contact-info-column,
    #skills,
    #about-me {
        flex: 1 1 100%;           /* full width */
        max-width: 100%;          /* prevent width limits */
        text-align: center;       /* center text for smaller screens */
    }

    .floating-ball {
        display: none;
    }

    .cursor-ball {
        display: none;
    }

    /* Make skill icons smaller on mobile */
    .skills-icons .skill-item img {
        width: 65px;   /* smaller width for mobile */
        height: auto;  /* keep aspect ratio */
    }

    /* Optional: reduce spacing between icons */
    .skills-icons {
        gap: 0.1rem;    /* smaller gap on mobile */
    }

    .side-line {
        height: 50vh; /* shorter on mobile */
        width: 2px;   /* thinner looks better on small screens */
        opacity: 0.3;
        margin-top: 20px;
    }

    .left-line {
        left: 30px; /* adjust this */
    }

    .right-line {
        right: 30px; /* adjust this */
    }
    
}

