/* ── Fonts ── */
@font-face {
  font-family: 'Bricolage Grotesque';
  src: url('assets/fonts/BricolageGrotesque-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  src: url('assets/fonts/BricolageGrotesque-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ── Reset ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: #fffefa;
  color: #1f1f1f;
  font-family: 'Bricolage Grotesque', 'Inter', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 28px;
}
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }
ul { list-style: disc; padding-left: 1.25rem; }

/* ── Page container ── */
.page { width: 1280px; margin: 0 auto; overflow: hidden; }

/* ════════════════════════════════
   NAV
════════════════════════════════ */
nav {
  display: flex;
  justify-content: center;
  padding: 48px 0 40px;
}
.logo a { display: block; line-height: 0; }
.logo img { width: 600px; height: auto; }

/* ════════════════════════════════
   HERO
════════════════════════════════ */
.hero {
  position: relative;
  padding: 0 75px 80px;
}

/* "HELLO THERE!" background text */
.hello-bg {
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 1;
}
.hello-bg img { width: 100%; height: auto; }

/* 3-column hero grid */
.hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 268px 1fr;
  gap: 0 48px;
  align-items: center;
  padding-top: 60px;
}

/* Left column — right-aligned */
.hero-left {
  text-align: right;
}
.hero-intro-bold {
  font-weight: 700;
  font-size: 14px;
  line-height: 28px;
  color: #1f1f1f;
}
.hero-intro-light {
  font-size: 14px;
  line-height: 28px;
  color: #1f1f1f;
}
.hero-gap { height: 28px; }
.hero-stat {
  font-size: 14px;
  line-height: 28px;
  color: #1f1f1f;
}
.hero-stat strong { font-weight: 700; }
.hero-body {
  font-size: 14px;
  line-height: 28px;
  color: #1f1f1f;
}
.hero-body strong { font-weight: 700; }

/* Centre column — profile photo */
.hero-photo-svg {
  width: 232px;
  height: auto;
  display: block;
}
.hero-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  position: relative;
}
.profile-wrap {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
}
/* Outer rotated frame (the mask-group layer) */
.profile-outer {
  transform: rotate(-8.34deg);
  border-radius: 100px;
  border: 1px solid #dbdbdb;
  overflow: hidden;
  width: 196px;
  height: 263px;
  position: relative;
  z-index: 2;
}
/* Inner photo with slight counter-rotation */
.profile-inner {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.profile-inner img {
  width: 155%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  position: absolute;
  left: -27%;
  top: 0;
}

/* Monogram / "Vamsi" group below photo */
.hero-monogram {
  margin-top: -30px;
  position: relative;
  z-index: 3;
  width: 90px;
  height: 90px;
}
.hero-monogram img { width: 100%; height: auto; }

/* Right column — left-aligned */
.hero-right {
  text-align: left;
}
.hero-name {
  font-size: 15px;
  font-weight: 400;
  line-height: 28px;
  color: #1f1f1f;
}

/* ════════════════════════════════
   PROJECTS HEADER
════════════════════════════════ */
.projects-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 10px 0 36px;
}
.arrow-wrap { width: 57px; height: 74px; }
.arrow-wrap img { width: 100%; height: 100%; object-fit: contain; }
.projects-label {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 800;
  font-size: 18px;
  letter-spacing: 10.08px;
  text-transform: uppercase;
  color: #8b3f41;
  text-align: center;
}

/* ════════════════════════════════
   PROJECTS GRID
════════════════════════════════ */
.projects { padding: 0 67px 80px; }

.projects-grid {
  display: grid;
  grid-template-columns: repeat(3, 340px);
  gap: 0 40px;
  row-gap: 60px;
  justify-content: center;
}

.project-card-link { display: contents; }
.project-card-link:hover .project-img { opacity: 0.9; }
.project-card { display: flex; flex-direction: column; gap: 0; cursor: pointer; }
.project-img { margin-bottom: 10px; }
.project-title { margin-bottom: 5px; }

.project-img {
  width: 340px;
  height: 281px;
  border-radius: 10px;
  overflow: hidden;
  background: #d9d9d9;
}
.project-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-img--svg img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f5f5f5;
}
.project-img--empty {
  background: #fbfbfb;
  border: 1px dashed #bfbfbf;
}

.project-category {
  font-size: 14px;
  line-height: 23px;
  color: #1f1f1f;
  margin-top: 2px;
}
.project-title {
  font-weight: 600;
  font-size: 18px;
  line-height: 24px;
  color: #8b3f41;
}

/* Behance CTA card */
.project-card--cta { justify-content: flex-start; }
.view-all-svg { width: 340px; height: 281px; display: block; object-fit: fill; }
.behance-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: 15px;
  line-height: 24px;
  color: #8b3f41;
  margin-top: auto;
}
.export-icon { width: 24px; height: 24px; object-fit: contain; }

/* ════════════════════════════════
   WORK EXPERIENCE
════════════════════════════════ */
.work-exp {
  position: relative;
  padding: 70px 0 120px;
}
.work-exp-svg {
  width: 80%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.exp-cols {
  display: grid;
  grid-template-columns: 862px 1fr;
  gap: 0 30px;
  padding: 0 127px 0 127px;
  align-items: start;
}

/* Left side — stacked cards */
.exp-left {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Right side — education cards */
.exp-right {
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding-top: 90px;
}

/* ── Base exp card ── */
.exp-card {
  background: #fff;
  border: 1px solid #8b3f41;
  border-radius: 50px;
  box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.15);
  transform: rotate(var(--rot, 0deg));
  transform-origin: center center;
}

.exp-card--dv {
  padding: 40px 48px;
  width: 824px;
}
.exp-card--sm {
  padding: 32px 48px;
  width: 824px;
}
.exp-card--edu {
  padding: 32px 40px;
}

.exp-card-top {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 20px;
}
.exp-logo {
  width: 73px;
  height: 69px;
  border-radius: 12px;
  object-fit: cover;
  flex-shrink: 0;
}

.exp-edu-top {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 16px;
}
.edu-cap {
  width: 56px;
  height: 56px;
  object-fit: contain;
  flex-shrink: 0;
}

.exp-role {
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  color: #8b3f41;
}
.exp-company {
  font-size: 14px;
  line-height: 22px;
  color: #1f1f1f;
}
.exp-dates {
  font-size: 14px;
  line-height: 22px;
  color: #1f1f1f;
}
.exp-mt-sm { margin-top: 4px; }

.exp-body {
  font-size: 14px;
  line-height: 22px;
  color: #1f1f1f;
}
.exp-body ul {
  margin: 4px 0 8px;
}
.exp-body li { margin-bottom: 2px; }
.exp-bold { font-weight: 700; margin-bottom: 4px; }
.exp-mt { margin-top: 10px; }
.exp-body strong { font-weight: 700; }

/* ════════════════════════════════
   CONTACT
════════════════════════════════ */
.contact {
  padding: 0 75px 60px;
  display: flex;
  justify-content: center;
}
.contact-card {
  width: 826px;
  border: 1px solid #8b3f41;
  border-radius: 50px;
  padding: 46px 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
}
.contact-body {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 24px;
  color: #1f1f1f;
}
.contact-email {
  font-family: 'Figtree', 'Bricolage Grotesque', sans-serif;
  font-weight: 600;
  font-style: italic;
  font-size: 32px;
  line-height: 28px;
  color: #8b3f41;
  letter-spacing: -0.3px;
}
.contact-email:hover { opacity: 0.8; }

/* ════════════════════════════════
   MARQUEE
════════════════════════════════ */
.marquee {
  overflow: hidden;
  width: 100%;
  padding: 20px 0 80px;
}
.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee-scroll 18s linear infinite;
}
.marquee-img {
  height: 113px;
  width: auto;
  flex-shrink: 0;
}
@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
