:root{
  --max-width:1100px;
  --accent:#0b0b0b;
  --muted:#6b7280;
  --gap:50px;
  --container-pad:50px;
}


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


*{box-sizing:border-box;margin:0;padding:0}
html,body{
  height:100%;
 overflow-x: hidden;
 
}

body{
  color:var(--accent);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  line-height:1.45;
  margin: 0;
  font-family: inter, sans-serif;
  transition: background-color 0.4s linear;
}
.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--container-pad);}

@font-face {
  font-family: 'UfficioDisplay-400';
  src: url('Fonts/UfficioDisplay-400.otf') format('opentype');
}

@font-face {
  font-family: 'UfficioDisplay-500';
  src: url('Fonts/UfficioDisplay-500.otf') format('opentype');
}

mark {
  background-color: #bec8b4;
}

section {
  background: transparent;
}


/* === PRELOADER === */
#preloader {
  position: fixed;
  inset: 0;
  background: #3b253c
;
  z-index: 9999;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 20px;
  opacity: 1;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  font-family: "UfficoDisplay-400", sans-serif;
}
#preloader.hidden {
  opacity: 0;
  visibility: hidden;
}
.preloader-text {
  font-family: "UfficoDisplay-400", sans-serif;
  font-size: 14px;
  color: #bec8b4;
  display: flex;
  flex-direction: column;
  gap: 4px;
}


/* === NAVIGATION === */  

.nav_container {
  position: fixed;
  top: 0; /* or whatever vertical offset you want */
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between; /* left pill vs right pill */
  align-items: center;
  padding: 1rem 2rem;
  background: transparent; 
  z-index: 1000;
}

/* Apply blur only to pills */
.light-pill,
.dark-pill {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}



/* Adjusting content padding to prevent navbar from covering it */
.content {
  padding-top: 80px; /* Adjust based on navbar height */
}


.nav_center-wrapper,
.nav_right-wrapper {
  display: flex;
  align-items: center;
}

.nav_center-wrapper nav a {
  margin: 0 1rem;
  text-decoration: none;
  color: #333;
}

.nav_center-wrapper nav a:hover {
  color: #3b253c93;
}

.nav_right-wrapper span {
  font-weight: bold;
  color: #3b253c93; /* makes it stand out */
}


/* Shared pill styles */
.nav_box {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  font-weight: 500;
  z-index: 1000; 
}

/* Keep your colors/transparency */
.light-pill {
  background: #31ab6864; /* semi-transparent red */
  color: black;
  font-family: 'UfficioDisplay-400', sans-serif;
}

.dark-pill {
  background: #3b253c93; /* semi-transparent black */
  font-family: 'UfficioDisplay-400', sans-serif;
}

.dark-pill a {
  color: white;
  text-decoration: none;
}

.dark-pill a:hover {
  opacity: 80%;
}


/* === HERO === */

.hero {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 2rem;
  color: #31ab67;
  background: #31ab67; /* optional */
}

.hero-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: var(--max-width);
  width: 100%;
  height: 100%;
}

.hero-text, 
.hero-photo {
  flex: 1; /* split 50/50 */
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero-text {
  align-items: flex-start;
  gap: 1rem;
  padding-right: 2rem;
}

.hero-name {
  font-size: clamp(2rem, 5vw, 6rem);
  font-family: 'UfficioDisplay-400', sans-serif;
  color: #3b253c;
  margin: 0;
  line-height: 1.1;
}


.hero-tagline {
  font-family: "UfficioDisplay-400", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  color: #000;
  line-height: 1.6;
  white-space: pre-line;
}

.highlight {
  background: #ffffff; /* soft yellow highlight */
  padding: 2px 6px;
  border-radius: 3px;
}

.cursor {
  display: inline-block;
  margin-left: 2px;
  animation: blink 1s step-start infinite;
}

@keyframes blink {
  50% { opacity: 0; }
}


.hero-photo {
  align-items: center;
  justify-content: center;
}

.hero-photo img {
  max-width: 100%;
  height: auto;
  border-radius: 12px; /* optional */
  object-fit: cover;
}



.about {
  background-color: transparent;
  padding: 60px 20px;
}

.about-container {
  display: grid;
  grid-template-rows: auto auto; /* stacked */
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  gap: 40px;

}



/* Text stays centered below or above depending on order */
.about-text {
  max-width: 800px;
  padding-top: 500px; /* matches image height so text starts at same vertical point */
  width: 85%; /* match the image's width: 85% */
  margin: 0 auto; /* keeps both centered in the same spot */
  text-align: left; /* or center if you still want centered text inside */
  font-family: "UfficioDisplay-400", sans-serif;

}

.about-headline {
  font-size: 28px;
  font-weight: 500;
  font-family: inter, sans-serif;
  margin-bottom: 20px;
  line-height: 1.4;
  color: black;
  width: 95%; /* match the image's width: 85% */
  margin: 0 auto; /* keeps both centered in the same spot */
  text-align: left; /* or center if you still want centered text inside */
  font-family: "UfficioDisplay-400", sans-serif;

}






.about-image {
  grid-row: 2;
  position: relative;
  overflow: visible;
  border-radius: 16px;
  transition: all 0.8s ease;
  margin:auto;  
  will-change: transform, width;
  display: flex;
  justify-content: center; /* horizontal */
  align-items: center;     /* vertical */
  padding-top: 3%;
}


.about-image img {
  width: 95%;
  height: 500px;
  border-radius: 16px;
  object-fit: cover;
  margin:auto;
  transform: translateY(0px);
  transition: transform 0.2s linear;
}

.about-location {
  position: absolute;
  bottom: 16px;
  right: 16px;
  background: white;
  color: black;
  font-size: 14px;
  padding: 6px 12px;
  border-radius: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}



/* === PROJECTS === */
.projects {
  padding: 80px 1.5rem;
  box-sizing: border-box;
  background-color: #3b253c; /* soft light gray-green background */
  color: #3b253c;
}

.section-title {
  font-size: clamp(2rem, 4vw, 6rem);
  padding-left: 0.5rem;
  letter-spacing: 2px;
  color: #ff1d65;
  margin-bottom: 18px;
  

  font-family: 'UfficioDisplay-400', sans-serif; /* switched from Inter */
  font-weight: 400;
  line-height: 1.1;
}

.projects-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  max-width: 100%;
}

.project-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 800px;
  width: 100%;
}

.project-media img {
  width: 100%;
  max-width: 450px; /* corrected so it's not "width: 450" */
  height: 350px;
  object-fit: cover;
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.project-media:hover img {
  transform: translateY(-8px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.project-title {
  font-size: 20px;
  margin: 0;
  font-family: 'UfficioDisplay-400', sans-serif; /* consistent font */
  color: #ff1d65
}

.project-meta {
  color: #31ab67 ;
  font-size: 14px;
  margin-top: 6px;
  font-family: 'UfficioDisplay-400', sans-serif;

}

.project-desc {
  margin-top: 8px;
  color: #ffffff;
  font-family: 'UfficioDisplay-400', sans-serif;

}

.project-info a {
  color: #ffffff;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid var(--accent);
  padding-bottom: 2px;
  font-family: 'UfficioDisplay-400', sans-serif;

}

.project-info a:hover {
  opacity: 0.7;
}


/* === EXPERIENCE === */
.experience {
  background: #02afff; 
  padding: 80px 20px;
  font-family: 'UfficioDisplay-400', sans-serif;
  color: #3b253c;
  
}

.experience .section-title {
  font-weight: 400;
  color: #3b253c;
  margin-bottom: 50px;
  text-align: left;
  font-size: clamp(2rem, 4vw, 6rem);
  padding-left: 0.5rem;
  letter-spacing: 2px;
  
}

/* Timeline container */
.timeline {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* Timeline item (card style) */
.timeline-item {
  background: #3b253c;
  border-left: 6px solid #bec8b4; /* accent strip */
  padding: 1.5rem 2rem;
  border-radius: 12px;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.timeline-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

/* Date pill */
.timeline-date {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 500;
  background: #31ab67;
  color: #ffffff;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 10px;
}



/* Title */
.timeline-title {
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: 6px;
  color: #bec8b4;
}

/* Description */
.timeline-desc {
  font-size: 0.95rem;
  color: #ffffff;
  line-height: 1.5;
}


.skills {
  margin-top: 10px;
}

.skills span {
  display: inline-block;
  background: #31ab67; /* unified accent color */
  color: #ffffff;
  padding: 4px 10px;
  margin: 4px 4px 0 0;
  border-radius: 12px;
  font-size: 13px;
}

/* When active (animation trigger) */
.timeline.active::before {
  transform: scaleY(1);
}

.timeline-item.active .timeline-arrow {
  opacity: 1;
  transform: translateX(0);
}

.timeline-item.active .timeline-content {
  opacity: 1;
  transform: translateX(0);
}

/* === CONTACT ME === */
.contact {
  position: relative;
  height: 100vh; /* full-screen section */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #31ab67;
}





/* === SKILLS === */
body {
  margin: 0; /* ✅ removes default white space */
  padding: 0;
}

.expertise {
  width: 100%;
  background-color: #ffffff;  /* full-width background */
  padding: 80px 0;
}

.expertise .container {
  max-width: 1200px; /* keeps content centered */
  margin: 0 auto;
  padding: 0 20px;   /* safe side padding */
}

.expertise ul {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0;
}

.expertise li {
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 14px;
  color: #fff;
  background-color: #ff1d65;
  font-family: "UfficioDisplay-400", sans-serif;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.expertise li:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}



.contact {
  height: 100vh; /* full screen */
  display: flex;
  align-items: center;   /* vertical center */
  justify-content: center; /* horizontal center */
  background: #31ab67;
  color: #3b253c;
  padding: 0 2rem;
}

.contact-content {
  display: flex;
  flex-direction: column; /* stack title + tagline + button vertically */
  align-items: left;    /* center everything horizontally */
  justify-content: center;/* center vertically */
  text-align: left;     /* ensures text itself is centered */
  max-width: var(--max-width);
  width: 100%;
  height: 100%;
}

.contact-text {
  display: flex;
  flex-direction: column;
  align-items: center;   /* align the block itself */
  gap: 1rem;             /* clean spacing */
  padding: 0;            /* no side push */
}

.contact-title {
  font-size: 7.2rem;
  font-family: 'UfficioDisplay-400', sans-serif;
  color: #3b253c;
  margin: 0;
  line-height: 1.1;
}

.contact-tagline {
  font-size: 1.2rem;
  font-family: 'UfficioDisplay-400', sans-serif;
  color: #000;
  line-height: 1.6;
  padding-left: 35px;
}

.contact-button {
  display: inline-block;
  padding: 10px 20px;
  background: #3b253c;
  color: #fff;
  font-weight: 600;
  font-family: "UfficioDisplay-400", sans-serif;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
  margin-top: 1.5rem;
}

.contact-button:hover {
  background: #fff;
  color: #3b253c;
}







/* === FOOTER === */
.site-footer{padding:40px 0;text-align:center;color:var(--muted);font-size:14px; font-family: "UfficioDisplay-400", sans-serif}
.site-footer a{color:var(--accent);font-weight:500;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer{color: #3b253c}
/* === RESPONSIVE === */
@media(min-width:768px){
  .projects-grid{grid-template-columns:repeat(2,1fr)}
  .nav .links a{margin-left:28px}
}

/* === FADE-IN ANIMATION === */
.fade-in{opacity:0;transform:translateY(8px);transition:opacity .6s ease, transform .6s ease}
.fade-in.is-visible{opacity:1;transform:none}


/* === UNIFIED HEADING ALIGNMENT ===
   Ensures headings align exactly with .container content column
*/
.section-title,
.about-headline,
.experience .section-title,
.contact-title,
.hero-name,
.hero-tagline,
.project-title {
  max-width: var(--max-width);      /* same central column width */
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-pad);
  padding-right: var(--container-pad);
  box-sizing: border-box;
  text-align: left;
}

/* uniform vertical spacing for headings */
.section-title,
.about-headline,
.hero-name {
  margin-top: 0;
  margin-bottom: 28px; /* adjust spacing between heading & content */
}

/* make .about-headline look like a headline (tweak size as needed) */
.about-headline {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--accent);
  padding-top: 0; /* remove that huge padding you had */
}

/* ensure hero container still keeps its 2-column layout but headings use same column edges */
.hero-content { max-width: var(--max-width); margin: 0 auto; padding: 0 var(--container-pad); }

/* responsive tweak: reduce container padding on small screens if you want */
@media (max-width: 480px) {
  :root { --container-pad: 18px; }
  .section-title,
  .about-headline,
  .contact-title,
  .hero-name { margin-bottom: 20px; }
}


