/* v39 final refinements: header contrast, staged FV, centered works hero and polish. */

/* Header chrome is present immediately; only page content is animated. */
body.motion-ready .site-header__logo,
body.motion-ready .site-header__nav a,
body.motion-ready .site-header__menu-trigger,
body.motion-ready .site-header__contact,
body.motion-loaded .site-header__logo,
body.motion-loaded .site-header__nav a,
body.motion-loaded .site-header__menu-trigger,
body.motion-loaded .site-header__contact,
body.page-home.home-op-complete .site-header {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
  transition-delay: 0s !important;
}

/* The home carousel supplies an explicit contrast tone per photograph. */
.page-home[data-header-tone="mixed"] .site-header {
  --header-nav-color: #fff; --text-v37-header-nav-color: #fff;
  --header-nav-shadow: 0 1px 4px rgba(57, 119, 157, .55); --text-v37-header-nav-shadow: 0 1px 4px rgba(12, 25, 34, .55);
}

.page-home[data-header-tone="dark"] .site-header {
  --header-nav-color: #39779d; --text-v37-header-nav-color: #29465c;
  --header-nav-shadow: 0 1px 2px rgba(255, 255, 255, .8); --text-v37-header-nav-shadow: 0 1px 2px rgba(255, 255, 255, .8);
}

.page-home[data-header-tone="light"] .site-header {
  --header-nav-color: #fff; --text-v37-header-nav-color: #fff;
  --header-nav-shadow: 0 1px 4px rgba(57, 119, 157, .55); --text-v37-header-nav-shadow: 0 1px 4px rgba(12, 25, 34, .55);
}

/* Some legacy page rules set anchor colors directly, so bind every label explicitly. */
.site-header .site-header__nav > a,
.site-header .site-header__menu-trigger {
  color: var(--text-v37-header-nav-color) !important;
  text-shadow: var(--text-v37-header-nav-shadow) !important;
}

.site-header .site-header__submenu a {
  color: #29465c !important;
  text-shadow: none !important;
}

.page-home[data-header-tone="dark"] .site-header__logo-image--dark,
.page-home[data-header-tone="mixed"] .site-header__logo-image--dark {
  opacity: 1 !important;
}

.page-home[data-header-tone="dark"] .site-header__logo-image--light,
.page-home[data-header-tone="mixed"] .site-header__logo-image--light {
  opacity: 0 !important;
}

.page-home[data-header-tone="light"] .site-header__logo-image--dark {
  opacity: 0 !important;
}

.page-home[data-header-tone="light"] .site-header__logo-image--light {
  opacity: 1 !important;
}

/* The film hero owns its own timeline: movie, veil, then copy. */
.page-about .about-film:not(.is-copy-visible) .about-film__eyebrow,
.page-about .about-film:not(.is-copy-visible) .about-film__title,
.page-about .about-film:not(.is-copy-visible) .about-film__lead,
.page-about .about-film:not(.is-copy-visible) .about-film__description {
  opacity: 0 !important;
  filter: blur(14px) !important;
  transform: scale(.985) !important;
}

.page-about .about-film.is-copy-visible .about-film__eyebrow,
.page-about .about-film.is-copy-visible .about-film__title,
.page-about .about-film.is-copy-visible .about-film__lead,
.page-about .about-film.is-copy-visible .about-film__description {
  opacity: 1 !important;
  filter: blur(0) !important;
  transform: scale(1) !important;
}

.page-about .about-film.is-copy-visible .about-film__eyebrow { transition-delay: 0s !important; }
.page-about .about-film.is-copy-visible .about-film__title { transition-delay: .12s !important; }
.page-about .about-film.is-copy-visible .about-film__lead { transition-delay: .28s !important; }
.page-about .about-film.is-copy-visible .about-film__description { transition-delay: .44s !important; }

/* Keep every central works-hero element on the same optical axis. */
.page-works .works-hero__badge,
.page-works .works-hero__title,
.page-works .works-hero__divider,
.page-works .works-hero__lead,
.page-works .works-hero__tabs {
  left: 50% !important;
}

.page-works .works-hero__badge,
.page-works .works-hero__title,
.page-works .works-hero__divider,
.page-works .works-hero__lead,
.page-works .works-hero__tabs {
  transform: translateX(-50%) !important;
}

body.motion-ready.page-works .works-hero__badge.motion-illustration {
  transform: translateX(-50%) translate3d(0, 20px, 0) scale(.975) !important;
}

body.motion-ready.page-works .works-hero__badge.motion-illustration.is-visible {
  transform: translateX(-50%) translate3d(0, 0, 0) scale(1) !important;
}

/* The abbreviated greetings are intentionally kept within an easy reading measure. */
.page-company .company-person__content {
  min-width: 0;
  max-width: 700px;
}

.page-company .company-person--reverse .company-person__content {
  justify-self: end;
}

.page-company .company-person__message {
  max-width: 62em;
  line-height: 2.15;
}

/* Premium layered transition for the editable TOP works carousel. */
.page-home .works__visual {
  isolation: isolate;
}

.page-home .works__main-image,
.page-home .works__main-image--incoming {
  backface-visibility: hidden;
  will-change: opacity, transform, filter;
}

.page-home .works__main-image--incoming {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2;
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  opacity: 0;
  filter: blur(9px) saturate(.92);
  transform: translate3d(var(--works-enter-x, 34px), 0, 0) scale(1.035);
  transition: opacity .82s cubic-bezier(.16, 1, .3, 1),
              transform 1.05s cubic-bezier(.16, 1, .3, 1),
              filter .9s cubic-bezier(.16, 1, .3, 1);
}

.page-home .works__main-image--incoming.is-entering {
  opacity: 1;
  filter: blur(0) saturate(1);
  transform: translate3d(0, 0, 0) scale(1);
}

.page-home .works__main-image.is-leaving {
  opacity: 0;
  filter: blur(5px) saturate(.9);
  transform: translate3d(var(--works-leave-x, -20px), 0, 0) scale(.985);
  transition: opacity .7s ease, transform .9s cubic-bezier(.16, 1, .3, 1), filter .7s ease;
}

.page-home .works__caption {
  z-index: 4;
  transition: opacity .28s ease, transform .5s cubic-bezier(.16, 1, .3, 1), filter .4s ease;
}

.page-home .works__visual.is-transitioning .works__caption {
  opacity: 0;
  filter: blur(3px);
  transform: translateY(8px);
}

@media (max-width: 1100px) {
  .page-home[data-header-tone="mixed"] .site-header__logo-image--dark,
  .page-home[data-header-tone="light"] .site-header__logo-image--dark {
    opacity: 0 !important;
  }

  .page-home[data-header-tone="mixed"] .site-header__logo-image--light,
  .page-home[data-header-tone="light"] .site-header__logo-image--light {
    opacity: 1 !important;
  }

  .page-home[data-header-tone="dark"] .site-header__logo-image--dark {
    opacity: 1 !important;
  }

  .page-home[data-header-tone="dark"] .site-header__logo-image--light {
    opacity: 0 !important;
  }
}

@media (max-width: 767px) {
  .page-home .concept::before,
  .page-home .works__eyebrow {
    width: auto !important;
    margin: 0 0 18px !important;
    border: 0 !important;
    color: var(--text-v37-home-editorial-blue, #557a9b) !important;
    font-family: var(--font-gothic) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: .2em !important;
  }

  .page-home .concept::before {
    content: "OUR PHILOSOPHY" !important;
  }

  .page-company .company-person__content,
  .page-company .company-person__message {
    width: 100%;
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-home .works__main-image,
  .page-home .works__main-image--incoming,
  .page-home .works__caption {
    transition-duration: .01ms !important;
  }
}
