@font-face {
  font-family: "TimesNewRomanMTStd-Cond";
  src: url("../TimesNewRomanMTStd-Cond.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

:root {
  --page-bg: #ffffff;
  --nav-fg: #000000;
}

html {
  margin: 0;
  scroll-behavior: smooth;
  min-height: 100%;
  overflow-y: scroll;
}

body.site-about-page {
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  background: var(--page-bg);
  color: var(--nav-fg);
  font-family: "Waldenburg", Georgia, serif;
  font-size: var(--type-size);
  display: flex;
  flex-direction: column;
}

.about-main {
  box-sizing: border-box;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: min(42rem, 92vw);
  width: 100%;
  margin: 0 auto;
  padding: max(4.75rem, calc(env(safe-area-inset-top, 0px) + 3.25rem)) clamp(1rem, 4vw, 1.5rem)
    clamp(2rem, 5vh, 3rem);
}

body.site-about-page--contact-dock .about-main {
  padding-bottom: clamp(5.75rem, 14vh, 7.25rem);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .about-main {
    opacity: 1;
    animation: none;
    transform: none;
  }

  body.site-about-page--contact-dock .about-contact-dock {
    opacity: 1;
    animation: none;
    transform: translateX(-50%);
  }
}

@keyframes site-about-main-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes site-about-dock-in {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .about-main {
    opacity: 0;
    animation: site-about-main-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  }

  body.site-about-page--contact-dock .about-contact-dock {
    opacity: 0;
    animation: site-about-dock-in 0.42s cubic-bezier(0.22, 1, 0.36, 1) 0.14s forwards;
  }

  @keyframes site-about-main-out {
    from {
      opacity: 1;
      transform: translateY(0);
    }
    to {
      opacity: 0;
      transform: translateY(-12px);
    }
  }

  @keyframes site-about-dock-out {
    from {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
    }
    to {
      opacity: 0;
      transform: translateX(-50%) translateY(12px);
    }
  }

  body.site-about-exit .about-main {
    animation: site-about-main-out 0.38s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  }

  body.site-about-page--contact-dock.site-about-exit .about-contact-dock {
    animation: site-about-dock-out 0.34s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  }
}

.about-main__h,
.about-main__clients {
  font-family: "Waldenburg", Georgia, serif;
  font-size: var(--nav-font-size);
  font-weight: normal;
  letter-spacing: 0.04em;
  text-transform: lowercase;
  color: var(--nav-fg);
}

.about-main__h {
  margin: 0 0 0.35rem;
}

.about-main__clients {
  line-height: 1.45;
  margin: 0;
}

.about-main__lede {
  font-family: "TimesNewRomanMTStd-Cond", "Times New Roman", Times, serif;
  font-size: clamp(1.45rem, 3.8vw, 2.15rem);
  font-weight: normal;
  line-height: 1.1;
  letter-spacing: 0.01em;
  margin: 0 0 clamp(1.25rem, 2.8vw, 1.65rem);
  text-wrap: balance;
  color: var(--nav-fg);
}

.about-main__block {
  margin-top: clamp(1.1rem, 2.5vw, 1.45rem);
}

.about-main__copy {
  font-family: "TimesNewRomanMTStd-Cond", "Times New Roman", Times, serif;
  font-size: clamp(1.02rem, 2.35vw, 1.38rem);
  line-height: 1.4;
  letter-spacing: 0.012em;
  margin: 0;
  color: color-mix(in srgb, var(--nav-fg) 92%, transparent);
}

.about-contact-dock.bottom-wrap {
  pointer-events: none;
  overflow: visible;
}

.about-contact-dock .explore-btn,
.about-contact-dock .about-contact-dock__static {
  pointer-events: auto;
}

.about-contact-dock__static.explore-btn {
  cursor: default;
  opacity: 0.72;
}

.about-contact-dock a.explore-btn:hover {
  filter: var(--explore-btn-hover-filter);
}

.about-contact-dock__static.explore-btn:hover {
  border-color: color-mix(in srgb, var(--nav-fg) 35%, transparent);
  background: transparent;
  filter: var(--explore-btn-hover-filter);
}

@media (max-width: 768px) {
  .about-main {
    justify-content: center;
    padding-top: max(4.25rem, calc(env(safe-area-inset-top, 0px) + 3rem));
    padding-left: max(0.85rem, env(safe-area-inset-left, 0px));
    padding-right: max(0.85rem, env(safe-area-inset-right, 0px));
    padding-bottom: clamp(1.75rem, 4vh, 2.25rem);
  }

  body.site-about-page--contact-dock .about-main {
    padding-bottom: clamp(4.75rem, 12vh, 6rem);
  }

  .about-main__lede {
    font-size: clamp(1.22rem, 5.1vw, 1.62rem);
    line-height: 1.1;
    margin: 0 0 clamp(0.8rem, 2.8vw, 1.1rem);
  }

  .about-main__block {
    margin-top: clamp(0.8rem, 2.2vw, 1.1rem);
  }

}
