/* Georgia Tech case study — minimal narrative treatment */

.page-georgia-tech {
  background-color: #ffffff;
  --gt-gold: #b3a369;
}

.page-georgia-tech .nav-block {
  background-color: #ffffff;
}

.gt-campaign-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: calc(clamp(72px, 10vw, 120px) + 60px) var(--page-inset) calc(clamp(56px, 8vw, 96px) + 60px);
  text-align: center;
  background: #f5f5f7;
  box-sizing: border-box;
}

.gt-campaign-hero__amount {
  margin: 0;
  max-width: 100%;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(24px, 7.8vw, 118px);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.035em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: var(--gt-gold);
}

.gt-campaign-hero__lede {
  margin: clamp(32px, 4.5vw, 52px) 0 0;
  max-width: min(720px, 100%);
  padding-inline: clamp(0px, 2vw, 24px);
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(19px, 2.15vw, 28px);
  font-weight: 400;
  line-height: 1.38;
  letter-spacing: -0.012em;
  color: var(--project-label-color);
}

/* Apple-style blur-up reveal */
.gt-apple-reveal,
.page-georgia-tech .cs-reveal {
  opacity: 0;
  transform: translateY(28px);
  filter: blur(12px);
  transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.95s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform, filter;
}

.gt-campaign-hero.is-visible .gt-apple-reveal,
.gt-apple-reveal.is-visible,
.page-georgia-tech .cs-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

.gt-apple-reveal--delay {
  transition-delay: 0.18s;
}

.gt-apple-reveal--after-count {
  transition-duration: 0.55s;
  transition-delay: 0s;
}

.gt-campaign-hero.is-visible .gt-apple-reveal--after-count:not(.is-visible) {
  opacity: 0;
  transform: translateY(28px);
  filter: blur(12px);
}

.page-georgia-tech .gt-story-copy .cs-reveal:nth-child(2) {
  transition-delay: 0.14s;
}

@media (prefers-reduced-motion: reduce) {
  .gt-apple-reveal,
  .page-georgia-tech .cs-reveal {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}

@media (max-width: 991px) {
  .page-georgia-tech .project-gallery .gt-campaign-hero,
  .page-georgia-tech .project-gallery .gt-story-copy,
  .page-georgia-tech .project-gallery .gt-story__outro {
    padding-inline: 0;
  }
}

@media (max-width: 767px) {
  .gt-campaign-hero {
    padding-top: calc(clamp(56px, 12vw, 80px) + 24px);
    padding-bottom: calc(clamp(40px, 8vw, 64px) + 24px);
  }

  .gt-campaign-hero__amount {
    white-space: normal;
    font-size: clamp(28px, 9vw, 64px);
    overflow-wrap: anywhere;
    line-height: 1.05;
  }
}

.gt-story-copy {
  --hero-lead: 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: var(--story-chapter-pad-top) var(--page-inset) var(--story-chapter-pad-bottom);
  text-align: center;
  background: #fff;
  box-sizing: border-box;
}

.page-georgia-tech .gt-story-copy .project-title {
  grid-column: auto;
  grid-row: auto;
  align-self: center;
  width: 100%;
  max-width: 100%;
  margin: 0 0 var(--hero-lead);
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  color: var(--black);
}

.page-georgia-tech .gt-story-copy .project-title-sep {
  font-weight: 300;
}

.page-georgia-tech .gt-story-copy .project-desc {
  margin-inline: auto;
  margin-bottom: 0;
  max-width: 52ch;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-size: var(--hero-body-copy-size);
  color: var(--project-label-color);
}

.gt-story__outro {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--story-chapter-pad-top) var(--page-inset) var(--story-chapter-pad-top);
  text-align: center;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}

.page-georgia-tech .gt-story__outro .project-title {
  grid-column: auto;
  grid-row: auto;
  align-self: center;
  width: 100%;
  max-width: 100%;
  margin: 0;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  color: var(--black);
}
