.hero-photo {
  background-image: url("assets/hero-cut-stone.webp");
}

.gallery-image[hidden],
.comparison[hidden] {
  display: none !important;
}

.project > .compare-thumb {
  position: relative;
  display: block;
  padding: 0;
  aspect-ratio: 1.32;
  overflow: hidden;
}

.compare-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.compare-thumb img:last-child {
  clip-path: inset(0 0 0 50%);
}

.comparison {
  margin-top: 25px;
}

.comparison-stage {
  --position: 50%;
  position: relative;
  width: 100%;
  aspect-ratio: 1.32;
  overflow: hidden;
  background: #ddd;
}

.comparison-stage img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

.comparison-after-wrap {
  position: absolute;
  inset: 0;
  clip-path: inset(0 0 0 var(--position));
}

.comparison-divider {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3px;
  background: white;
  box-shadow: 0 0 0 1px #0004;
  transform: translateX(-1px);
  pointer-events: none;
}

.comparison-label {
  position: absolute;
  top: 12px;
  z-index: 2;
  padding: 5px 9px;
  background: #231d19cc;
  color: white;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.before-label { left: 12px; }
.after-label { right: 12px; }

.comparison label {
  display: block;
  margin-top: 14px;
  color: #665e56;
  font-size: 13px;
}

.comparison-range {
  display: block;
  width: 100%;
  margin-top: 8px;
  accent-color: #764d35;
}

footer .insurance {
  display: flex;
  align-items: center;
  gap: 6px;
}

footer .insurance svg {
  width: 16px;
  height: 16px;
  color: #764d35;
}

@media (max-width: 540px) {
  .project > .compare-thumb { aspect-ratio: .98; }
  .comparison-stage { aspect-ratio: .82; }
  footer .insurance { justify-content: center; }
}
