/* ================= RESET ================= */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Poppins', sans-serif;
}

html, body{
  overflow-x:hidden;
}

/* ================= VARIABLES ================= */
:root{
  --black:#000;
  --white:#fff;
  --primary-color:#F4F3ED;
   --main-color: #070707;
    --heading-color: #fff;
    --primary-color: #F4F3ED;
    --lighter-color: #f7f7f7;
    --subtitle-color: #f7f7f7;
    --black-color: #070707;
    --border-color: rgba(255, 255, 255, 0.0784313725);
    --button-border: rgba(119, 119, 125, .2);
    --body-background: #000;
    --grey-bg: #E6EAEE;
  --text-font: "Poppins", sans-serif;
  --title-font: "Oswald", sans-serif;

}

/* ================= BODY ================= */
body{
  background:var(--black);
  color:var(--white);
  font-family: var(--text-font);
  -webkit-font-smoothing: antialiased;
  padding-top: 25px;
  cursor: none;
}

section{
  padding:0 20px;
}

/* ================= CONTAINER (FIX ADDED) ================= */
.container{
  max-width:1200px;
  margin:auto;
  width:100%;
}
#magic-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
}

/* MAIN BALL */
#ball {
  position: absolute;
  width: 15px;
  height: 14px;

  background: #9999996f; /* gold */
  border-radius: 50%;

  transform: translate(-50%, -50%);
  transition: background 0.3s ease;
}

/* HOVER EFFECT */
#ball.hovered {
  background: #d7c67a;
}

/* OPTIONAL OUTER GLOW */
#ball::after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 1px solid rgba(72, 42, 42, 0.404);
}
@media (max-width: 768px) {
  #ball,
  #ball::after {
    display: none !important;
  }
}
/* ===== PRELOADER ===== */
/* ===== PRELOADER ===== */
/* ===== PRELOADER ===== */
.preloader {
  position: fixed;
  inset: 0;
  background: #000;
  z-index: 999999;

  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* SVG */
.preloader svg {
  position: absolute;
  top: 0;
  width: 100%;
  height: 110%;
  fill: #000;
  z-index: 1;
}

/* TEXT */
.preloader-heading {
  position: relative;
  z-index: 2;
}

.load-text {
  display: flex;
  gap: 8px;
}

.load-text span {
  font-family: 'Poppins', sans-serif;
  font-size: 40px;
  color: #fff;
  opacity: 0;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .load-text span {
    font-size: 28px;
  }
}


/* ================= NAVBAR ================= */
/* ===== NAVBAR ===== */
/* ===== NAVBAR ===== */
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0px 20px;
  background: #fff;
  color: #000;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
   height: 70px;           /* 🔥 fixed height */ 
}

/* ✅ LOGO (PROPER FIX) */
.logo img {
  height: 90px;   /* 🔥 control size here */
  width: auto;    /* keeps ratio */
  object-fit: contain;
  display: flex;
  align-items: center;
}

/* MENU BUTTON */
#menu-btn {
  font-size: 26px;  /* slightly better balance */
  background: none;
  border: none;
  cursor: pointer;
}

/* ================= SIDEBAR ================= */
.sidebar__area{
  position:fixed;
  top:0;
  right:-300px;
  width:300px;
  height:100%;
  background:#000000;
  transition:0.3s;
  z-index:1100;
  box-shadow:-5px 0 15px rgba(0,0,0,0.1);
}

.sidebar__area.active{
  right:0;
}

.sidebar__wrapper{
  padding:20px;
}

.sidebar__close-btn{
  font-size:22px;
  background:none;
  border:none;
  cursor:pointer;
  margin-bottom:20px;
}

.mobile-menu{
  list-style:none;
  padding:0;
}

.mobile-menu li{
  margin:15px 0;
}

.mobile-menu a{
  text-decoration:none;
  color:#ffffff; /* FIXED (removed duplicate white) */
  font-size:18px;
}
.menu-title {
    text-align: center;
    font-weight: bold;
    letter-spacing: 2px;
}

/* ================= OVERLAY ================= */
.body-overlay{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.6);
  opacity:0;
  visibility:hidden;
  transition:0.3s;
  z-index:1000;
}

.body-overlay.active{
  opacity:1;
  visibility:visible;
}

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

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

.main-hero-area {
  background: #F4F3ED;
  padding: 120px 20px;
  position: relative;
  overflow: hidden;
}

/* ================= BIG TITLE ================= */
.hero-title {
  position: absolute;
  top: 120px; /* ✅ FIXED (was wrong: 12opx) */
  left: 50%;
  transform: translateX(-50%);

  font-family: var(--title-font);
  font-size: 220px;
  font-weight: 700;
  letter-spacing: 10px;

   color: #000;     /* ✅ pure black */
  opacity: 1;  /* slightly visible */

  white-space: nowrap;
  z-index: 0;
  pointer-events: none;
}

/* ================= GRID ================= */
.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  gap: 40px;
  position: relative;
  z-index: 2;

  margin-top: 150px; /* ✅ pushes content down */
}

/* ================= LEFT ================= */
.left {
  color: #111; /* better black */
  text-align: right;
}

.reviews h3 {
  font-size: 48px;
  font-weight: 700;
  font-family: var(--title-font);
}

.reviews p {
  font-size: 16px;
  font-weight: 600;
}

.reviews span {
  display: block;
  margin-top: 10px;
  font-size: 14px;
  color: #555;
}

/* ================= IMAGE ================= */
.hero-image {
  display: flex;
  justify-content: center;
  perspective: 1000px;
}

.hero-image img {
  width: 320px;
  border-radius: 25px;

  margin-top: 35px; /* ✅ moved image DOWN */

  transform: rotate(-8deg);
  transition: 0.4s ease;

  box-shadow: 0 20px 50px rgba(0,0,0,0.25);
}

.hero-image img:hover {
  transform: rotate(0deg) scale(1.05);
}

/* ================= RIGHT ================= */
.right {
  color: #111;
  text-align: left;
}

.right p {
  font-size: 16px;
  line-height: 1.8;
  max-width: 320px;
}

/* ================= BUTTON ================= */
.theme-btn {
  display: inline-block;
  margin-top: 20px;
  padding: 12px 28px;
  background: #000;
  color: #fff;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 1px;
  transition: 0.3s;
}

.theme-btn:hover {
  background: #333;
}

/* ================= TABLET ================= */
@media (max-width: 992px) {
  .hero-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .left,
  .right {
    text-align: center;
  }

  .hero-title {
    font-size: 120px;
    letter-spacing: 6px;
  }
}

/* ================= MOBILE ================= */
@media (max-width: 576px) {
  .hero-title {
    font-size: 70px;
    letter-spacing: 3px;
  }

  .hero-image img {
    width: 250px;
  }
}
/* ================= ABOUT ================= */
/* ===== LOGO SECTION ===== */
/* ===== LOGO SECTION ===== */
.logo-section {
  padding: 30px 0;
  text-align: center;
  background: #000;
}

/* heading */
.logo-section h5 {
  font-size: 11px;
  letter-spacing: 4px;
  color: #aaa;
  margin-bottom: 25px;
}

/* slider */
.logo-slider {
  overflow: hidden;
  position: relative;
}

/* fade edges */
.logo-slider::before,
.logo-slider::after {
  content: "";
  position: absolute;
  top: 0;
  width: 60px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

.logo-slider::before {
  left: 0;
  background: linear-gradient(to right, #000, transparent);
}

.logo-slider::after {
  right: 0;
  background: linear-gradient(to left, #000, transparent);
}

/* track */
.logo-track {
  display: flex;
  align-items: center;
  gap: 60px;
  width: max-content;
  will-change: transform;
}

/* each logo wrapper */
.logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* logo images */
.logo img {
  width: 75px;
}

/* hover *

/* ===== ABOUT ===== */
.about {
  padding: 80px 8%;
  position: relative;
  z-index: 2;
  background: #000000; /* WHITE BACKGROUND */
  color: #ffffff;
  font-family: var(--text-font);
}

/* layout */
.about-container {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 50px;
  align-items: start;
  max-width: 1100px;   /* ✅ LIMIT WIDTH */
  margin: 0 auto;      /* ✅ CENTER SECTION */
  width: 100%;
}

/* LEFT TITLE (MATCH SERVICES STYLE) */
.about-left h2 {
  font-size: 50px;              /* match Services */
  font-family: 'Oswald', sans-serif; /* IMPORTANT */
  text-transform: uppercase;
  margin: 0 0 15px;             /* cleaner spacing */
  font-weight: 500;             /* match Services */
  color: #ffffff;               /* exact color */
  letter-spacing: 0.5px;        /* tighter */
  line-height: 1.1;
  position: sticky;
  top: 80px;
}

/* RIGHT CONTENT */
.about-right {
  max-width: 680px; /* tighter for better alignment */
}

/* paragraph */
.about-right p {
  font-size: 18px;
  line-height: 1.8;
  color: #bbb; /* softer white for dark bg */
  margin-bottom: 40px; /* space before stats */
}


/* ===== STATS ===== */
/* ===== STATS ===== */
.stats {
  display: grid;
  grid-template-columns: repeat(3, auto);
  column-gap: 80px;
  margin-top: 40px;
  justify-content: center; /* ✅ center whole row */
}

/* each stat block */
.stats div {
  display: flex;
  flex-direction: column;
  align-items: center;   /* ✅ center content */
  text-align: center;    /* ✅ center text */
}

/* numbers */
.stats h2 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  margin: 0;
}

/* labels */
.stats span {
  font-size: 21px;
  color: #7d7878;
  margin-top: 6px;
  letter-spacing: 0.5px;
}

/* ===== TABLET ===== */
@media (max-width: 992px) {

  .about-container {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .about-left h2 {
    position: static;
  }

  .about-right {
    max-width: 100%;
  }

  .about-right p {
    font-size: 18px;
  }

  /* FIX STATS */
  .stats {
    grid-template-columns: repeat(3, 1fr); /* equal columns */
    column-gap: 30px;
    margin-top: 30px;
  }

  .stats h2 {
    font-size: 34px;
  }
}

/* ===== MOBILE ===== */
@media (max-width: 576px) {

  .about {
    padding: 60px 6%;
  }

  /* FIX: change grid, not flex */
  .stats {
    grid-template-columns: 1fr; /* stack vertically */
    row-gap: 20px;
  }

  .stats h2 {
    font-size: 30px;
  }

  .stats div {
    align-items: flex-start;
  }
}

/* ===== SERVICES AREA ===== */
.services-area {
  padding: 46px 8%;
  background: var(--primary-color);
}

/* GRID (IMPORTANT) */
.services-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
   max-width: 1100px;   /* ✅ same as About */
  margin: 0 auto;  
}

/* CARD */
.service-item {
  position: relative;
  padding: 40px 30px; /* reduced */
  border-radius: 20px;
  border: 1px solid var(--border-color);
  background: var(--lighter-color);
  transition: 0.4s ease;
}

/* NUMBER TAG */
.service-item h5 {
  margin-bottom: 30px;
  color: rgb(119, 119, 125);
  font-family: var(--text-font);
  border: 1px solid #ccc;
  display: inline-block;
  padding: 4px 10px;
  font-size: 12px;
  border-radius: 6px;
  transition: 0.3s;
}

/* TITLE */
.service-item h4 {
  color: var(--main-color);
  font-size: 22px; /* reduced from 30 */
  text-transform: uppercase;
  margin: 10px 0 10px;
  font-family: 'Oswald', sans-serif;
}

/* DESCRIPTION */
.service-item p {
  margin: 0;
  font-size: 14px;
  color: #777;
  line-height: 1.6;
}

/* ICON (ARROW STYLE) */
.service-item i {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 18px;
  color: var(--main-color);
  transition: 0.3s;
}

/* HOVER EFFECT */
.service-item:hover {
  transform: translateY(-6px);
  border-color: var(--primary-color);
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

/* FIXED HOVER SELECTOR */
.service-item:hover h5 {
  color: #fff;
  background: var(--main-color);
  border-color: var(--main-color);
}

/* ICON ROTATE */
.service-item:hover i {
  transform: rotate(45deg);
}
/* HEADER */
.services-header {
  max-width: 1100px;
  margin: 0 auto 40px;
  
}

/* TITLE STYLE (MATCH YOUR DESIGN) */
.services-header h2 {
  font-family: 'Oswald', sans-serif;
  font-size: 50px;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--main-color);
}
@media (max-width: 576px) {

  .services-area {
    padding: 60px 6%;
  }

  .service-item {
    padding: 30px 20px; /* reduce padding */
  }

  .service-item h4 {
    font-size: 18px; /* smaller title */
  }

  .service-item p {
    font-size: 13px;
  }

  .service-item h5 {
    font-size: 11px;
    padding: 3px 8px;
  }

  .services-header h2 {
    font-size: 32px;
     font-family: 'Oswald', sans-serif;
  font-size: 50px;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--main-color);
  }

  .service-item i {
    font-size: 16px;
    top: 15px;
    right: 15px;
  }
}
/* ===== HACKATHON ===== */
.hackathon {
  padding: 100px 8%;
  background: #000;
  color: #fff;
}

/* header */
.hackathon-header {
  max-width: 1100px;
  margin: 0 auto 50px;
}

.hackathon-header h2 {
  font-family: 'Oswald', sans-serif;
  font-size: 50px;
  font-weight: 500;
  text-transform: uppercase;
}

/* grid */
.hackathon-grid {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

/* card */
.hackathon-item {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: #111;
  border: 1px solid #222;
  transition: 0.4s ease;
}

/* number */
.hackathon-item h5 {
  position: absolute;
  top: 15px;
  left: 15px;
  background: #000;
  border: 1px solid #444;
  padding: 4px 10px;
  font-size: 12px;
  border-radius: 6px;
  z-index: 2;
}

/* image */
.hackathon-item img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

/* content */
.hackathon-content {
  padding: 20px;
}

.hackathon-content h4 {
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  margin-bottom: 10px;
}

.hackathon-content p {
  font-size: 14px;
  color: #aaa;
  margin: 3px 0;
}

/* hover */
.hackathon-item:hover {
  transform: translateY(-6px);
  border-color: #fff;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .hackathon-grid {
    grid-template-columns: 1fr;
  }

  .hackathon-header h2 {
    font-size: 36px;
  }
}
/* ================= SKILLS ================= */
/* ===== CERTIFICATIONS ===== */
.certificates {
  padding: 100px 8%;
  background: #f5f3ef; /* ✅ beige */
  color: #000;
}

/* HEADER */
.cert-header {
  max-width: 1100px;
  margin: 0 auto 50px;
}

.cert-header h2 {
  font-family: 'Oswald', sans-serif;
  font-size: 50px;
  text-transform: uppercase;
  font-weight: 500;
}

/* GRID */
.cert-grid {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(450px, 1fr));
  gap: 30px;
   min-height: 280px;
}

/* CARD */
.cert-card {
  background: #fff;
  border-radius: 20px;
  padding: 25px;
  transition: 0.3s ease;
  border: 1px solid #eee;
}
.cert-card.active {
  border: 2px solid #000;
}

/* LOGO */
.cert-card img {
  width: 40px;
  margin-bottom: 15px;
}
.cert-card img {
  background: #f0f0f0;
  padding: 10px;
  border-radius: 50%;
}

/* TEXT */
.cert-card p {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
  margin-bottom: 15px;
}

/* TITLE */
.cert-card h4 {
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  margin-bottom: 5px;
}

/* SUBTEXT */
.cert-card span {
  font-size: 13px;
  color: #888;
}

/* HOVER */
.cert-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .cert-grid {
    grid-template-columns: 1fr;
  }

  .cert-header h2 {
    font-size: 34px;
  }
}
/* ================= PROJECTS ================= */
/* ===== PROJECTS ===== */
/* ===== PROJECTS ===== */
.projects {
  padding: 80px 8%;
  background: #000;
  color: #fff;
}

/* HEADER */
.projects-header {
  max-width: 1100px;
  margin: 0 auto 50px;
}

.projects-header h2 {
  font-family: 'Oswald', sans-serif;
  font-size: 50px;
  font-weight: 500;
  text-transform: uppercase;
}

/* GRID */
.projects-grid {
  max-width: 1100px;
  margin: 0 auto;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  justify-content: center;
}

/* CARD */
.project-card {
  background: #fff;
  color: #000;
  border-radius: 20px;
  overflow: hidden;

  display: flex;
  flex-direction: column;

  position: relative;
  transition: 0.3s ease;
}

/* NUMBER */
.project-card h5 {
  position: absolute;
  top: 15px;
  left: 15px;
  background: #000;
  color: #fff;
  padding: 4px 10px;
  font-size: 12px;
  border-radius: 6px;
  z-index: 2;
}

/* IMAGE */
.project-card img {
  width: 100%;
  height: 180px;
  object-fit:contain;   /* keep this */
  border-radius: 10px;
  transition: 0.4s ease;
}

.project-card:hover img {
  transform: scale(1.1);
}


/* CONTENT */
.project-content {
  padding: 15px;
  flex: 1; /* pushes links down */
}

.project-content h4 {
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  margin-bottom: 10px;
   font-family: 'Oswald', sans-serif;
  font-size: 20px;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.project-content p {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
}

/* LINKS (BOTTOM FIX) */
.project-links {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  
  padding: 10px 20px;
  border-top: 1px solid #eee;
  justify-content: flex-end; 
}

/* ICONS */
.project-links a {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 40px;
  height: 30px;

  font-size: 20px;
  color: #000;

  border-radius: 6px;
  background: #f2f2f2;
}

.project-links a:hover {
    transform: scale(1.08);
}

/* HOVER */
.project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 30px rgba(255,255,255,0.08);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .projects-grid {
    grid-template-columns: 1fr;
  }

  .projects-header h2 {
    font-size: 36px;
  }
}
/* ===== RESUME ===== */
.resume {
  padding: 100px 8%;
  background: #000;
  color: #fff;
}
body {
  overflow-x: hidden;
}
/* CONTAINER */
.resume-container {
  max-width: 1100px;
  margin: 0 auto;

  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 40px;
  align-items: center;
}


/* LEFT */
.resume-left h2 {
  font-family: 'Oswald', sans-serif;
  font-size: 50px;
  text-transform: uppercase;
  margin-bottom: 20px;

  color: #ffffff; /* gold */
}

.resume-left p {
  font-size: 16px;
  color: #ccc;
  line-height: 1.7;
  margin-bottom: 30px;
}

/* BUTTON */
.resume-btn {
  display: inline-block;
  padding: 12px 22px;

  background: #ffffff;
  color: #000;

  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;

  transition: 0.3s;
      display: block;
    width: fit-content;
    margin-bottom: 12px;
}

.resume-btn:hover {
  background: #fff;
}

/* RIGHT BOX */
/* RIGHT BOX */
.resume-right {
  background: #111;
  border: 1px solid #2a2a2a;
  border-radius: 16px;
  padding: 30px;
  color: #fff;
}

/* TITLE */
.resume-right h3 {
  font-family: 'Oswald', sans-serif;
  font-size: 22px;
  margin-bottom: 20px;
}

/* ===== RATING DISPLAY ===== */
.rating-display {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.rating-display .stars {
  color: #d4af37; /* gold */
  font-size: 18px;
}

.rating-display .score {
  font-size: 14px;
  color: #aaa;
}

/* ===== FORM ===== */
.review-form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* LABEL */
.review-form label {
  font-size: 13px;
  color: #bbb;
}

/* ===== STAR INPUT ===== */
.star-input {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 5px;
}

/* hide radio */
.star-input input {
  display: none;
}

/* stars */
.star-input label {
  font-size: 24px;
  color: #444;
  cursor: pointer;
  transition: 0.3s;
}

/* hover effect */
.star-input label:hover,
.star-input label:hover ~ label {
  color: #d4af37;
}

/* selected stars */
.star-input input:checked ~ label {
  color: #d4af37;
}

/* ===== TEXTAREA ===== */
.review-form textarea {
  width: 100%;
  padding: 12px;

  background: #000;
  border: 1px solid #333;
  border-radius: 8px;

  color: #fff;
  font-size: 14px;

  outline: none;
  resize: none;
  min-height: 100px;
}

/* focus */
.review-form textarea:focus {
  border-color: #d4af37;
}

/* ===== BUTTON ===== */
.review-form button {
  padding: 12px;

  background: #153516;
  color: #000;

  border: none;
  border-radius: 8px;

  font-weight: 600;
  cursor: pointer;

  transition: 0.3s;
}

.review-form button:hover {
  background: #fff;
}
/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .resume-container {
    grid-template-columns: 1fr;
  }

  .resume-left h2 {
    font-size: 36px;
  }
  .resume-container {
  gap: 50px; /* desktop spacing */
  
}
}
/* ===== CONTACT ===== */
.contact {
   padding: 80px 8%;
  background: #f5f1ea; /* beige */
  color: #000;
}

/* HEADER */
.contact-header {
  max-width: 1100px;
  margin: 0 auto 50px;
}

.contact-header h2 {
  font-family: 'Oswald', sans-serif;
  font-size: 50px;
  font-weight: 500;
  text-transform: uppercase;
}

/* CONTAINER */
.contact-container {
  max-width: 700px;
  margin: 0 auto;
}

/* FORM CARD */
.contact-form {
  background: #fff;
  padding: 40px;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);

  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* INPUT GROUP */
.input-group input,
.input-group textarea {
  width: 100%;
  padding: 14px 16px;

  border: 1px solid #ddd;
  border-radius: 8px;

  font-family: var(--text-font);
  font-size: 14px;

  outline: none;
  transition: 0.3s;
}

/* FOCUS */
.input-group input:focus,
.input-group textarea:focus {
  border-color: #000;
}

/* BUTTON */
.contact-form button {
  margin-top: 10px;
  padding: 14px;

  border: none;
  border-radius: 8px;

  background: #000;
  color: #fff;

  font-family: var(--text-font);
  font-size: 14px;
  cursor: pointer;

  transition: 0.3s;
}

.contact-form button:hover {
  background: #333;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {

  .contact {
    padding: 60px 6%;
  }

  .contact-header h2 {
    font-size: 36px;
  }

  .contact-form {
    padding: 25px;
  }
}
/* ================= FOOTER ================= */
/* ===== FOOTER CTA ===== */
.footer-cta {
  padding: 100px 8% 40px;
  background: #000;
  color: #fff;
}

/* CONTAINER */
.footer-container {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  display: flex;              /* 🔥 change from grid */
  flex-direction: column;
  align-items: center;        /* center horizontally */
  text-align: center;
}

/* LEFT */
.footer-left h2 {
  font-family: 'Oswald', sans-serif;
  font-size: 48px;
  color: #ffffff;
  text-align: center;
  margin-bottom: 15px;
}

.footer-left p {
  color: #bbb;
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 25px;
}

/* BUTTONS */
.footer-buttons {
  display: flex;
  gap: 15px;
}

/* PRIMARY */
.btn-primary {
  padding: 12px 20px;
  background: #d4af37;
  color: #000;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  transition: 0.3s;
}

.btn-primary:hover {
  background: #fff;
}

/* OUTLINE */
.btn-outline {
  padding: 12px 20px;
  border: 1px solid #d4af37;
  color: #d4af37;
  border-radius: 6px;
  text-decoration: none;
  transition: 0.3s;
}

.btn-outline:hover {
  background: #d4af37;
  color: #000;
}

/* RIGHT */
.footer-right h4 {
  font-size: 18px;
  margin-bottom: 15px;
}

.footer-right ul {
  list-style: none;
  padding: 0;
}

.footer-right li {
  margin-bottom: 10px;
}

.footer-right a {
  color: #aaa;
  text-decoration: none;
  transition: 0.3s;
}

.footer-right a:hover {
  color: #d4af37;
}

/* BOTTOM */
.footer-bottom {
  text-align: center;
  margin-top: 60px;
  padding-top: 20px;
  border-top: 1px solid #222;
}

.footer-bottom p {
  font-size: 13px;
  color: #666;
}
/* ===== HIRE SECTION ===== */
.footer-hire {
  margin-top: 60px;
  text-align: center;
}

/* HIRE ME TITLE */
.footer-hire h2 {
  font-family: 'Poppins', sans-serif; /* ✅ as requested */
  font-size: clamp(80px, 10vw, 180px); 
  text-transform: uppercase;
  letter-spacing: 2px;

  margin-bottom: 20px;
  color: #fff;
}

/* LINKS */
.hire-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
    align-items: center;
}

/* LINK STYLE */
.hire-links a {
  color: #aaa;
  font-size: 14px;
  text-decoration: none;
  transition: 0.3s;
}

/* HOVER */
.hire-links a:hover {
  color: #d4af37; /* gold */
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .footer-container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-buttons {
    justify-content: center;
  }

  .footer-left h2 {
    font-size: 60px;
    font-size: 65px;
  }
}
.single-page-hero-area {
    padding-top: 200px;
    padding-bottom: 80px;
    background: #F4F3ED;

    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* CENTER FIX (only if using container) */
.single-page-hero-area .container,
.single-page-hero-area .row,
.single-page-hero-area .col-lg-12 {
    width: 100%;
    display: flex;
    justify-content: center;
}

/* TYPING TEXT (ONLY ONE BLOCK) */
#typing-text {
    font-size: 150px;
    font-family: "Oswald", sans-serif;
    text-transform: uppercase;
    color: #000;

    display: inline-block;
    text-align: center;

    border-right: 4px solid #000;
    white-space: nowrap;
    overflow: hidden;

    animation: blink 0.8s infinite;
}

/* CURSOR (ONLY ONE) */
@keyframes blink {
    50% {
        border-color: transparent;
    }
}

/* MOBILE */
@media (max-width: 768px) {
    .single-page-hero-area {
        padding-top: 120px;
        padding-bottom: 60px;
    }

    #typing-text {
        font-size: 42px;
        border-right: 2px solid #000;
    }
}
/* RESUME SECTION */
/* ================= RESUME SECTION ================= */
.resume-area {
  padding: 40px 8%;
  background: #F4F3ED;
}

/* ================= HEADER ================= */
.resume-header {
  max-width: 1100px;
  margin: 0 auto 40px;
}

.resume-header h2 {
  font-size: 36px;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  color: #111;
}

/* ================= CONTAINER ================= */
.resume-container {
  max-width: 900px;
  margin: auto;
}

/* ================= TIMELINE WRAPPER ================= */
.resume-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 25px;
  padding-left: 30px;
}

/* LEFT LINE */
.resume-wrapper::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  width: 2px;
  height: 100%;
  background: #ddd;
}

/* ================= CARD ================= */
.resume-box {
  position: relative;
  background: #fff;
  padding: 25px 25px;
  border-radius: 14px;
  transition: 0.3s ease;
}

/* DOT */
.resume-box::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 20px;
  width: 12px;
  height: 12px;
  background: #111;
  border-radius: 50%;
}

/* ================= HOVER ================= */
.resume-box:hover {
  transform: translateX(5px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

/* ================= DATE ================= */
.resume-date {
  font-size: 12px;
  color: #777;
  margin-bottom: 5px;
}

/* ================= TITLE ================= */
.resume-box h2 {
  font-size: 36px;
  color: #111;
  margin: 5px 0;
  font-family: 'poppins', sans-serif;
}

/* ================= SUB TEXT ================= */
.resume-box span {
  font-size: 13px;
  color: #777;
}

/* ================= DESC ================= */
.resume-box p {
  font-size: 14px;
  color: #777;
  margin-top: 8px;
  line-height: 1.6;
}

/* ================= MOBILE ================= */
@media (max-width: 768px) {
  .resume-wrapper {
    padding-left: 20px;
  }

  .resume-box::before {
    left: -18px;
  }

  .resume-header h2 {
    font-size: 36px;
  }
}

/* MOBILE */

@media (max-width: 576px) {
    .resume-wrapper {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .resume-area {
        padding: 49px 15px;
    }

    .resume-header {
        margin-bottom: 25px;
    }

    .resume-header h2 {
        font-size: 32px;
      
    }

    .resume-box {
        padding: 30px 20px;
        border-radius: 15px;
    }

    .resume-box h2 {
        font-size: 22px;
    }

    .resume-date {
        font-size: 11px;
        padding: 4px 12px;
    }

    .resume-box p {
        font-size: 14px;
        line-height: 1.6;
    }
}

/* SMALL MOBILE */
@media (max-width: 480px) {
    .resume-header h2 {
       
        font-size: 36px;
    }

    .resume-box h2 {
        font-size: 20px;
    }

    
}
/* ===== MAIN WRAPPER ===== */
html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-smooth iframe {
    pointer-events: none;
}

body.loaded {
    overflow: hidden !important;
    height: 100% !important;
}

.preloader {
    position: fixed;
    z-index: 10;
    height: 100vh;
    width: 100%;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: transparent;
    z-index: 99999999999999;
}

.preloader svg {
    position: absolute;
    top: 0;
    width: 100vw;
    height: 110vh;
    fill: var(--body-background);
}

.preloader .preloader-heading .load-text {
    font-size: 20px;
    font-weight: 200;
    letter-spacing: 15px;
    text-transform: uppercase;
    z-index: 20;
}
/* SKILLS SECTION */
/* SKILLS SECTION */
/* ================= SKILLS SECTION ================= */
/* ===== GLOBAL FIX (IMPORTANT) ===== */
body {
  background: #F4F3ED; /* beige */
}

/* ================= SKILLS SECTION ================= */
.skills-area {
  padding: 30px 8%;
  background: #F4F3ED;
}

/* ================= HEADER ================= */
.skills-header {
  max-width: 1100px;
  margin: 0 auto 40px;
}

.skills-header h2 {
  font-size: 36px;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.5px;
}

/* ================= GRID ================= */
.skills-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px; /* reduced to remove black gap feel */
  max-width: 1100px;
  margin: 0 auto;
}

/* ================= CARD ================= */
.skill-card {
  position: relative;
  padding: 35px 25px;
  border-radius: 18px;
  background: #ffffff;
  border: none; /* removed border */
  transition: 0.3s ease;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

/* ================= HOVER ================= */
.skill-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 25px rgba(0,0,0,0.08);
}

/* ================= TITLE ================= */
.skill-card h3 {
  color: #111;
  font-size: 20px;
  text-transform: uppercase;
  margin: 10px 0;
  font-family: 'poppins', sans-serif;
}

/* ================= TEXT ================= */
.skill-card p {
  margin: 0;
  font-size: 14px;
  color: #777;
  line-height: 1.6;
}

/* ================= ICON ================= */
.skill-icon {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 28px;
  height: 28px;
  object-fit: contain;
  opacity: 0.85;
  transition: 0.3s;
}

/* ICON HOVER */
.skill-card:hover .skill-icon {
  transform: scale(1.1);
}

/* ================= MOBILE ================= */
@media (max-width: 768px) {
  .skills-container {
    grid-template-columns: 1fr;
  }

  .skills-header h2 {
    font-size: 32px;
  }
}

/* ================= MOBILE ================= */
@media (max-width: 768px) {
  .skills-container {
    grid-template-columns: 1fr;
  }

  .skills-header h2 {
    font-size: 32px;
  }
}

/* ================= MOBILE ================= */
@media (max-width: 768px) {
  .skills-container {
    grid-template-columns: 1fr;
  }

  .skills-header h2 {
    font-size: 32px;
  }
}
/* ================= TABLET ================= */
@media (max-width: 992px) {
    .skills-container {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .skill-card {
        padding: 40px 25px;
    }

    .skills-header h2 {
        font-size: 40px;
    }
}

/* ================= MOBILE ================= */
@media (max-width: 576px) {
    .skills-container {
        grid-template-columns: 1fr;
    }

    .skills-area {
        padding: 80px 15px;
    }

    .skills-header {
        margin-bottom: 40px;
    }

    .skills-header h2 {
        font-size: 36px;
    }

    .skill-card {
        padding: 30px 20px;
        border-radius: 15px;
    }

    .skill-card h3 {
        font-size: 22px;
    }

    .skill-card p {
        font-size: 14px;
    }

    .skill-icon {
        width: 26px;
        height: 26px;
    }
}

/* ================= SMALL MOBILE ================= */
@media (max-width: 480px) {
    .skills-header h2 {
        font-size: 36px;
    }

    .skill-card h3 {
        font-size: 20px;
    }
}