/* =================================================================== */
/* PAGE:      Our Work Page.                                           */
/* FILE:      our-work.css                                             */
/* =================================================================== */
/* Table of Contents
/* 1.0 Global Styles
/* 2.0 Hero Section
    /* 2.1 .hero (Container)
    /* 2.2 .hero > * (Grid Layering)
    /* 2.3 .hero__bg
    /* 2.4 .hero__img
    /* 2.5 .hero__title
    /* 2.6 .hero__overlay
/* 3.0 Projects Intro Section
    /* 3.1 Shared Layout (.projects, .past-projects, .publications)
    /* 3.2 .projects__intro & .projects__intro-content
    /* 3.3 .projects__intro-title
    /* 3.4 .projects__intro-text & .projects__intro-cta
    /* 3.5 .projects__intro-button-donate
    /* 3.6 Decorative Shapes (.deco-shape)
/* 4.0 Projects Cards
    /* 4.1 .projects__card (Basics)
    /* 4.2 .projects__card-title & .past-projects__card-title
    /* 4.3 .projects__card-text, etc.
    /* 4.4 .projects__card-subtitle
    /* 4.5 Layered Image Components
/* 5.0 Past Projects Section
    /* 5.1 .past-projects__title
    /* 5.2 .past-projects__slider-wrapper
    /* 5.3 .past-projects__card (Carousel Logic)
    /* 5.4 .past-projects__card-info & .mobile-info
    /* 5.5 .past-projects__card-info & .mobile-info
    /* 5.6 .past-projects__card-picture
    /* 5.7 .past-projects__card-img
    /* 5.8 .past-projects__desktop-overlay
    /* 5.9 Carousel Navigation
/* 6.0 Publications Section
    /* 6.1 .publications__title
    /* 6.1 .publications__subtitle
    /* 6.2 .publications__slider-wrapper
    /* 6.3 .publications__card
    /* 6.4 .publications__card a (Title Link)
/* ==================================================================== */

/* ========================= 1.0 Global Styles ========================= */

body {
  background-color: var(--Neutral-Indigo-100);
}
/* ========================= 2.0 Hero Section ========================= */

/* ------------------ 2.1 .hero ------------------ */
.hero {
  display: grid;
  grid-template-areas: "stack";
  place-items: center;
  overflow: hidden;
  z-index: 1;
}
/* ------------------ 2.2 .hero > * ------------------ */
.hero > * {
  grid-area: stack;
}

/* ------------------ 2.3 .hero__bg ------------------ */
.hero__bg {
  width: 100%;
  height: 100%;
}

/* ------------------ 2.4 .hero__img ------------------ */
.hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ------------------ 2.5 .hero__title ------------------ */
.hero__title {
  z-index: 1;
  color: #fbfbfc;
  text-align: center;
  text-shadow: 0 2.187px 7.655px rgba(0, 0, 0, 0.25);
  font-size: 5.5633rem !important;
  font-style: normal;
  line-height: normal;
  letter-spacing: 6.2px;
  text-transform: uppercase;
}
@media (min-width: 576px) {
  .hero__title {
    font-size: 5.5633rem !important;
  }
}
@media (min-width: 768px) {
  .hero__title {
    font-size: 7.1525rem !important;
  }
}
@media (min-width: 992px) {
}
@media (min-width: 1200px) {
  .hero__title {
    font-size: 8.74167rem !important;
  }
}
@media (min-width: 1400px) {
}
@media (min-width: 1920px) {
  .hero__title {
    font-size: 9.5367rem !important;
  }
}

/* ------------------ 2.6 .hero__overlay ------------------ */
.hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 73px;
  background-color: #323752;
  mask-image: linear-gradient(
    to bottom,
    rgba(36, 36, 36, 0.65) 55%,
    rgba(0, 0, 0, 0) 100%
  );
  z-index: 1;
}
@media (min-width: 576px) {
}
@media (min-width: 768px) {
  .hero__overlay {
    height: 94px;
  }
}
@media (min-width: 992px) {
  .hero__overlay {
    height: 101px;
  }
}
@media (min-width: 1200px) {
  .hero__overlay {
    height: 149px;
  }
}
@media (min-width: 1400px) {
  .hero__overlay {
    height: 155px;
  }
}
@media (min-width: 1920px) {
  .hero__overlay {
    height: 203px;
  }
}

/* ========================= 3.0 Projects Intro Section ========================= */

/* ------------------ 3.1 Shared Layout ------------------ */
.projects,
.past-projects,
.publications {
  position: relative;
  width: 260px;
  margin: 8rem auto 4rem auto;
}
@media (min-width: 768px) {
  .projects,
  .past-projects,
  .publications {
    width: 570px;
    margin: 8rem auto 4rem auto;
  }
}
@media (min-width: 992px) {
}
@media (min-width: 1200px) {
  .projects,
  .past-projects,
  .publications {
    width: 1040px;
  }
}
@media (min-width: 1400px) {
}
@media (min-width: 1920px) {
  .projects,
  .past-projects,
  .publications {
    width: 1685px;
  }
}

.color-bar {
  width: 250px;
}
@media (min-width: 1200px) {
  .color-bar {
    height: 0.833rem;
    width: 41.667rem;
  }
}
.projects__card-color-bar,
.past-projects__card-color-bar,
.publications__card-color-bar {
  margin: 0;
}
/* ------------------ 3.2 .projects__intro & content ------------------ */
.projects__intro,
.projects__intro-content {
  width: 100%;
  margin-bottom: 4rem;
}
@media (min-width: 576px) {
}
@media (min-width: 768px) {
}
@media (min-width: 992px) {
}
@media (min-width: 1200px) {
}
@media (min-width: 1400px) {
}
@media (min-width: 1920px) {
}

/* --- 3.3 .projects__intro-title --- */
.projects__intro-title {
  color: var(--Navy-Blue-1000);
  text-align: center;
  font-family: Grift !important;
  font-size: 2.84833rem !important;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 1.709px;
}
@media (min-width: 768px) {
  .projects__intro-title {
    font-size: 3.6625rem !important;
  }
}

@media (min-width: 1200px) {
  .projects__intro-title {
    font-size: 4.475833rem !important;
  }
}

@media (min-width: 1920px) {
  .projects__intro-title {
    font-size: 4.8825rem !important;
  }
}

/* --- 3.4 .projects__intro-text & .projects__intro-cta --- */
.projects__intro-text,
.projects__intro-cta {
  color: var(--Navy-Blue-1000);
  font-family: Grift !important;
  font-size: 1.165rem !important;
  font-style: normal;
  font-weight: 500 !important;
  line-height: 20px;
  letter-spacing: 0.7px;
}
.projects__intro-cta {
  font-weight: 700 !important;
}

@media (min-width: 768px) {
  .projects__intro-text,
  .projects__intro-cta {
    font-size: 1.5rem !important;
    line-height: 26px;
  }
}

@media (min-width: 1200px) {
  .projects__intro-text,
  .projects__intro-cta {
    font-size: 1.833rem !important;
    line-height: 28px;
  }
  .projects__intro-cta {
    text-align: center;
  }
}
@media (min-width: 1920px) {
  .projects__intro-text,
  .projects__intro-cta {
    font-size: 2rem !important;
    line-height: 35px;
    margin: 4rem auto;
  }
}

/* ------------------ 3.5 .projects__intro-button-donate ------------------ */
.projects__intro-button-donate {
  display: flex;
  width: fit-content;
  padding: 4px 18px;
  justify-content: center;
  align-items: center;
  margin: 2rem auto;
  text-decoration: none;
  cursor: pointer;
  border-radius: 5px;
  background: linear-gradient(
    90deg,
    #283470 0%,
    #344a78 20%,
    #4a6396 30%,
    #7ea0d2 50%,
    #4a6396 70%,
    #344a78 80%,
    #283470 100%
  );
  color: var(--Neutral-Indigo-100);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.8233rem;
  font-style: normal;
  font-weight: 400;
  line-height: 46.588px;
  letter-spacing: 0.621px;
  text-transform: uppercase;
}
@media (min-width: 576px) {
}
@media (min-width: 768px) {
  .projects__intro-button-donate {
    font-size: 2.93rem;
    padding: 6px 20px;
  }
}
@media (min-width: 1200px) {
  .projects__intro-button-donate {
    font-size: 3.580833rem;
    padding: 8px 24px;
  }
}

@media (min-width: 1920px) {
  .projects__intro-button-donate {
    font-size: 3.90667rem;
    padding: 14px 36px 16px 36px;
    margin: 4rem auto;
  }
}

/* ------------------ 3.6 Decorative Shapes ------------------ */
.deco-shape {
  z-index: 0;
}
.deco-shape--projects-intro-hex {
  display: block;
  mask-image: url(/assets/images/donate/shapes/Hex.svg);
  -webkit-mask-image: url(/assets/images/donate/shapes/Hex.svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  position: absolute;
  width: 193.306px;
  height: 194.738px;
  transform: rotate(10deg);
  top: -1%;
  right: -50%;
  background-color: rgba(95, 60, 155, 0.2);
}
.deco-shape--projects-intro-triangle {
  display: block;
  mask-image: url(/assets/images/donate/shapes/Triangle.svg);
  -webkit-mask-image: url(/assets/images/donate/shapes/Triangle.svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 206.22px;
  height: 207.859px;
  transform: rotate(1deg);
  bottom: 55%;
  left: -31%;
  background-color: rgba(231, 171, 73, 0.2);
}
.deco-shape--food-bank-circle {
  display: block;
  mask-image: url(/assets/images/donate/shapes/Circle.svg);
  -webkit-mask-image: url(/assets/images/donate/shapes/Circle.svg);
  width: 264px;
  height: 264px;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  top: 74%;
  right: -48%;
  background-color: rgba(48, 104, 82, 0.2);
}
@media (min-width: 576px) {
  .deco-shape--projects-intro-hex,
  .deco-shape--projects-intro-triangle {
    display: none;
  }
  .deco-shape--projects-intro-square {
    display: block;
    background-color: #38499c33;
    mask-image: url(/assets/images/donate/shapes/Square.svg);
    -webkit-mask-image: url(/assets/images/donate/shapes/Square.svg);
    width: 255.15px;
    height: 255.15px;
    transform: rotate(90deg);
    top: -6%;
    left: -93%;
  }
  .deco-shape--food-bank-hex {
    display: block;
    mask-image: url(/assets/images/donate/shapes/Hex.svg);
    -webkit-mask-image: url(/assets/images/donate/shapes/Hex.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    position: absolute;
    width: 348.327px;
    height: 350.907px;
    transform: rotate(10deg);
    top: -8%;
    right: -123%;
    background-color: rgba(95, 60, 155, 0.2);
  }
  .deco-shape--food-bank-circle {
    display: none;
  }
  .deco-shape--optimization-triangle {
    display: block;
    mask-image: url(/assets/images/donate/shapes/Triangle.svg);
    -webkit-mask-image: url(/assets/images/donate/shapes/Triangle.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    position: absolute;
    width: 371.488px;
    height: 405.006px;
    top: -14%;
    left: -95%;
    background-color: rgba(231, 171, 73, 0.1);
  }
  .deco-shape--healthcare-circle {
    display: block;
    mask-image: url(/assets/images/donate/shapes/Circle.svg);
    -webkit-mask-image: url(/assets/images/donate/shapes/Circle.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    position: absolute;
    width: 475.713px;
    height: 475.713px;
    top: 33%;
    right: -135%;
    background-color: rgba(48, 104, 82, 0.2);
  }
}
@media (min-width: 768px) {
}
@media (min-width: 992px) {
}
@media (min-width: 1200px) {
}
@media (min-width: 1400px) {
}
@media (min-width: 1920px) {
}

/* ========================= 4.0 Projects Cards ========================= */

/* ------------------ 4.1 .projects__card Basics ------------------ */
.projects__card {
  display: flex;
  flex-direction: column;
  margin-bottom: 8rem;
  position: relative;
  z-index: 1;
  margin: 6rem auto 4rem auto;
}

@media (min-width: 768px) {
  .projects__card {
    width: 460px;
  }
}
@media (min-width: 992px) {
}
@media (min-width: 1200px) {
  .projects__card {
    width: 1040px;
    flex-direction: row;
    align-items: center;
    gap: 3.33rem;
    margin-bottom: 10rem;
  }
  .projects__card--right .projects__card-body {
    order: 1;
  }
  .projects__card--right .projects__card-image {
    order: 2;
  }
  .projects__card--left .projects__card-body {
    order: 2;
  }
  .projects__card--left .projects__card-image {
    order: 1;
  }
  .projects__card-body {
    width: 608px;
  }
  .projects__card-image.layered-image,
  .layered-image__bg {
    width: 426px;
    height: 300px;
  }
  .projects__intro + .projects__card {
    margin-top: 10rem;
  }
}

@media (min-width: 1920px) {
  .projects__card {
    width: 1685px;
    gap: 12.5rem;
    margin: 18rem auto;
  }
  .projects__card-body {
    width: 745px;
  }
  .projects__card-image.layered-image,
  .layered-image__bg {
    width: 780px;
    height: 485px;
  }
}

/* ------------------ 4.2 .projects__card-title & .past-projects__card-title ------------------ */
.projects__card-title {
  color: var(--Navy-Blue-1000);
  text-align: left;
  font-family: Grift !important;
  font-size: 2.84833rem !important;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 1.709px;
  margin: 1.5rem auto;
}
@media (min-width: 768px) {
  .projects__card-title {
    font-size: 3.6625rem !important;
    margin: 2.5rem auto;
  }
}

/* ------------------ 4.3 .projects__card-text, etc. ------------------ */
.projects__card-text,
.projects__card-text a {
  color: var(--Navy-Blue-1000);
  font-family: Grift !important;
  font-size: 1.165rem !important;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.7px;
}

@media (min-width: 768px) {
  .projects__card-text,
  .projects__card-text a {
    font-size: 1.5rem !important;
    line-height: 26px;
    letter-spacing: 0.9px;
  }
}
@media (min-width: 1200px) {
  .projects__card-text,
  .projects__card-text a {
    font-size: 1.833rem !important;
    line-height: 28px;
    letter-spacing: 1.1px;
  }
}
@media (min-width: 1920px) {
  .projects__card-text,
  .projects__card-text a {
    font-size: 2rem !important;
    line-height: 35px;
    letter-spacing: 1.2px;
  }
  .projects__card-text a {
    cursor: pointer;
  }
}

/* ------------------ 4.4 .projects__card-subtitle ------------------ */
.projects__card-subtitle {
  color: var(--Navy-Blue-1000);
  font-family: Grift !important;
  font-size: 1.165rem !important;
  font-style: normal;
  font-weight: 600 !important;
  line-height: 20px;
  letter-spacing: 0.7px;
}
.projects__card-subtitle a {
  color: var(--Navy-Blue-1000);
  cursor: pointer;
  line-height: 20px;
  letter-spacing: 0.7px;
}
@media (min-width: 768px) {
  .projects__card-subtitle,
  .projects__card-subtitle a {
    font-size: 1.5rem !important;
    line-height: 26px;
    letter-spacing: 0.9px;
  }
}
@media (min-width: 1200px) {
  .projects__card-subtitle,
  .projects__card-subtitle a {
    font-size: 1.83rem !important;
    line-height: 28px;
    letter-spacing: 1.1px;
  }
}
@media (min-width: 1920px) {
  .projects__card-subtitle,
  .projects__card-subtitle a {
    font-size: 2rem !important;
    line-height: 35px;
    letter-spacing: 1.2px;
  }
}

/* ------------------ 4.5 Layered Image Components ------------------ */
.layered-image__bg {
  background: linear-gradient(
    180deg,
    rgba(40, 52, 112, 0.4) 0%,
    rgba(40, 52, 112, 0.2) 100%
  ) !important;
  border: 1.5px solid #38499c !important;
}
.projects__card-picture,
.projects__card-img {
  border-radius: var(--radius);
}
@media (min-width: 576px) {
}
@media (min-width: 768px) {
}
@media (min-width: 992px) {
}
@media (min-width: 1200px) {
}
@media (min-width: 1400px) {
}
@media (min-width: 1920px) {
}

/* ========================= 5.0 Past Projects Section ========================= */

/* ------------------ 5.1 .past-projects__title ------------------ */
.past-projects__title {
  color: var(--Navy-Blue-1000);
  text-align: center;
  font-family: Grift !important;
  font-size: 2.84833rem !important;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 1.709px;
}
@media (min-width: 576px) {
}
@media (min-width: 768px) {
  .past-projects__title {
    font-size: 3.6625rem !important;
  }
}
@media (min-width: 992px) {
}
@media (min-width: 1200px) {
}
@media (min-width: 1400px) {
}
@media (min-width: 1920px) {
}

/* ------------------ 5.2 .past-projects__slider-wrapper ------------------ */
.past-projects__slider-wrapper {
  position: relative;
  min-width: 100%;
  max-width: 100%;
  width: 100%;
  display: block;
  min-height: 58rem;
}
@media (min-width: 768px) {
  .past-projects__slider-wrapper {
    max-width: 360px;
    min-width: 360px;
    width: 360px;
    min-height: 70rem;
    margin: 0 auto;
  }
}
@media (min-width: 1200px) {
  .past-projects__slider-wrapper {
    max-width: 1040px;
    min-width: 1040px;
    width: 1040px;
    min-height: 41rem;
    margin: 0 auto;
  }
}
@media (min-width: 1920px) {
  .past-projects__slider-wrapper {
    display: grid !important;
    grid-template-columns: repeat(
      3,
      542px
    ); /* Three columns at your specified image width */
    gap: 30px; /* Space between the cards */
    min-width: 1708px;
    max-width: 1708px;
    width: 1708px; /* Matches your .past-projects width */
    margin: 0 auto;
    min-height: auto;
  }
}

/* ------------------ 5.3 .past-projects__card ------------------ */
.past-projects__card {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease-in-out;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.past-projects__card.active {
  position: relative;
  opacity: 1;
  visibility: visible;
}
@media (min-width: 1200px) {
  .past-projects__card {
    display: grid !important; /* Ensure grid overrides other display types */
    /* Column 1: Picture (426px) | Column 2: Content (560px) */
    grid-template-columns: 426px 560px;
    grid-template-areas:
      "pic title"
      "pic info";
    column-gap: 40px;
    row-gap: 0;
    align-items: center; /* Vertically center the text against the tall image */
    width: 1040px;
    left: 50%;
    transform: translateX(-50%); /* Centering the absolute card if needed */
  }
}
@media (min-width: 1920px) {
  .past-projects__card {
    position: relative !important; /* Pulls them out of absolute stacking */
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    left: auto !important;
    gap: 0; /* Title will sit directly below picture */
  }
}

.past-projects__card-description {
  width: 100%;
}
/* ------------------ 5.4 .past-projects__card-info & .mobile-info ------------------ */

.past-projects__card-title {
  color: var(--Navy-Blue-1000);
  text-align: left;
  font-family: Grift !important;
  font-size: 1.8233rem !important;
  font-style: normal;
  line-height: 20px;
  letter-spacing: 1.709px;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .past-projects__card-title {
    font-size: 2.344167rem !important;
    margin-top: 1rem;
    line-height: 26px;
  }
}
@media (min-width: 1200px) {
  .past-projects__card-title {
    grid-area: title;
    place-self: end start; /* Align to the bottom-left of the title cell */
    margin-bottom: 1rem;
    width: 560px;
  }
}
@media (min-width: 1920px) {
  .past-projects__card-title {
    order: 2; /* Moves title below the picture */
    width: 100%;
    text-align: center;
    font-size: 3.125rem !important;
    margin-top: 3.5rem;
  }
}
/* ------------------ 5.5 .past-projects__card-info & .mobile-info ------------------ */
.past-projects__card-info {
  order: 1;
}
@media (min-width: 1200px) {
  .past-projects__card-info {
    grid-area: info;
    place-self: start start; /* Align to the top-left of the info cell */
    width: 560px;
    text-align: left;
  }
}
@media (min-width: 1920px) {
  .past-projects__card-info.mobile-info {
    display: none !important;
  }
}

/* ------------------ 5.6 .past-projects__card-picture ------------------ */
.past-projects__card-picture {
  order: 2;
  width: 100%;
  margin-bottom: 2rem;
}
@media (min-width: 1200px) {
  .past-projects__card-picture {
    grid-area: pic;
    width: 426px;
    margin-bottom: 0; /* Remove mobile margin */
  }
}
@media (min-width: 1920px) {
  .past-projects__card-picture {
    order: 1;
    width: 542px;
    height: 702px;
    margin-bottom: 0;
    position: relative;
    overflow: hidden;
  }
}

/* ------------------ 5.7 .past-projects__card-img ------------------ */
.past-projects__card-img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
@media (min-width: 1200px) {
  .past-projects__card-img {
    width: 426px;
    height: auto;
    object-fit: cover;
  }
}
@media (min-width: 1920px) {
  .past-projects__card-img {
    height: auto;
    width: 100%;
    object-fit: contain; /* Note: you had 'contain' in one block and 'cover' in another. Preserving 'contain' from top block. */
  }
}

/* ------------------ 5.8 .past-projects__desktop-overlay & descriptions ------------------ */
.past-projects__desktop-overlay {
  display: none;
}
.past-projects__card-description p,
.past-projects__card-description p a,
.past-projects__card-description p a:hover,
.past-projects__card-description p a:visited {
  color: var(--Navy-Blue-1000);
  font-family: Grift;
  font-size: 1.167rem;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 142.857% */
  letter-spacing: 0.7px;
}
@media (min-width: 768px) {
  .past-projects__card-description p,
  .past-projects__card-description p a,
  .past-projects__card-description p a:hover,
  .past-projects__card-description p a:visited {
    font-size: 1.5rem;
    line-height: 26px;
  }
}
@media (min-width: 1200px) {
  .past-projects__card-description {
    grid-column: 2;
    place-self: start;
  }
  .past-projects__card-description p,
  .past-projects__card-description p a,
  .past-projects__card-description p a:hover,
  .past-projects__card-description p a:visited {
    font-size: 1.833rem;
    line-height: 28px;
    letter-spacing: 1.1px;
  }
}
@media (min-width: 1920px) {
  .past-projects__desktop-overlay {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end;
    position: absolute;
    inset: 0;
    z-index: 10;
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(50, 55, 82, 0) 0%, #323752 100%);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    gap: 20px;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
  }
  .past-projects__card:hover .past-projects__desktop-overlay {
    opacity: 1;
    pointer-events: auto;
  }
  .past-projects__card-description {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 542px;
    height: 702px;
    padding: 43px 21px;
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(50, 55, 82, 0) 0%, #323752 100%);
    backdrop-filter: blur(3.28px);
    -webkit-backdrop-filter: blur(3.28px);
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
    color: #fbfbfc;
    font-size: 2rem !important;
    font-style: normal;
    font-weight: 700;
    line-height: 35px;
    letter-spacing: 1.2px;
    margin-bottom: 0;
  }
  .past-projects__card:hover .past-projects__card-description {
    opacity: 1;
    pointer-events: auto;
  }
  .past-projects__desktop-overlay .past-projects__card-description p {
    width: 499px;
    color: var(--Neutral-Indigo-100) !important;
    margin: 0 0 2rem -2rem !important;
    padding: 0 1rem;
    font-family: Grift !important;
    font-size: 1.165rem !important;
    line-height: 28px;
    position: static !important;
  }
  .past-projects__desktop-overlay .past-projects__card-description p a {
    color: var(--Neutral-Indigo-100);
    font-family: Grift !important;
    font-size: 1.165rem !important;
    line-height: 28px;
  }
}
/* ------------------ 5.9 Carousel Navigation ------------------ */
.past-projects__carousel-navigation,
.publications__carousel-navigation {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.past-projects__nav-btn,
.publications__nav-btn {
  border: none;
  background: transparent;
}
.past-projects__carousel-counter,
.publications__carousel-counter {
  color: var(--Navy-Blue-800);
  font-family: Grift;
  font-size: 2.275rem;
}
@media (min-width: 1920px) {
  .past-projects__nav {
    display: none;
  }
  .publications__nav-btn svg {
    width: 50px;
    height: 40px;
  }
  .publications__carousel-navigation {
    gap: 4rem;
  }
}

/* ========================= 6.0 Publications Section ========================= */

/* ------------------ 6.1 .publications__title ------------------ */
.publications__title {
  color: var(--Navy-Blue-1000);
  text-align: center;
  font-family: Grift !important;
  font-size: 2.84833rem !important;
  font-style: normal;
  line-height: normal;
  letter-spacing: 1.709px;
}
@media (min-width: 768px) {
  .publications__title {
    font-size: 3.6625rem !important;
  }
}
@media (min-width: 1200px) {
  .publications__title {
    font-size: 4.475833rem !important;
  }
}
@media (min-width: 1920px) {
  .publications__title {
    font-size: 4.8825rem !important;
  }
}
/* ------------------ 6.2 .publications__subtitle ------------------ */
.publications__subtitle {
  color: var(--Navy-Blue-1000);
  font-family: Grift !important;
  font-size: 1.1667rem !important;
  font-style: normal;
  line-height: 20px;
  letter-spacing: 0.7px;
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  .publications__subtitle {
    font-size: 1.5rem !important;
  }
}
@media (min-width: 1200px) {
  .publications__subtitle {
    font-size: 1.833rem !important;
    width: 100%;
    text-align: center;
  }
}
@media (min-width: 1920px) {
  .publications__subtitle {
    font-size: 2rem !important;
  }
}

/* ------------------ 6.3 .publications__slider-wrapper ------------------ */
.publications__slider-wrapper {
  min-height: 38rem;
}
@media (min-width: 768px) {
  .publications__slider-wrapper {
    min-height: 50rem;
  }
}

@media (min-width: 1200px) {
  .publications__container {
    overflow: hidden; /* Clips the 4th slide */
    width: 1040px;
    margin: 0 auto;
  }

  .publications__slider-wrapper {
    display: flex;
    gap: 2.5rem; /* Gap between cards */
    transition: transform 0.5s ease-in-out;
    width: 1040px;
    /* min-height: 70rem; */
  }

  /* Slide 1: Initial position */
  [data-current-slide="1"] .publications__slider-wrapper {
    transform: translateX(0);
  }

  /* Slide 2: The Final Stop */
  /* This moves the track left by one card width (33.333%) + the gap */
  [data-current-slide="2"] .publications__slider-wrapper {
    transform: translateX(calc(-33.333% - 0.83rem));
  }

  /* Note: data-current-slide 3 and 4 are no longer reachable at this width 
     because our JS maxIndex logic stops at index 1 (Slide 2). */
}
@media (min-width: 1920px) {
  .publications__container,
  .publications__slider-wrapper {
    width: 1685px;
    gap: 3.333rem;
  }
}
/* ------------------ 6.4 .publications__card ------------------ */
.publications__card,
.publications__card-picture {
  margin-bottom: 4rem;
}
.publications__card {
  position: absolute;
  top: 18rem;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease-in-out;
  display: flex;
  flex-direction: column;
}
.publications__card.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
  margin-bottom: 0;
}
@media (min-width: 1200px) {
  .publications__card,
  .publications__card-picture {
    width: 287px;
  }
  .publications__card {
    position: relative !important;
    flex: 0 0 calc(33.333% - 1.67rem);
    flex-shrink: 0;
    opacity: 1;
    visibility: visible;
    top: 0;
  }
  .publications__slider-wrapper.slide-2 {
    transform: translateX(calc(-33.333% - 0.83rem));
  }
}
@media (min-width: 1920px) {
  .publications__card,
  .publications__card-picture {
    width: 542px;
  }
}

.publications__card-img {
  display: block;
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .publications__card-img {
    width: 426px;
  }
}
@media (min-width: 1200px) {
  .publications__card-img {
    width: 100%;
  }
}
/* ------------------ 6.5 .publications__card a (Title Link) ------------------ */
.publications__card a {
  color: var(--Navy-Blue-1000);
  text-align: center;
  font-family: Grift;
  font-size: 1.8233rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 1.094px;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 576px) {
}
@media (min-width: 768px) {
  .publications__card a {
    width: 410px;
    font-size: 2.3441667rem;
  }
}
@media (min-width: 1200px) {
  .publications__card a {
    width: 100%;
    font-size: 2.865rem;
  }
}

@media (min-width: 1920px) {
  .publications__card a {
    font-size: 3.125rem;
  }
}
