section[id]{scroll-margin-top:82px}

.project-preview-link{
  display:block;
  padding:0;
  isolation:isolate;
  background:#d9d6d0;
}

.project-preview-link img,
.project-preview-link video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:inherit;
  display:block;
  object-fit:cover;
  object-position:top center;
  transition:transform .45s ease,filter .45s ease;
}

.project-preview-link:hover img,
.project-preview-link:focus-visible img,
.project-preview-link:hover video,
.project-preview-link:focus-visible video{
  transform:scale(1.018);
}

.project-preview-link:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,transparent 62%,rgba(10,15,24,.16));
  pointer-events:none;
}

.project-preview-link>.project-visit{
  position:absolute;
  right:1.35rem;
  bottom:1.35rem;
  z-index:3;
  padding:.8rem 1rem;
  background:rgba(255,255,255,.94);
  color:#172338;
  border:1px solid rgba(23,35,56,.1);
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 8px 25px rgba(10,15,24,.08);
}

.project-atlas .project-stage,
.project-cajuzin .project-stage,
.project-sagres .project-stage,
.project-libanus .project-stage{
  min-height:430px;
}

.project-stage>.cajuzin-preview-shade{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  background:linear-gradient(90deg,rgba(7,27,21,.90),rgba(7,27,21,.42) 58%,rgba(7,27,21,.08));
}

.project-stage>.cajuzin-preview-brand,
.project-stage>.cajuzin-preview-title{
  position:absolute;
  left:clamp(1.5rem,3.4vw,3.5rem);
  z-index:2;
  display:block;
  margin:0;
  color:#fff;
  text-transform:none;
}

.project-stage>.cajuzin-preview-brand{
  top:1.6rem;
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.08em;
}

.cajuzin-preview-brand i{color:#ff7900;font-style:normal}

.project-stage>.cajuzin-preview-title{
  bottom:2rem;
  max-width:68%;
  font-size:clamp(1.65rem,2.7vw,3.2rem);
  font-weight:600;
  line-height:.98;
  letter-spacing:-.05em;
}

.cajuzin-preview-title em{
  color:#ff7900;
  font-family:inherit;
  font-style:normal;
  font-weight:inherit;
}

.cajuzin-video-preview video{object-position:center}

.case-link{
  display:inline-block;
  margin-top:1.5rem;
  padding-bottom:.42rem;
  border-bottom:1px solid currentColor;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}

@media (max-width:700px){
  section[id]{scroll-margin-top:74px}

  .project-atlas .project-stage,
  .project-cajuzin .project-stage,
  .project-sagres .project-stage,
  .project-libanus .project-stage{
    min-height:250px;
  }

  .project-preview-link>.project-visit{
    right:.9rem;
    bottom:.9rem;
    padding:.7rem .85rem;
  }

  .project-stage>.cajuzin-preview-title{
    bottom:1.3rem;
    max-width:80%;
    font-size:clamp(1.45rem,7vw,2rem);
  }
}

@media (prefers-reduced-motion:reduce){
  .project-preview-link video{display:none}
  .cajuzin-video-preview{
    background:url("assets/cajuzin-site.jpg?v=20260904-2") top center/cover no-repeat;
  }
}


/* Performance */
.project,
.services,
.about,
.contact{
  content-visibility:auto;
  contain-intrinsic-size:700px;
}
