/* About: same grid language as landing; editorial blocks */

.about-page {
  --about-border: 1px solid #000;
  background: #fff;
  color: #000;
  min-height: 100vh;
  min-height: 100dvh;
}

.about-page main {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

/* Scope + reset: Webflow bundle defines .about-hero { background: #000 } — we reuse the class name */
.about-page .about-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  min-height: 0;
  border-bottom: var(--about-border);
  background-color: #fff;
  z-index: auto;
}

.about-hero__text {
  box-sizing: border-box;
  border-right: var(--about-border);
  padding: clamp(1rem, 2.5vw, 2rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 1rem;
  min-width: 0;
  min-height: 0;
  align-self: stretch;
}

.about-hero__kicker {
  margin: 0;
  font-family: AlteHaasGrotesk, Arial, sans-serif;
  font-size: clamp(0.7rem, 1.2vw, 0.8125rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* .about-hero__title … .about-hero__lottie — see landing-hero.css (shared with Connect) */

.about-hero__lede {
  margin: 0;
  max-width: 42ch;
  font-family: Neuemontreal, sans-serif;
  font-size: clamp(0.7rem, 1.05vw, 0.8125rem);
  font-weight: 400;
  line-height: 1.5;
}

/*
 * Right column: black panel is the ticker container — fixed height (~⅔ viewport, capped).
 * Ticker fills that container edge to edge (no extra black above/below).
 */
.about-hero__panel {
  box-sizing: border-box;
  align-self: end;
  width: 100%;
  min-width: 0;
  height: min(calc((100dvh * 2) / 3), 26rem);
  min-height: 10.5rem;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #000;
}

.about-hero__panel .about-ticker {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  background: #000;
  border-bottom: none;
}

.about-hero__panel .about-ticker__viewport {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.about-hero__panel .about-ticker__track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  width: max-content;
  height: 100%;
  min-height: 100%;
  will-change: transform;
}

.about-hero__panel .about-ticker__set {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  height: 100%;
  align-items: stretch;
}

.about-hero__panel .about-ticker__item {
  box-sizing: border-box;
  flex: 0 0 auto;
  height: 100%;
  width: auto;
  aspect-ratio: 16 / 10;
  min-height: 0;
  border-right: var(--about-border);
  overflow: hidden;
}

.about-hero__panel .about-ticker__item a {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.about-hero__panel .about-ticker__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(1);
  transition: filter 0.35s ease;
}

.about-hero__panel .about-ticker__item a:hover img,
.about-hero__panel .about-ticker__item a:focus-visible img {
  filter: grayscale(0);
}

#studio,
#approach {
  scroll-margin-top: 3.5rem;
}

.about-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.about-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: var(--about-border);
}

.about-section:last-of-type {
  border-bottom: none;
}

.about-section__label {
  box-sizing: border-box;
  border-right: var(--about-border);
  padding: clamp(1.25rem, 3vw, 2.25rem);
  font-family: AlteHaasGrotesk, Arial, sans-serif;
  font-size: clamp(0.85rem, 1.6vw, 1.05rem);
  font-weight: 700;
  line-height: 1.2;
  min-width: 0;
}

.about-section__content {
  box-sizing: border-box;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  min-width: 0;
}

.about-section__content p {
  margin: 0 0 1rem;
  font-family: Neuemontreal, sans-serif;
  font-size: clamp(0.7rem, 1.05vw, 0.8125rem);
  font-weight: 400;
  line-height: 1.55;
  max-width: 52ch;
}

.about-section__content p:last-child {
  margin-bottom: 0;
}

.about-section__content em {
  font-style: italic;
}

.about-page .section-3 {
  margin-top: auto;
  border-top: var(--about-border);
}

@media (max-width: 768px) {
  .about-page .about-hero {
    grid-template-columns: 1fr;
    align-items: stretch;
    min-height: 0;
  }

  .about-hero__text {
    border-right: none;
    border-bottom: var(--about-border);
    justify-content: flex-start;
    padding-bottom: 1.5rem;
  }

  .about-hero__panel {
    align-self: stretch;
    height: min(calc((100dvh * 2) / 3), 50svh);
    min-height: 11rem;
    max-height: min(60dvh, 24rem);
  }

  .about-section {
    grid-template-columns: 1fr;
  }

  .about-section__label {
    border-right: none;
    border-bottom: var(--about-border);
    padding-bottom: 0.75rem;
  }
}
