:root {
  --project-page-bg: #000;
  --project-page-ink: #b2b2b2;
  --project-page-highlight: #fff;
  --project-page-line: rgba(255, 255, 255, 0.15);
  --project-page-media-line: #3f3f3f;
  --project-page-badge: #d09d12;
  --project-page-edge: clamp(32px, 5.208vw, 100px);
  --project-page-label-col: 365px;
  --project-page-row-gap: 69px;
  --project-page-media-gap: clamp(24px, 2.43vw, 46px);
  --project-page-hover-lift: -2px;
  --project-page-hover-duration: 0.22s;
  --project-page-hover-color-duration: 0.2s;
  --project-page-hover-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

html,
body {
  background: var(--project-page-bg) !important;
  color: var(--project-page-ink);
}

body {
  min-height: 100vh;
  overflow-x: hidden;
}

.js-enabled .is-reveal-pending:not(.is-visible) {
  opacity: 0;
  transform: translateY(24px);
}

.js-enabled .is-reveal-pending.divider:not(.is-visible),
.js-enabled .is-reveal-pending.hero-divider:not(.is-visible) {
  transform: scaleX(0);
  transform-origin: left center;
}

@media (prefers-reduced-motion: reduce) {
  .js-enabled .is-reveal-pending:not(.is-visible) {
    opacity: 1;
    transform: none;
  }
}

.section-heading-container.project-section-heading-container,
.projects-page-hero-section .hero-divider,
.projects-page-hero-section .text-block-2,
.footer.work-page {
  display: none !important;
}

.project-case-hero {
  width: 100%;
  min-height: 320px;
  height: 41.666vw;
  overflow: hidden;
  background: #080808;
}

.project-case-hero-image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.section.projects-page-hero-section {
  box-sizing: border-box;
  min-height: 0;
  padding: 100px var(--project-page-edge) 0 !important;
  background: var(--project-page-bg);
}

.projects-page-hero-section .container,
.project-images-section .container {
  width: calc(100vw - (var(--project-page-edge) * 2)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.container.project-info-container {
  display: flex !important;
  flex-direction: column;
  gap: 65px !important;
}

.project-heading-container {
  display: flex !important;
  flex-direction: row;
  justify-content: flex-start !important;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  margin: 0 !important;
}

.heading-wrapper {
  flex: 0 1 auto;
  width: auto !important;
  max-width: 100%;
  overflow: visible !important;
}

.project-heading {
  margin: 0 !important;
  color: var(--project-page-highlight);
  font-family: var(--font-primary);
  font-size: 70px;
  font-weight: 100;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  transform: none !important;
}

.project-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  margin-top: 18px;
  padding: 6px 10px;
  border: 1px solid var(--project-page-badge);
  border-radius: 10px;
  color: var(--project-page-badge);
  font-family: var(--font-primary);
  font-size: 23px;
  font-weight: 200;
  line-height: 1;
  letter-spacing: 0;
  text-transform: lowercase;
  white-space: nowrap;
}

.project-status-badge--image {
  display: block;
  width: 97px;
  height: 46px;
  min-height: 0;
  margin-top: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
}

._12-column-grid.project-info-grid {
  display: flex !important;
  flex-direction: column;
  gap: var(--project-page-row-gap) !important;
  width: 100%;
  margin: 0 !important;
  opacity: 1 !important;
  transform: none !important;
}

.project-case-row {
  display: grid;
  grid-template-columns: var(--project-page-label-col) minmax(0, 1fr);
  align-items: baseline;
  align-items: first baseline;
  width: 100%;
}

.project-case-row .label {
  margin: 0 !important;
  color: var(--project-page-highlight) !important;
  font-family: var(--font-primary);
  font-size: 28px;
  font-weight: 200;
  line-height: 1.5;
  letter-spacing: 0.06rem;
  text-transform: lowercase;
}

.project-case-row-availability {
  align-items: center;
}

.project-case-value,
.prjoect-description {
  min-width: 0;
  max-width: none !important;
  margin: 0 !important;
  color: var(--project-page-ink);
  font-family: var(--font-primary);
  font-size: 28px !important;
  font-weight: 200;
  line-height: 1.5 !important;
  letter-spacing: 0;
  text-transform: none;
  white-space: normal !important;
  overflow-wrap: break-word;
}

.project-case-value p,
.prjoect-description p {
  margin: 0;
  font: inherit !important;
  line-height: inherit !important;
  white-space: normal !important;
}

.project-case-value p + p,
.prjoect-description p + p {
  margin-top: 42px;
}

.project-case-row-availability .project-case-value {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 18px;
}

.project-availability-badge {
  width: 180px !important;
  height: 60px !important;
  margin-top: 0;
  transition:
    opacity var(--project-page-hover-color-duration) ease,
    transform var(--project-page-hover-duration) var(--project-page-hover-ease);
}

.project-availability-badge:hover,
.project-availability-badge:focus-visible {
  opacity: 1 !important;
  transform: translateY(var(--project-page-hover-lift));
}

.section.project-images-section {
  box-sizing: border-box;
  min-height: 0;
  padding: 69px var(--project-page-edge) 120px !important;
  background: var(--project-page-bg);
}

.project-video {
  display: block !important;
  position: relative;
  width: 100%;
  margin-bottom: 3rem;
  overflow: hidden;
  border-radius: 20px;
  background-color: #090909;
}

.project-video-embed {
  aspect-ratio: var(--project-video-aspect-ratio, 16 / 9);
  padding-top: 0 !important;
}

.project-video-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.project-video-local {
  aspect-ratio: var(--video-aspect-ratio, 4 / 3);
  padding-top: 0;
}

.project-video-local video {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #090909;
  cursor: pointer;
  object-fit: contain;
}

.local-video-play-toggle {
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(4rem, 7vw, 6rem);
  aspect-ratio: 1 / 1;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background-color: rgba(8, 8, 8, 0.72);
  box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.35);
  cursor: pointer;
  transform: translate(-50%, -50%) scale(1);
  transition:
    opacity var(--project-page-hover-color-duration) ease,
    background-color var(--project-page-hover-color-duration) ease,
    border-color var(--project-page-hover-color-duration) ease,
    transform var(--project-page-hover-duration) var(--project-page-hover-ease);
}

.local-video-play-toggle:hover,
.local-video-play-toggle:focus-visible {
  background-color: rgba(18, 18, 18, 0.85);
  border-color: rgba(255, 255, 255, 0.25);
  transform: translate(-50%, -50%) scale(1.04);
}

.local-video-play-toggle:focus-visible {
  outline: 2px solid var(--project-page-highlight);
  outline-offset: 4px;
}

.local-video-play-icon {
  display: block;
  width: 0;
  height: 0;
  margin-left: 0.35rem;
  border-top: 0.7rem solid transparent;
  border-bottom: 0.7rem solid transparent;
  border-left: 1.05rem solid var(--project-page-highlight);
}

.project-video-local.is-playing .local-video-play-toggle {
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0.92);
}

.collection-list-wrapper.project-gallery-list {
  width: 100%;
}

.project-images {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--project-page-media-gap) !important;
  width: 100%;
}

.project-gallery--two-column {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.project-gallery--single-column {
  grid-template-columns: minmax(0, 1fr) !important;
}

.project-images .project-gallery-item {
  aspect-ratio: auto;
  overflow: hidden;
  border: 1px solid var(--project-page-media-line);
  border-radius: 12px;
  background: #050505;
}

.project-images .project-gallery-item img,
.project-images .project-gallery-item .image-4 {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: none;
  border-radius: 11px !important;
  opacity: 1 !important;
  object-fit: contain !important;
  transform: none !important;
}

.project-gallery--two-column .project-gallery-item {
  aspect-ratio: 1 / 1;
}

.project-gallery--two-column .project-gallery-item img,
.project-gallery--two-column .project-gallery-item .image-4 {
  height: 100% !important;
  object-fit: cover !important;
}

.projects-page-hero-section a,
.project-images-section a,
.footer.work-page a {
  color: var(--project-page-ink);
  transition: color var(--project-page-hover-color-duration) ease;
}

.projects-page-hero-section a:hover,
.project-images-section a:hover,
.footer.work-page a:hover,
.projects-page-hero-section a:focus-visible,
.project-images-section a:focus-visible,
.footer.work-page a:focus-visible {
  color: var(--project-page-highlight);
  opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
  .local-video-play-toggle,
  .project-availability-badge {
    transition: none;
  }
}

@media screen and (max-width: 1180px) {
  :root {
    --project-page-label-col: 260px;
    --project-page-row-gap: 56px;
  }

  .project-heading {
    font-size: 56px;
  }

  .project-case-row .label,
  .project-case-value,
  .prjoect-description {
    font-size: 24px !important;
  }
}

@media screen and (max-width: 767px) {
  :root {
    --project-page-edge: 24px;
    --project-page-row-gap: 38px;
    --project-page-media-gap: 18px;
  }

  .project-case-hero {
    min-height: 0;
    height: 258px;
  }

  .section.projects-page-hero-section {
    padding-top: 64px !important;
  }

  .container.project-info-container {
    gap: 42px !important;
  }

  .project-heading-container {
    flex-wrap: wrap;
    gap: 10px;
  }

  .project-heading {
    font-size: 38px;
    line-height: 1.1;
  }

  .project-status-badge {
    min-height: 28px;
    margin-top: 6px;
    padding: 7px 11px;
    font-size: 12px;
  }

  .project-status-badge--image {
    width: 65px;
    height: 31px;
    min-height: 0;
    padding: 0;
    border: 0;
  }

  .project-case-row {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .project-case-row .label {
    font-size: 18px !important;
    line-height: 1.2;
    letter-spacing: 0.045rem;
  }

  .project-case-value,
  .prjoect-description {
    font-size: 19px !important;
    line-height: 1.45 !important;
  }

  .project-case-value p + p,
  .prjoect-description p + p {
    margin-top: 28px;
  }

  .section.project-images-section {
    padding-top: 56px !important;
    padding-bottom: 80px !important;
  }

  .project-images {
    grid-template-columns: 1fr !important;
  }

  .project-images .project-gallery-item {
    aspect-ratio: auto;
    border-width: 2px;
    border-radius: 10px;
  }

  .project-images .project-gallery-item img,
  .project-images .project-gallery-item .image-4 {
    height: auto !important;
    object-fit: contain !important;
  }
}

@media (hover: none), (pointer: coarse) {
  .project-availability-badge:hover:not(:focus-visible) {
    opacity: 1 !important;
    transform: none;
  }

  .local-video-play-toggle:hover:not(:focus-visible) {
    background-color: rgba(8, 8, 8, 0.72);
    border-color: rgba(255, 255, 255, 0.14);
    transform: translate(-50%, -50%) scale(1);
  }

  .projects-page-hero-section a:hover:not(:focus-visible),
  .project-images-section a:hover:not(:focus-visible),
  .footer.work-page a:hover:not(:focus-visible) {
    color: var(--project-page-ink);
    opacity: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-case-hero-image,
  .project-images .project-gallery-item img,
  .project-images .project-gallery-item .image-4 {
    transform: none !important;
    animation: none !important;
  }
}
