/* ===== RESET ===== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  font-family: 'FTLTLT', sans-serif;
    background: rgba(255, 255, 255, 0.8); /* soft white */
  color: #2b2b2b;
  overflow-x: hidden;
  margin-top: 15px;
  margin-bottom: 19px;

}


/* ===== FONTS ===== */
@font-face { font-family: 'POORICH'; src: url('assets/fonts/POORICH.TTF') format('truetype'); }
@font-face { font-family: 'FTLTLT'; src: url('assets/fonts/FTLTLT.TTF') format('truetype'); }
@font-face { font-family: 'BRLNSR'; src: url('assets/fonts/BRLNSR.TTF') format('truetype'); }
@font-face { font-family: 'BRLNSDB'; src: url('assets/fonts/BRLNSDB.TTF') format('truetype'); }

/* ===== TOP MENU ===== */
/* ===== STICKY MENU ===== */
.top-menu {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 73px;
    z-index: 999999; /* above everything */
    background: rgba(255, 255, 255, 0.8); /* soft white */
    backdrop-filter: blur(10px); /* classy */
    padding: 15px 5%;
    align-items: center;
}

.menu-links {
  list-style: none;
  display: flex;
  gap: 40px;
  margin: 0 auto; /* center horizontally */
  padding: 0;
  justify-content: center; /* optional, ensures links are spaced evenly in the flex container */
  align-items: center;     /* vertical alignment */
}


.menu-links li a {
  width: 100%;
  height: 9%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #000;
  font-weight: 800;
  font-size: 1.28rem;
  background-position: center;
  background-repeat: no-repeat;
  transition: transform 0.3s ease;
  
}

.menu-links li a:hover {
  transform: scale(1.05);
}

.hamburger{
  display: none;
}

/* ===== HERO SECTION ===== */
.hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 0 5%;
  margin-top: 20px;
  background-color: #000;
  position: relative;
  overflow: hidden;
  text-align: center;
}

.hero-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.hero-left img.welcome-img {
  max-width: 70%;
  height: auto;
  margin-bottom: 20px;
  margin-top: 20px;
}

.socials {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin-top: 10px;
}

.social-icon {
  width: 35px;
  height: 35px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  transition: transform 0.25s ease;
}

.social-icon:hover { transform: scale(1.15); }
.social-icon.instagram { background-image: url('assets/icons/instagram.png'); }
.social-icon.linkedin  { background-image: url('assets/icons/linkedin.png'); }
.social-icon.github     { background-image: url('assets/icons/github.png'); }
.contact-icon.email-icon {background-image: url('assets/icons/gmail.png');}

/* ===== HERO BUTTONS ===== */
/* ===== HERO BUTTONS FIXED ON RIGHT ===== */
.hero-buttons {
  top: 70%;                 /* vertical position */
  right: 20px;              /* distance from right edge */
  display: flex;
  gap: 20px;                /* space between buttons */
  z-index: 1000;
}

/* Button base style */
.btn-circle {
  width: 150px;
  height: 60px;
  border-color: #fff;
  display: flex;
    font-size: 25px;
  justify-content: center;
  align-items: center;
  box-shadow: 0 0 20px #060644; /* blue glow around */
  color: black;
  font-family: 'FTLTLT', sans-serif;
  text-decoration: underline;
  cursor: pointer;
  font-weight: 800;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-circle:hover {
  transform: scale(1.15);
  box-shadow: 0 0 40px #060644;
}





/* ===== ACHIEVEMENTS ===== */
.achievements-section {
  text-align: center;
    background: rgba(255, 255, 255, 0.8); /* soft white */;
}

.title-container {
  position: relative;
  display: inline-block;
  width: 100vw;
  height: 150px;
  margin-bottom: 5px;
  margin-top: 20px;
  overflow: hidden;
}

.title-container canvas.title-particles {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}

.section-title {
  position: relative;
  z-index: 1;
  line-height: 150px;
  font-size: 3rem;
  font-size: 100;
  color: #31363F;
  font-family: 'FTLTLT', sans-serif;
  text-align: center;
}

.achievement-row {
  width: 85%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

.achievement-box {
  flex: 1;
  display: flex;
  gap: 20px;
  opacity: 0;
  transform: translateY(40px);
  transition: all 1.3s ease;
}

.achievement-box.visible { opacity: 1; transform: translateY(0); }
.fade-left { transform: translateX(-80px); }
.fade-right { transform: translateX(80px); }
.fade-left.visible, .fade-right.visible { transform: translateX(0); }

.ach-number {
  font-size: 40px;
  font-weight: 1000;
  color: #060644;
  line-height: 2;

}

.ach-text {
  font-size: 22px;
  font-weight: 750;
  color: #3A5880;
  max-width: 450px;
  font-weight: 1000;
  line-height: 1.3;
}

/* ===== PROJECTS ===== */
.projects-section {
  padding: 10px 0;
  text-align: center;
    background: rgba(255, 255, 255, 0.8); /* soft white */
}

.project-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 40px;
  width: 90%;
  margin: 0 auto 60px;
  opacity: 0;
  transform: translateY(40px);
  transition: all 1.3s ease;
}

.project-card.visible { opacity: 1; transform: translateY(0); }

.project-info {
  flex: 1;
  text-align: left;
  font-weight: 750;
  font-family: 'FTLTLT', sans-serif;
}

.project-info h3 {
  font-size: 2.5rem;
  color: #000;
  margin-bottom: 15px;
}

.project-info p {
  font-size: 1.3rem;
  line-height: 1.5;
  color: #3A5880;
}

/* ===== SLIDERS ===== */
.slider-container {
  flex: 1.2;
  position: relative;
  width: 300px;
  height: 300px;
  margin: 0 auto;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 10px #2b2b2b;
  cursor: pointer;
}

.slider-container img.slider-img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: 1;
}

.slider-container img.slider-img.active { opacity: 1; z-index: 2; }

.slider-container .prev, .slider-container .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #3A5880;
  color: #fff;
  font-size: 20px;
  padding: 8px 12px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  opacity: 0.5;
  z-index: 10;
  transition: opacity 0.3s, transform 0.3s;
}

.slider-container .prev:hover, .slider-container .next:hover { transform: scale(1.1); opacity: 1; }
.slider-container .prev { left: 10px; }
.slider-container .next { right: 10px; }

/* ===== LIGHTBOX ===== */
.lightbox {
  display: none;
  position: fixed;
  top: 0;
  
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.85);
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.lightbox-img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  border-radius: 15px;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
}

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 3rem;
  color: #fff;
  
  cursor: pointer;
}

.lightbox-prev, .lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2rem;
  color: #fff;
  background: #3A5880;
  border: none;
  padding: 10px 16px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  transition: background 0.3s, transform 0.3s;
}

.lightbox-prev:hover, .lightbox-next:hover { transform: scale(1.1); }
.lightbox-prev { left: 30px; }
.lightbox-next { right: 30px; }

/* ===== ANIMATIONS ===== */
@keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes imgFloat { 0%,100% { transform: translateY(0px); } 50% { transform: translateY(-15px); } }

/* ===== RESPONSIVE ===== */
@media (max-width: 950px) {
  .hero {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 40px;
    padding: 60px 5%;
  }

  .hero-left .welcome-img { max-width: 60%; margin-top: 40px; }
  .achievement-row, .project-card { flex-direction: column; gap: 25px; width: 95%; }

  .top-menu { flex-direction: column; gap: 15px; padding: 15px 25px; }
  .menu-links, .menu-buttons { justify-content: center; flex-wrap: wrap; gap: 10px; }
}

.hero {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;

  overflow: hidden;
}

#welcome-img {
  position: relative;
  z-index: 1; /* above sparks */
  max-width: 900px;
  height: auto;
}

#spark-field {
  position: absolute;
  width: 100%;
  height: 70vh;
  overflow: hidden;
  pointer-events: none;
  top: 0;
  left: 0;
  z-index: 1; /* behind hero text */
}

.spark {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  transition: transform 0.3s ease, filter 0.3s ease;
  max-width: 15px;
  max-height: 15px;
  filter: brightness(1);

  /* Orbit float animation */
  animation: floatOrbit linear infinite;
}


/* Floating orbit animation: slower & smooth */
@keyframes floatOrbit {
  0%   { transform: translateY(0) translateX(0); }
  25%  { transform: translateY(-10px) translateX(10px); }
  50%  { transform: translateY(0) translateX(20px); }
  75%  { transform: translateY(10px) translateX(10px); }
  100% { transform: translateY(0) translateX(0); }
}

/* Hover effect: slight motion & shine */
.spark.hover-boost {
  transform: scale(1.5) rotate(40deg);
  filter: brightness(1.5);
}

/* Click effect: bold shine */
.spark.flash {
  transform: scale(2) rotate(30deg);
  filter: brightness(2);
}
/* Hide default cursor in hero section */
/* HERO AREA CURSOR FIX */
#hero {
  cursor: none;
}


/* Star cursor that follows the mouse */
#star-cursor {
  position: fixed; /* FIX → follows everywhere */
  width: 60px;
  height: 60px;
  pointer-events: none;
  background: url('assets/images/cursor.png') no-repeat center center;
  background-size: contain;
  transform: translate(-50%, -50%);
  transition: transform 0.05s ease;
  z-index: 999999; /* highest */
  filter: drop-shadow(0 0 10px #fff);
}

/* Spark field */
#spark-field {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    top: 0;
    left: 0;
    z-index: 1;
    
}
.section-image {
  display: block;
  margin:30px auto 30px auto;
  width: 400px;
  height: auto;
  filter: drop-shadow(0 0 8px #fff3);
}
/* ===== ENG. HELEN SECTION ===== */

.eng-helen-section {
  width: 100%;
  padding: 20px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Container holding image + text */
.enghelen-wrapper {
  max-width: 1200px;
  width: 90%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 40px;
  margin-top: 20px;
  flex-wrap: wrap; /* makes it responsive */
}

/* Left column image */
.enghelen-image img {
  width: 320px;
  object-fit: contain;
  margin-top: -25px;

  /* Navy border to frame the image */
  border-radius: 20px; /* softer corners look nicer */

  /* Elegant shadow */
  box-shadow: 0 10px 25px #2b2b2b, /* main shadow */
              0 0 15px #2b2b2b; /* subtle navy glow */

  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Optional: hover effect for subtle lift */
.enghelen-image img:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4),
              0 0 20px rgba(0, 97, 179, 0.4);
}


/* Right column text */
.enghelen-content {
  flex: 1;
  min-width: 600px;
  color: #060644;
  font-size: 18px;
  line-height: 1.7;
  

}

.enghelen-content p {
  margin-top:10px ;
  margin-bottom: 18px;
  font-size: 21px;
  font-weight: 750;
  color: #060644;
  font-weight: 650;
  line-height: 1.3;
  vertical-align: middle;
}

/* Responsive layout */
@media (max-width: 768px) {
  .enghelen-wrapper {
    flex-direction: column;
    text-align: center;
  }

  .enghelen-content {
    text-align: center;
  }
}
/* ===== CONTACT SECTION ICONS ===== */
.contact-content p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: #000; /* black text */
  font-size: 19px;
  font-weight: 1000;
  line-height: 1.3;
}

.contact-icon {
  width: 24px;
  height: 24px;
  display: inline-block; /* important! */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Specify each icon */
.email-icon {
  background-image: url('assets/icons/email.png'); /* make sure the file exists */
}

.phone-icon {
  background-image: url('assets/icons/phone.png');
}

.location-icon {
  background-image: url('assets/icons/location.png');
}
/* ===== CONTACT SECTION ===== */
.contact-content {
  display: flex;
  justify-content: center; /* center horizontally */
  align-items: center;     /* center vertically */
  gap: 40px;               /* space between each contact item */
  margin-top: 20px;
  flex-wrap: wrap;         /* wraps on small screens */
}

.contact-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 22px;
  color: #3A5880;
  max-width: 450px;
  font-weight: 1000px;
  line-height: 1.3;
}

/* Contact icons */
.contact-item .contact-icon {
  width: 24px;
  height: 24px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Specific icons */
.email-icon { background-image: url('assets/icons/email.png'); }
.phone-icon { background-image: url('assets/icons/phone.png'); }
.location-icon { background-image: url('assets/icons/location.png'); }

 .contact-content a {
  color: #3A5880;
  text-decoration: none; /* remove underline */
  font-weight: 700;      /* optional: match other text */
}

.contact-content a:hover {
  color: #060644;        /* optional: change color on hover */
  text-decoration: underline; /* optional hover effect */
}
/* Contact row styling */
.contact-row {
  display: flex;
  gap: 40px; /* space between items */
  justify-content: center; /* center horizontally */
  align-items: center; /* vertical alignment */
  margin: 10px auto 0 auto; /* adjust top margin */
  text-align: center;
  flex-wrap: nowrap; /* keep all items in one row */
}

/* Individual contact items */
.contact-item {
  display: flex;
  align-items: center;
  gap: 8px; /* space between icon and text */
  font-size: 20px;
  font-weight: 600;
  color: #3A5880;
  cursor: pointer;
  transition: transform 0.3s ease, color 0.3s ease; /* smooth pop effect */
}

/* Pop out on hover */
.contact-item:hover {
  transform: scale(1.1); /* grows 20% */
  color: #060644; /* optional: change color on hover */
}

/* Email link hover effect */
.contact-item a {
  color: #3A5880;
  text-decoration: none; /* default no underline */
  transition: all 0.3s ease;
}

.contact-item a:hover {
  text-decoration: underline; /* underline on hover */
}


/* Icon styling */
.contact-icon {
  width: 25px;
  height: 25px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
/* Eng. Helen Animation */
.enghelen-wrapper {
  opacity: 0;           /* initially invisible */
  transform: scale(0.8) rotate(-5deg); /* start slightly smaller and tilted */
  transition: all 1s cubic-bezier(0.68, -0.55, 0.27, 1.55); /* springy effect */
}

/* Class to trigger animation */
.enghelen-wrapper.visible {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}

/* Hero buttons container */
.hero-buttons {
  display: flex;
  gap: 20px; /* space between the buttons */
  margin-top: 30px; /* space below social icons */
  justify-content: center; /* center horizontally */
}

/* Discover HelenWins button */
.btn-discover {
  padding: 12px 30px;
  font-size: 20px;
  font-weight: 500;
  color: white; /* bright blue text */
background:transparent; /* soft white */
    backdrop-filter: blur(10px); /* classy */
  border-radius: 10px;
  transition: all 0.3s ease;
  text-decoration: none;
}

/* Fully navy button */
.btn-cv {
  padding: 12px 30px;
  font-size: 20px;
  font-weight: 500;
  color: #fff;
background:transparent; /* soft white */
  backdrop-filter: blur(10px); /* classy */
  border-radius: 10px;
  transition: all 0.3s ease;
  text-decoration: none;
}

/* Hover effect for both buttons */
.btn-discover:hover,
.btn-cv:hover {
  transform: scale(1.1); /* grow slightly */
  cursor: pointer;
  background-color: #000; /* full navy on hover */
  color: #fff; /* text turns white */
}

/* ===== PROJECT TECH STACK ===== */
.tech-stack {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 12px;
}

.tech-stack img {
  height: 46px;
  width: auto;
  opacity: 0.85;
  transition: transform 0.3s ease, opacity 0.3s ease;
  align-items: center;
  
}

.tech-stack img:hover {
  transform: scale(1.15);
  opacity: 1;
}
/* ===== TECH STACK ICON FRAMES ===== */
.tech-stack img {
  height: 60px;
  width: 60px;

  padding: 5px;                 /* space between icon and frame */
  border-radius: 25%;           /* circle */
  border: 2px solid #e0e0e0;     /* bright grey frame */
  background-color: #ffffff;    /* clean white background */

  opacity: 0.9;
  transition: transform 0.3s ease, 
              box-shadow 0.3s ease, 
              border-color 0.3s ease;
}

.tech-stack img:hover {
  transform: scale(1.15);
  border-color: #cfcfcf;        /* slightly darker grey on hover */
  box-shadow: 0 0 10px rgba(0,0,0,0.08);
  opacity: 1;
}
/* ===== EDUCATION SECTION (inherits Eng. Helen styles) ===== */

.education-wrapper {
  /* Layout — identical to enghelen-wrapper */
  max-width: 1200px;
  width: 90%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 40px;
  margin-top: 30px;
  flex-wrap: wrap;
}

/* Image — same framing & hover */
.education-image img {
  width: 350px;
  object-fit: contain;
  margin-top: -25px;
  border-radius: 20px;
  box-shadow: 0 10px 25px #2b2b2b,
              0 0 15px #2b2b2b;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.education-image img:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4),
              0 0 20px rgba(0, 97, 179, 0.4);
}

/* Text — identical to enghelen-content */
.education-content {
  flex: 1;
  min-width: 600px;
  color: #060644;
  font-size: 18px;
  line-height: 1.7;
}

.education-content p {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 21px;
  font-weight: 650;
  color: #000;
  line-height: 1.3;
}

/* Animation — same behavior */
.education-wrapper {
  opacity: 0;
  transform: scale(0.8) rotate(-5deg);
  transition: all 1s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.education-wrapper.visible {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}

/* Responsive */
@media (max-width: 768px) {
  .education-wrapper {
    flex-direction: column;
    text-align: center;
  }

  .education-content {
    text-align: center;
  }
}
.enghelen-content,
.education-content {
  display: flex;
  flex-direction: column;
  justify-content: center; /* centers <p> vertically */
}
.enghelen-wrapper,
.education-wrapper {
  align-items: center;
}

.enghelen-content,
.education-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.enghelen-wrapper,
.education-wrapper {
  max-width: 1200px; /* already there */
  width: 90%;        /* already there */
  margin: 30px auto; /* centers horizontally */
}
.certificates-section {
  width: 100%;
  padding: 10px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.certificates-wrapper {
  max-width: 1200px;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(900px, 1fr));
  gap: 30px;
  justify-items: center; /* centers each certificate */
}

.certificate img {
  width: 500px;  /* same as maincer photo */
  height: 500px;
  border-radius: 20px;
  box-shadow: 0 10px 25px #2b2b2b, 0 0 15px #2b2b2b;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.certificate img:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4),
              0 0 20px #000(0, 97, 179, 0.4);
}
.certificates-section {
  width: 100%;
  display: flex;               /* use flex to center the wrapper */
  justify-content: center;     /* horizontally center */
  align-items: center;         /* vertically center if needed */
  background: rgba(255, 255, 255, 0.8);
}

.certificates-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(900px, 1fr));
  justify-items: center;       /* center each certificate inside its cell */
  justify-content: center;     /* center the grid itself */
  max-width: 1200px;
  width: 90%;
}
.certificates-wrapper {
  display: grid;
  gap: 60px;
  grid-template-columns: repeat(auto-fit, minmax(400px, max-content)); /* <-- change */
  justify-content:right;
     /* centers the whole grid */
  justify-items: center;      /* centers each certificate in its cell */
  max-width: 1200px;
  width: 100%;
}
/* Certificates carousel wrapper */
.certificates-carousel {
  position: relative;
  width: 90%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 400px;
  overflow: hidden;
}

.carousel-track {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.5s ease;
  position: relative;
  width: 100%;
}


 .certificate {  
  position: absolute;  
  top: 50%;  
  left: 50%;  
  opacity: 0;  
  transform: translate(-50%, -50%) scale(0.7);  
  transition: transform 0.5s ease, opacity 0.5s ease;  
}


.certificate img {
  width: 350px;
  height: auto;
  border-radius: 30px;
  box-shadow: 0 0 10px #000, 0 0px 10px #000;
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

/* Center certificate */
.certificate.center {
  opacity: 1;
  z-index: 3;
  transform: translate(-50%, -50%) scale(1.1);
}

/* Left & right smaller certificates */
.certificate.left {
  opacity: 0.6;
  z-index: 2;
  transform: translate(-150%, -50%) scale(0.85);
}

.certificate.right {
  opacity: 0.6;
  z-index: 2;
  transform: translate(50%, -50%) scale(0.85);
}

/* Buttons */
.carousel-btn {
  background-color: #000;
  color: #fff;
  border: none;
  font-size: 1.7rem;

  opacity: 0.8;
  padding: 10px 15px;
  border-radius: 40px;
  cursor: pointer;
  z-index: 10;
  position: relative;
  height: 50px;
  width: 50px;
}

.carousel-btn:hover {
  transform: scale(1);
}

.carousel-btn.left { margin-right: 10px; }
.carousel-btn.right { margin-left: 10px; }




/* ===== MOBILE / TABLET RESPONSIVE ===== */
@media only screen and (max-width: 1024px) {
  /* Hamburger Menu */
  .hamburger {
    display: block;
    cursor: pointer;
    font-size: 2rem;
    padding: 10px 20px;
  }

  .top-menu .menu-links {
    display: none; /* hide by default on mobile */
    flex-direction: column;
    width: 100%;
    background-color: #fff; /* or your nav color */
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
  }

  .top-menu .menu-links.show {
    display: flex;
  }

  .top-menu .menu-links li {
    margin: 10px 0;
  }

  /* Hero Section */
  .hero-left {
    width: 100%;
    text-align: center;
  }

  .hero-left img.welcome-img {
    width: 60%;
    max-width: 250px;
  }

  .hero-buttons {
    flex-direction: column;
    gap: 10px;
  }

  .hero-buttons a {
    width: 80%;
    max-width: 200px;
  }

  /* Eng. Helen Section */
  .enghelen-wrapper {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .enghelen-image, .enghelen-content {
    width: 90%;
  }

  .enghelen-image img {
    width: 60%;
    max-width: 200px;
    margin-bottom: 20px;
  }

  /* Achievements */
  .achievement-row {
    flex-direction: column;
    align-items: center;
  }

  .achievement-box {
    width: 90%;
    margin-bottom: 20px;
  }

  

  .slider-container {
    width: 90%;
    margin: 0 auto 30px auto;
  }

  /* Education */
  .education-wrapper {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .education-image img {
    width: 80%;
    max-width: 250px;
    margin-bottom: 20px;
  }

  /* Certificates Carousel */
  .certificates-carousel {
    width: 100%;
  }

  .certificate img {
    width: 70%;
    margin: 0 auto;
  }

  /* Font scaling */
  body, p, a, li {
    font-size: 90%;
  }

  h1, h2, h3, h4 {
    font-size: 1.5rem;
  }
}
/* =========================================================
   RESPONSIVE OVERRIDES — iPad to Phone
   Keeps SAME behavior, scaled properly
========================================================= */

/* ---------- GLOBAL ---------- */
@media (max-width: 1024px) {
  html, body {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 95%;
  }

  /* Disable cursor effects on touch devices */
  #hero {
    cursor: default;
  }

  #star-cursor {
    display: none;
  }
}

/* ---------- TOP MENU ---------- */
@media (max-width: 1024px) {
  .top-menu {
    height: auto;
    padding: 12px 20px;
    flex-direction: row;
    justify-content: space-between;
  }

  .menu-links {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: rgba(255,255,255,0.95);
    flex-direction: column;
    gap: 15px;
    padding: 20px 0;
    display: none;
  }

  .menu-links.show {
    display: flex;
  }

  .menu-links li a {
    font-size: 1.1rem;
  }

  .hamburger {
    display: block;
  }
}

/* ---------- HERO SECTION ---------- */
@media (max-width: 1024px) {
  .hero {
    height: clamp(300px, 45svh, 420px);
    min-height: 200px;
    padding: 60px 5% 40px;
    justify-content: center;
  }

  #spark-field {
    height: 100%;
  }

  .hero-left img.welcome-img {
    height: 50px;
    min-width: 700px;
    
    visibility: hidden;
  }

  .socials {
    margin-top: 50px;
    gap: 14px;
  }

  .social-icon {
    width: 30px;
    height: 30px;
  }

  .hero-buttons {
    margin-top: 20px;
    flex-direction:row;
    gap: 12px;
  }

  .hero-buttons a {
    width: 85%;
    max-width: 140px;
    text-align: center;
  }
}

/* ---------- PHONE HERO FIX ---------- */
@media (max-width: 600px) {
  .hero {
    min-height: 200px;
    margin-top: 50px;
    margin-bottom: 50px;
  }

  .hero-left img.welcome-img {
visibility: hidden;
  }
}

/* ---------- ACHIEVEMENTS ---------- */
@media (max-width: 1024px) {
  .achievement-row {
    flex-direction: column;
    width: 92%;
    gap: 25px;
  }

  .achievement-box {
    justify-content: center;
    text-align: center;
  }

  .ach-number {
    font-size: 32px;
  }

  .ach-text {
    font-size: 18px;
  }
  
}


/* ---------- ENG. HELEN & EDUCATION ---------- */
@media (max-width: 1024px) {
  .enghelen-wrapper,
  .education-wrapper {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .enghelen-content,
  .education-content {
    min-width: unset;
    width: 100%;
  }

  .enghelen-image img,
  .education-image img {
    width: 100%;
    max-width: 240px;
    margin-top: 0;
  }

  .enghelen-content p,
  .education-content p {
    font-size: 18px;
  }
}

/* ---------- CERTIFICATES ---------- */
@media (max-width: 1024px) {
  .certificates-carousel {
    height: 320px;
  }
  .certificate img {
    width: 230px;
  }

  .certificate.center {
    transform: translate(-50%, -50%) scale(1);
  }
  .certificate.carousel-btn{
    height: 8px;
    width:10px;
  }
}

/* ---------- CONTACT ---------- */
@media (max-width: 1024px) {
  .contact-row {
    flex-direction: column;
    gap: 15px;
    font-size: medium;
    
  }

  .contact-item {
    font-size: 18px;
  }
}

/* ---------- SMALL PHONES ---------- */
@media (max-width: 480px) {
  body {
    font-size: 90%;
  }

  h1, h2, h3 {
    font-size: 1.4rem;
  }

  .btn-discover,
  .btn-cv {
    font-size: 20px;
    font-weight: 900;
    padding: 10px 32px;
    margin-bottom: 30px;
  }
 
  
}
/* =====================================================
   HERO HEIGHT — FINAL, STABLE SOLUTION
===================================================== */

/* Tablet & Phone */
@media (max-width: 1024px) {
  .hero {
    height: clamp(200px, 45svh, 420px);
    padding: 70px 5% 30px;
  }
}

/* Phones */
@media (max-width: 600px) {
  .hero {
    height: clamp(100px, 40svh, 360px);
  }
}
/* =====================================================
   HERO HEIGHT — SINGLE SOURCE OF TRUTH
===================================================== */

/* Desktop */
.hero {
  height: 70vh;
}

/* Tablet */
@media (max-width: 1024px) {
  .hero {
    height: clamp(320px, 45svh, 420px);
    padding-top: 90px; /* space for fixed menu */
  }
}

/* Phone */
@media (max-width: 600px) {
  .hero {
    height: clamp(280px, 38svh, 340px);
    padding-top: 60px;
  }
}
/* =====================================================
   HERO HEIGHT — SINGLE SOURCE OF TRUTH (FINAL)
===================================================== */

/* Desktop */
.hero {
  height: 60vh;
}

/* Tablet */
@media (max-width: 1024px) {
  .hero {
    height: clamp(320px, 42svh, 400px);
    padding-top: 60px; /* fixed menu offset */
  }
}

/* Phone */
@media (max-width: 600px) {
  .hero {
    height: clamp(260px, 36svh, 320px);
    padding-top: 80px;
  }
}



@media (max-width: 768px) {

  .certificate img {
    width: 230px;
  }

  .certificate.center {
    transform: translate(-50%, -50%) scale(1);
  }

  .certificate.left {
    transform: translate(-140%, -50%) scale(0.8);
  }

  .certificate.right {
    transform: translate(40%, -50%) scale(0.8);
  }
  .hamburger {
      display: block;          /* show on mobile */
      cursor: pointer;
      font-size: 2rem;         /* adjust size */
      padding: 10px 20px;      /* space around it */
      color: #fff;             /* white icon */
      background-color: #000;  /* black background */
      border-radius: 8px;      /* optional, makes it slightly rounded */
      z-index: 1001;           /* ensure it’s above menu/content */
  }
}
@media (max-width: 1024px) {

  .slider-container {
    width: 100%;
    max-width: 320px;
    height: 280px;          
    min-height: 250px;       
    position: relative;
    display: block;   
    align-items: center;     
  }
  .project-info {
  flex: 1;
  text-align: center;
  font-weight: 750;
  font-family: 'FTLTLT', sans-serif;
}

.project-info h3 {
  font-size: 1.8rem;
  color: #000;
  text-align: center;
  margin-bottom: 15px;
}

.project-info p {
  font-size: 1.1rem;
  line-height: 1.5;
  color: #3A5880;
}
/* ===== PROJECT TECH STACK ===== */
.tech-stack {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 12px;
}

.tech-stack img {
  height: 46px;
  width: auto;
  opacity: 0.85;
  transition: transform 0.3s ease, opacity 0.3s ease;
  align-items: center;
  
}

.tech-stack img:hover {
  transform: scale(1.15);
  opacity: 1;
}
/* ===== TECH STACK ICON FRAMES ===== */
.tech-stack img {
  height: 45px;
  width: 45px;

  padding: 5px;                 /* space between icon and frame */
  border-radius: 25%;           /* circle */
  border: 2px solid #e0e0e0;     /* bright grey frame */
  background-color: #ffffff;    /* clean white background */

  opacity: 0.9;
  transition: transform 0.3s ease, 
              box-shadow 0.3s ease, 
              border-color 0.3s ease;
}

.tech-stack img:hover {
  transform: scale(1.15);
  border-color: #cfcfcf;        /* slightly darker grey on hover */
  box-shadow: 0 0 10px rgba(0,0,0,0.08);
  opacity: 1;
}


} 
@media (max-width: 1024px) {

  .project-info {
    text-align: center;
  }

  .tech-stack {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;   /* 🔥 centers horizontally */
    align-items: center;
    gap: 10px;
  }

}