/* Archive layout only. Cards use the shared home .project-button, .visual and .caption components. */
body.projects-page{overflow:auto}
.projects-page .all-projects{max-width:none;padding:150px 8px 45px;margin:auto}
.projects-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;padding:0 18px;margin-bottom:45px}
.projects-heading h1{font-size:clamp(40px,6vw,80px);font-weight:400;letter-spacing:-.055em;line-height:1;margin:0}
.projects-heading h1>span{display:inline-block;font-size:14px;vertical-align:top;letter-spacing:normal;margin:8px 0 0 15px}
.projects-heading>a{font-size:14px}
.projects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 8px}
.projects-grid>.project{position:relative;display:block;min-width:0;min-height:0;height:auto;transform:none;margin:0}
.projects-grid .visual{height:auto;aspect-ratio:var(--home-card-ratio,2/3)}
.archive-contact{display:inline-block;font-size:clamp(22px,3vw,40px);letter-spacing:-.6px;margin:70px 18px 0}
@media(max-width:1000px){.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.projects-page .all-projects{padding-top:130px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:25px}}
@media(max-width:450px){.projects-grid{grid-template-columns:1fr}}
