*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body {
  font-family: "Poppins", sans-serif;
  overflow-x: hidden;
  background:#06092C;
  display: flex;
  justify-content: center;
}

.main-wrapper {
  width: 100%;
  max-width: 1400px;  /* lock design width */
}

p {
  color: white;
}
h1{
  color: #85e5e9;
}

/* TRANSITION */

a,
.btn {
  transition: all 300ms ease;
}

/* DESKTOP NAV */

nav,
.nav-links {
  display: flex;
}

nav {
  justify-content: space-around;
  align-items: center;
  height: 17vh;
}

.nav-links {
  gap: 2rem;
  list-style: none;
  font-size: 1.5rem;
}

a {
  color: #f0f3f2;
  text-decoration: none;
  text-decoration-color: rgb(248, 249, 250);
}

a:hover {
  color: #62eec7;
  text-decoration: underline;
  text-underline-offset: 1rem;
  text-decoration-color: #62eec7;
}

.logo {
  display: flex;
  align-items: center;
  opacity: 0.85;
}

.logo img {
  height: 48px;        /* BEST size */
  width: auto;        /* keep aspect ratio */
  display: block;
}

.logo:hover {
  cursor: default;
}

/* HAMBURGER MENU */

#hamburger-nav {
  display: none;
}

.hamburger-menu {
  position: relative;
  display: inline-block;
}

.hamburger-icon {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 24px;
  width: 30px;
  cursor: pointer;
}

.hamburger-icon span {
  width: 100%;
  height: 2px;
  background-color: #f8f8fa;
  transition: all 0.3s ease-in-out;
}

.menu-links {
  position: absolute;
  top: 100%;
  right: 0;
  background: #131742;
  border-radius: 1rem;
  width: 220px;

  max-height: 0;
  overflow: hidden;

  transition: all 0.4s ease;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  z-index: 1000;
}

.menu-links.open {
  max-height: 500px;
  padding: 0.5rem 0;
}

.menu-links a {
  display: block;
  padding: 15px;
  text-align: center;
  font-size: 1.2rem;
  color: white;
  text-decoration: none;
  transition: 0.3s ease;
}

.menu-links a:hover {
  background: #252953;
  color: #62eec3;
}

.hamburger-icon.open span:first-child {
  transform: rotate(45deg) translate(10px, 5px);
}

.hamburger-icon.open span:nth-child(2) {
  opacity: 0;
}

.hamburger-icon.open span:last-child {
  transform: rotate(-45deg) translate(10px, -5px);
}

.hamburger-icon span:first-child {
  transform: none;
  opacity: 1;
}

/* SECTIONS */

section {

  padding-top: 4vh;

  min-height: auto;

  position: relative;

  box-sizing: border-box;

  width: 100%;

  max-width: 1300px;

  margin: 0 auto;

  padding-left: 2rem;

  padding-right: 2rem;
}

.section-container {
  display: flex;
  gap: 2rem;
  align-items: center;
  justify-content: center;
}

.about-pic-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.about-pic {
  width: 100%;
  max-width: 350px;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 2rem;
}

/* HOME SECTION */
#home {

  min-height: auto;

  height: auto;

  display: flex;

  align-items: center;

  padding-top: 2rem;

  padding-bottom: 2rem;
}
/* White box should control layout */
.white-box{
  width: 100%;
  max-width: 1200px;
  min-height: 430px;

  margin-inline:auto;

  background:#edf6f7;

  border-radius:24px;

  padding:2rem;

  display:flex;
  align-items:center;
  justify-content:center;

  gap:3rem;

  flex-wrap:wrap;

  box-shadow:0 18px 45px rgba(0,0,0,0.25);
}
/* Image */
#home1{
  width: clamp(170px, 25vw, 280px);
  height: clamp(170px, 25vw, 280px);

  object-fit:cover;

  border-radius:50%;

  border:4px solid rgba(185, 241, 224, 0.5);

  box-shadow:
    0 0 25px rgba(138, 240, 209, 0.35);
}

.section__pic-container {
  display: flex;
  height: 300px;
  width: 300px;
  margin: auto 0;
}
.section__pic-container img {
  display: block;
  margin: 0 auto;
}

.section__text {
  align-self: center;
  text-align: center;
}

.section__text p,
.section__text h1 {
  color: #0b1a6d;
}

.section__text__p1 {
  text-align: center;
  color: #85e5e9;
}

.section__text__p2 {
  font-size: 1.75rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  text-align: center;
  opacity: 0.92;
}

#socials-container {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
  gap: 1rem;
}

.hero-tagline {
  font-size: 1rem;
  color: #0b1a6d;
  margin-bottom: 10px;
}

/* typing */
#typing {
  color: #0b9292;
  font-weight: 600;
  border-bottom: 3px solid #0b9292;
  padding-bottom: 2px;
}

.cursor {
  animation: blink 0.7s infinite;
  font-weight: lighter;
  color: #0b9292;
}
@keyframes blink{
  50%{
    opacity:0;
  }
}

/* ICONS */
.icon {
  cursor: pointer;
  height: 2rem;
}

/* BUTTONS */

.btn-container {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.btn{
  font-weight:600;
  padding:1rem 1.4rem;

  border-radius:14px;

  transition:0.35s ease;

  border:none;

  cursor:pointer;
}
a .btn {
  font-weight: 600;
  transition: all 300ms ease;
  padding: 1rem;
  width: 8rem;
  border-radius: 2rem;
}

.btn-color-1,
.btn-color-2 {
  border: rgb(53, 53, 53) 0.1rem solid;
}

.btn-color-1:hover,
.btn-color-2:hover {
  cursor: pointer;
}

.btn-color-1,
.btn-color-2:hover {
background: #0b9292;
color: #ffffff;
}

.btn-color-1:hover {
  background: #087575;
}

.btn-color-2 {
  background: #f0f0f5;
  color: #0b1c3d;
}

.btn-color-2:hover {
  border: #0b9292 0.1rem solid;
}
.btn:hover{
  transform:translateY(-4px) scale(1.03);

  box-shadow:
    0 10px 25px rgba(0,0,0,0.2);
}

/* ABOUT SECTION */

#about {
  position: relative;
}

.about-containers {
  gap: 2rem;
  margin-bottom: 2rem;
  margin-top: 2rem;
  color: #01014A;
}

.about-details-container {
  justify-content: center;
  flex-direction: column;
  width: 60vw;
}

.about-containers,
.about-details-container {
  display: flex;
}

.about-pic {
  border-radius: 2rem;
  margin-top: 1rem;
}


.details-container {
  padding: 1.5rem;
  flex: 1;
  position: relative;
  overflow: hidden;
  /* cursor: pointer; */
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(12px);
  border-radius: 2rem;
  border: rgb(226, 223, 223) 0.1rem solid;
  border-color: rgb(163, 163, 163);
  transition: transform 0.4s ease, box-shadow 0.4s ease, border 0.4s ease;
  text-align: center;
}

/* SKILLS SECTION */
#skills {
  position: relative;
}

.skill-sub-title {
  color: #01014A;
  font-weight: 600;
  font-size: 1.75rem;
  margin-bottom: 2rem;
}

.skill-details-container {
  display: flex;
  justify-content: center;
  flex-direction: column;
  color: #01014A;
  margin-top: 2rem; 
}

.article-container {
  display: flex;
  text-align: left;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 1.5rem;
  margin: auto;
  justify-content: space-around;

}

article{
  display:flex;
  width:clamp(120px,30vw,160px);
  justify-content:space-around;
}

/* Gradient background glow */
.details-container::before {
  content: "";
  position: absolute;
  inset: -2px;
  background: linear-gradient(45deg, #edf6f7);
  z-index: -1;
  border-radius: 20px;
  opacity: 0;
  transition: opacity 0.4s ease;
}

/* HOVER (combined all effects) */
.details-container:hover {
  transform: translateY(-12px) scale(1.03);
  border: 1px solid #00bcd4;
  box-shadow: 
    0 10px 30px rgba(0,0,0,0.2),
    0 0 15px #00bcd4;
}

.details-container:hover::before {
  opacity: 1;
}


/* ================= ARTICLES ================= */
.article-container article {
  position: relative;
  padding: 8px;
  transition: transform 0.3s ease, color 0.3s ease;
}

/* underline animation */
.article-container article::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 2px;
  background: #00bcd4;
  transition: width 0.3s ease;
}

/* article hover */
.article-container article:hover {
  transform: translateX(8px) scale(1.05);
  color: #00bcd4;
}

.article-container article:hover::after {
  width: 100%;
}


/* ================= ICON ================= */
.article-container article img {
  transition: transform 0.4s ease;
}

.article-container article:hover img {
  transform: rotate(10deg) scale(1.2);
}


/* PROJECTS SECTION */

#projects {
  position: relative;
}

.project-details-container {
  display: flex;
  justify-content: center;
}

.color-container {
  border-color: rgb(163, 163, 163);
  background: #dfdee4;
}

.project-img, .blog-img {
  border-radius: 1rem;
  width: 90%;
  height: 90%;
  object-fit: cover;
  margin: auto;

}

.project-title {
  margin: 1rem;
  color: #01014A;
  opacity: .8;
}

.project-btn {
  color: #0b1c3d;
  border-color: rgb(53, 53, 53);
}

/* FOOTER SECTION */

/* ===== Scrollbar: green center + green side lines ===== */

::-webkit-scrollbar {
  width: 10px;                 /* same size */
}

::-webkit-scrollbar-track {
  background: #06092C;        /* dark background */
  border-left: 1px solid #62eec3;   /* LEFT green line */
  border-right: 1px solid #62eec3;  /* RIGHT green line */
}

::-webkit-scrollbar-thumb {
  background: #62eec3;        /* center green bar */
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #62eec3;        /* no design change */
}




/* =========================
   MODERN CONTACT SECTION
========================= */

#contact {

  padding-top: 1.5rem;

  padding-bottom: 1rem;

  min-height: fit-content;

  height: auto;

  position: relative;
}
/* container */

.modern-contact-container {

  display: flex;

  gap: 2rem;

  justify-content: center;

  align-items: stretch;

  margin-top: 1.3rem;

  flex-wrap: wrap;
}

/* =========================
   CONTACT CARDS
========================= */

.contact-left-card,
.contact-right-card {
  
  flex: 1;

  min-width: auto;

  max-width: 520px;

  padding: 1.5rem 2rem;

  border-radius: 30px;

  /* SAME LIGHT CARD FEEL LIKE YOUR
     ABOUT / SKILLS / PROJECTS */

  background: #dfdee4;

  border: 1px solid rgba(163, 163, 163);

  box-shadow:
    0 10px 35px rgba(0,0,0,0.20);

  transition: 0.45s ease;
}
.p-idea{
   color: #40357c !important;
}

/* HOVER EFFECT */

.contact-left-card:hover,
.contact-right-card:hover {

  transform: translateY(-12px) scale(1.03);

  border: 1px solid #00bcd4;

  box-shadow:
    0 10px 30px rgba(0,0,0,0.2),
    0 0 15px #00bcd4;
}

/* SAME GLOW BACKGROUND LIKE SKILLS */

.contact-left-card,
.contact-right-card {
  position: relative;
  overflow: hidden;
}

/* glowing layer */

.contact-left-card::before,
.contact-right-card::before {

  content: "";

  position: absolute;

  inset: -2px;

  background: linear-gradient(45deg, #edf6f7);

  z-index: -1;

  border-radius: 30px;

  opacity: 0;

  transition: opacity 0.4s ease;
}

/* show glow */

.contact-left-card:hover::before,
.contact-right-card:hover::before {

  opacity: 1;
}
/* =========================
   HEADINGS
========================= */

.contact-left-card h2 {

  color: #17185E;

  font-size: 3rem;

  font-weight: 700;

  line-height: 1.2;

  margin-bottom: 1rem;
}

/* paragraph */

.contact-desc {

  line-height: 1.9;

  color: #1c1f66;

  font-size: 1.05rem;

  margin-bottom: 2rem;

  font-weight: 500;
}

/* =========================
   CONTACT ITEMS
========================= */

.modern-contact-info {

  display: flex;

  flex-direction: column;

  gap: 1rem;
}

.modern-contact-item {

  display: flex;

  align-items: center;

  gap: 1rem;

  padding: 1rem 1.2rem;

  border-radius: 18px;

  background: rgba(23,24,94,0.05);

  border: 1px solid rgba(23,24,94,0.08);

  transition: 0.35s ease;
}

.modern-contact-item:hover {

  background: rgba(98,238,195,0.12);

  transform: translateX(6px);
}

.modern-contact-item span {

  color: #14165f;

  font-size: 1rem;

  font-weight: 600;
}

/* =========================
   SOCIAL ICONS
========================= */

.modern-socials {

  display: flex;

  gap: 1rem;

  margin-top: 2rem;
}

.modern-socials a {

  width: 58px;

  height: 58px;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 50%;

  background: rgba(23,24,94,0.05);

  border: 1px solid rgba(23,24,94,0.08);

  transition: 0.35s ease;
}

.modern-socials a:hover {

  transform: translateY(-6px) scale(1.08);

  background:
  linear-gradient(
    135deg,
    rgba(98,238,195,0.20),
    rgba(56,189,248,0.18)
  );

  box-shadow:
    0 0 20px rgba(98,238,195,0.28);
}

/* =========================
   FORM
========================= */

.modern-contact-form {

  display: flex;

  flex-direction: column;

  gap: 1.5rem;
}

/* NAME + EMAIL SAME ROW */

.input-row {

  display: flex;

  gap: 1rem;
}

/* BOTH INPUTS EQUAL WIDTH */

.input-row input {

  flex: 1;
}

/* =========================
   INPUTS
========================= */

.modern-contact-form input,
.modern-contact-form textarea {

  width: 100%;

  padding: 1rem 1.1rem;

  box-sizing: border-box;

  border-radius: 16px;

  border: 1px solid rgba(23,24,94,0.08);

  background: rgba(23,24,94,0.05);

  color: #17185E;

  font-family: inherit;

  font-size: 1rem;

  font-weight: 500;

  outline: none;

  transition: 0.35s ease;
}

.modern-contact-form input::placeholder,
.modern-contact-form textarea::placeholder {

  color: #8087be;
}

.modern-contact-form input:focus,
.modern-contact-form textarea:focus {

  border-color: rgba(104, 219, 185, 0.45);

  background: rgba(255,255,255,0.7);

  box-shadow:
    0 0 12px rgba(58, 243, 188, 0.15);
}

/* =========================
   BUTTON
========================= */

.modern-contact-form button {

  padding: 1rem;

  border: none;

  border-radius: 16px;

  background:
  linear-gradient(
    135deg,
    #62eec3,
    #38bdf8
  );

  color: #06092C;

  font-size: 1rem;

  font-weight: 700;

  cursor: pointer;

  transition: 0.4s ease;
}

.modern-contact-form button:hover {

  transform: translateY(-4px);

  box-shadow:
    0 10px 30px rgba(98,238,195,0.30);
}



/* ================= FOOTER ================= */

.modern-footer {

  width: 100%;

  margin-top: 1rem;

  background: #06092C;

  padding: 0.5rem;
}

/* GLOW LINE */

.modern-footer::before {

  content: "";

  display: block;

  width: 100%;

  height: 1px;

  background:
  linear-gradient(
    90deg,
    transparent,
    rgba(107, 227, 248, 0.5),
    transparent
  );

  margin-bottom: 1rem;
}

/* MAIN ROW */

.footer-bottom {

  max-width: 1200px;

  margin: auto;

  display: flex;

  justify-content: space-between;

  align-items: center;

  flex-wrap: wrap;

  gap: 1rem;

  padding: 0 2rem;
}

/* LEFT */

.footer-left p {

  color: #f5f7fa;

  font-size: 1rem;

  font-weight: 500;

  margin: 0;
}

/* RIGHT */

.footer-right {

  display: flex;

  align-items: center;

  gap: 1rem;

  flex-wrap: wrap;
}

/* LINKS */

.footer-right a,
.footer-right p,
.footer-divider {

  color: #f5f7fa;

  font-size: 1rem;

  text-decoration: none;

  transition: 0.3s ease;

  margin: 0;
}

/* HOVER */

.footer-right a:hover {

  color: #62eec3;

  transform: translateY(-2px);
}



/* TOP BUTTONS */

.mini-tabs{

  display: flex;

  justify-content: center;

  gap: 12px;

  margin-bottom: 20px;
}

/* BUTTON STYLE */

.mini-tab{
  width: 34px;
  height: 34px;

  display: flex;
  align-items: center;
  justify-content: center;

  position: relative;

  border-radius: 10px;

  background: rgba(11,146,146,0.12);

  color: #0b1a6d;

  font-size: 14px;
  font-weight: 700;

  cursor: pointer;

  transition: 0.3s ease;

  border: 1px solid rgba(11,146,146,0.18);
}

/* HOVER */

.mini-tab:hover{

  transform: translateY(-2px);

  background: rgba(11,146,146,0.2);
}

/* ACTIVE BUTTON */

.mini-tab.active{

  background: #0b9292;

  color: white;

  box-shadow:
    0 0 15px rgba(11,146,146,0.4);
}

.mini-tab.active::after{

  content: "";
  position: absolute;

  left: 0;

  bottom: -6px;

  width: 100%;

  height: 3px;

  border-radius: 10px;

  background: #62eec3;
}

/* SLIDES */

.edu-slide{
  display: none;
}

.edu-slide.active{
  display: block;
}


#home,
#about,
#skills,
#projects{

  position: relative;

  padding-bottom: 4rem;
} 