:root{--accent:#004872}
.back{font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.project-page{padding:130px 4vw 12vh}.project-hero{max-width:1250px;margin:0 auto}
.project-hero h1{font-size:clamp(70px,12vw,190px);line-height:.78;letter-spacing:-.085em;margin:30px 0 35px}
.lead{font-size:clamp(20px,2.5vw,34px);max-width:800px;color:#555;line-height:1.2;margin-bottom:70px}
.project-hero-image{height:78vh;display:grid;place-items:center;background:linear-gradient(135deg,#c7c4bd,#8e8b84);color:#666;font-size:11px;letter-spacing:.15em}
.project-story{display:grid;grid-template-columns:1fr 2fr;gap:8vw;padding:12vh 0;max-width:1250px;margin:auto}
.project-meta{display:grid;grid-template-columns:1fr 1.5fr;height:max-content;gap:10px 20px;font-size:12px}
.project-meta span{color:#888;text-transform:uppercase;letter-spacing:.08em}.project-meta strong{font-weight:500}
.project-description{font-size:clamp(20px,2.5vw,34px);line-height:1.15;letter-spacing:-.025em}.project-description p+p{margin-top:30px;color:#777}
.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:2vw;max-width:1250px;margin:auto}.gallery-image{min-height:55vh;display:grid;place-items:center;color:#666;font-size:10px;letter-spacing:.15em}
.next-project{max-width:1250px;margin:15vh auto 0!important;padding-bottom:5vh;display:flex;justify-content:space-between;align-items:end;border-top:1px solid #333;padding-top:20px}
.next-project a{font-size:clamp(38px,6vw,90px);line-height:.9;letter-spacing:-.06em}.next-project a:hover{color:var(--accent)}
/* Full-bleed image-only project */
.project-page.fullbleed{padding-left:0;padding-right:0}.fullbleed .project-hero{max-width:none;padding:0 4vw}.fullbleed .project-hero h1{margin-bottom:55px}.fullbleed .lead{margin-left:4vw;margin-bottom:50px}
.fullbleed .project-hero-image{height:92vh}.fullbleed .project-gallery{max-width:none;display:block;margin-top:3vw}.fullbleed .gallery-image{height:90vh;min-height:0;margin-bottom:3vw}
.fullbleed .project-gallery .gallery-a{background:linear-gradient(120deg,#d8d4cc,#8e8a82)}
.fullbleed .project-gallery .gallery-b{background:linear-gradient(120deg,#9b9993,#d9d6d0)}
.fullbleed .project-gallery .gallery-c{background:linear-gradient(120deg,#c4c0b8,#77736c)}
.fullbleed .project-gallery .gallery-d{background:linear-gradient(120deg,#ddd9d2,#aaa59d)}
/* Gallery project: less text, more images */
.gallery-page .project-story{grid-template-columns:1fr;padding-bottom:7vh}.gallery-page .project-description{display:none}
.gallery-page .project-meta{grid-template-columns:repeat(6,auto);justify-content:start}.gallery-page .project-gallery{grid-template-columns:repeat(12,1fr);gap:1.5vw}
.gallery-page .gallery-image{min-height:65vh}.gallery-page .gallery-a{grid-column:span 7}.gallery-page .gallery-b{grid-column:span 5}.gallery-page .gallery-c{grid-column:span 5}.gallery-page .gallery-d{grid-column:span 7}
@media(max-width:800px){
.project-page{padding:110px 6vw 10vh}.project-hero h1{font-size:21vw}.project-hero-image{height:60vh}.project-story{grid-template-columns:1fr;gap:50px}.project-gallery{grid-template-columns:1fr}
.gallery-page .project-meta{grid-template-columns:1fr 1fr}.gallery-page .project-gallery{display:block}.gallery-page .gallery-image{min-height:60vh;margin-bottom:3vw}
.fullbleed .project-hero{padding:0 6vw}.fullbleed .project-hero-image{height:72vh}.fullbleed .project-gallery .gallery-image{height:65vh}
.next-project{display:block!important}.next-project a{display:block;margin-top:25px;font-size:15vw}
}

/* Componenti riutilizzabili per le pagine progetto */
.project-cover{height:auto;background:transparent}
.project-cover img{width:100%;height:auto;object-fit:contain;display:block}
.project-gallery--three,
.gallery-page .project-gallery--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2vw;align-items:start}
.project-gallery--three .gallery-image,
.project-gallery--three .project-image,
.gallery-page .project-gallery--three .gallery-image{grid-column:auto;min-height:0;height:auto;aspect-ratio:auto;overflow:hidden;display:block;background:transparent}
.project-gallery--three .gallery-image img,
.project-gallery--three .project-image img,
.gallery-page .project-gallery--three .gallery-image img{width:100%;height:auto;object-fit:contain;display:block}
@media(max-width:800px){
  .project-gallery--three,
  .gallery-page .project-gallery--three{grid-template-columns:1fr;gap:3vw}
  .gallery-page .project-gallery--three .gallery-image{margin-bottom:0}
}
