.projects-section{margin-top:var(--section-gap);padding-bottom:0;font-family:Inter,Arial,sans-serif;letter-spacing:0;color:#030303}
.projects-intro{height:348px;position:relative}
.projects-intro h2{margin:0;max-width:734px;font-size:45px;font-weight:900;line-height:1.08;letter-spacing:-.9px}
.projects-intro p{position:absolute;top:226px;left:50%;transform:translateX(-50%);width:446px;margin:0;text-align:center;font-size:16px;line-height:1.3;font-weight:600}
.intro-line{display:block;overflow:hidden;padding-bottom:.18em;margin-bottom:-.18em}
.intro-line>span{display:block}
.intro-motion .intro-line>span{transform:translateY(115%)}

.intro-motion #work-title.is-revealed .intro-line>span{animation:intro-line-reveal 660ms cubic-bezier(.22,1,.36,1) both;animation-delay:calc(100ms + var(--intro-line)*75ms)}

@keyframes intro-line-reveal{from{transform:translateY(115%)}to{transform:translateY(0)}}
.project-card{display:block;width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer;margin:0 0 40px;color:inherit;text-decoration:none;outline-offset:5px}
.project-card figure{margin:0}
.project-photo{position:relative;aspect-ratio:1400/770;overflow:hidden;background:#e9e9e9}
.project-cle .project-photo{aspect-ratio:1400/766}
.project-photo>img{position:absolute;display:block;max-width:none;object-fit:fill;width:100%;height:100%;left:0;top:0}
.project-cle .project-photo>img{width:113.68%;height:106.56%;left:-9.87%;top:-.03%}
.project-casa .project-photo>img{width:117.51%;height:120.18%;left:-15.67%;top:-4.94%}
.project-gaslighter .project-photo>img{width:100%;height:149.48%;left:0;top:-19.54%}
.project-brucato .project-photo>img{width:104.72%;height:104.71%;left:-4.71%;top:-.02%}
.project-tapestry .project-photo>img{height:102.33%}
.project-eight-oaks .project-photo>img{width:100.06%;height:107.27%;left:-.03%;top:-4.81%}
.project-meta{display:grid;grid-template-columns:1fr 1fr 1fr;padding-top:20px;font-size:16px;font-weight:600;line-height:12px}
.project-meta>span:nth-child(2){text-align:center;white-space:nowrap}
.project-shade{position:absolute;inset:0;background:#000;opacity:0;transition:opacity 240ms ease;pointer-events:none}
.project-cta{position:absolute;left:var(--cta-x,50%);top:var(--cta-y,50%);transform:translate(-50%,-50%);background:#f6f6f6;padding:9px 16px;font-size:14px;font-weight:600;line-height:18px;opacity:0;transition:opacity 160ms ease;pointer-events:none;white-space:nowrap}
.project-cta>span{display:block}
.project-shade{display:none}
.project-photo.is-pointer-active .project-cta,.project-card:focus-visible .project-cta{opacity:1;transform:translate(-50%,-50%)}
.project-meta{cursor:default}
.project-card:focus-visible{outline:2px solid #080808}
.project-card:focus-visible:not(:hover) .project-cta{left:50%;top:50%}
.all-projects{text-align:center;margin-top:80px;font-size:16px;font-weight:600;line-height:19px}
.all-projects button{border:0;background-color:transparent;color:inherit;font:inherit;cursor:pointer;padding:0 0 2px}
@media(hover:none){.project-cta{opacity:1;transform:translate(-50%,-50%)}}
@media(prefers-reduced-motion:reduce){.project-shade,.project-cta{transition:none}}
@media(prefers-reduced-motion:reduce){.intro-motion .intro-line>span{transform:none;animation:none!important}.intro-motion .projects-intro p{opacity:1;transform:translateX(-50%);transition:none}}
