.projects-page{font-family:'Helvetica Neue',Arial,sans-serif;background:#F6F4EF;color:#1D211E;--project-gutter:clamp(24px,7.5vw,130px)}
.projects-page .header{padding:35px 3.5%;font-weight:300}.projects-page .brand{font-size:21px;font-weight:300;letter-spacing:-.06em}.projects-page .nav{font-size:17px;letter-spacing:-.025em}.projects-page .nav [aria-current=page]{border-bottom:1px solid #65714e;padding-bottom:4px}
.projects-index{padding:75px var(--project-gutter) 125px;min-height:70vh}
.projects-intro{position:relative;padding:0 0 65px}.projects-overline{font-size:12px;letter-spacing:.15em;text-transform:uppercase;margin:0 0 33px;color:#686e62;display:flex;align-items:center;gap:20px}.projects-overline:before{content:'';width:44px;height:1px;background:#a4ab97}
.projects-title{font-size:clamp(100px,16.2vw,260px);font-weight:300;line-height:.93;letter-spacing:-.073em;margin:0;overflow:hidden;padding:0 .06em .12em 0}.projects-title>span{display:block}.projects-title i{font-style:normal;color:#9aad62;letter-spacing:-.03em}
.projects-intro-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:18px}.projects-description{font-size:clamp(16px,1.35vw,21px);line-height:1.5;letter-spacing:-.025em;margin:0;max-width:400px}.projects-intro-note{font-size:11px;line-height:1.9;letter-spacing:.18em;text-transform:uppercase;text-align:right;color:#777d70;margin:0}
.projects-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0 25px;border-top:1px solid #b5bcaa}
.projects-filters,.projects-views{display:flex;align-items:center;gap:26px}.projects-toolbar button{font:inherit;font-size:13px;border:0;background:none;color:#686e62;padding:12px 0;position:relative;white-space:nowrap}.projects-filters button{display:flex;gap:7px;align-items:baseline}.projects-filters button span{font-size:11px;color:#7a816e}.projects-toolbar button[aria-pressed=true]{color:#1d211e}.projects-toolbar button[aria-pressed=true]:after{content:'';position:absolute;height:2px;background:#96aa5e;bottom:4px;left:0;right:0}.projects-toolbar button:hover{color:#1d211e}.projects-views{gap:17px}.projects-views:before{content:'';width:1px;height:22px;background:#c8cdbd;margin-right:8px}
.projects-status{margin:0;height:0}.project-results{position:relative}.project-entries{padding:0;margin:0;list-style:none}.project-entry[hidden]{display:none!important}.project-entry{border-top:1px solid #c4cab9}.project-entry:last-child{border-bottom:1px solid #c4cab9}
.project-entry-link{position:relative;display:grid;grid-template-columns:45px 1fr 205px 68px;align-items:center;gap:20px;min-height:151px;padding:30px 0}.project-number{align-self:start;margin-top:13px;font-size:11px;color:#777e6c;letter-spacing:.1em}.project-name{margin:0;font-size:clamp(35px,4.1vw,67px);line-height:1.05;letter-spacing:-.05em;font-weight:400;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.project-name-long{font-size:clamp(30px,3.35vw,54px)}.project-meta{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#5a6355;line-height:1.45}.project-kind{font-size:10px;text-transform:uppercase;letter-spacing:.13em;display:flex;align-items:center;gap:7px}.project-kind:before{content:'';width:5px;height:5px;border:1px solid #7a846c;border-radius:50%}.project-entry[data-kind=real] .project-kind:before{background:#a1b666;border-color:#a1b666}.project-visit{border:1px solid #a9b198;border-radius:50%;height:39px;width:68px;display:flex;justify-content:center;align-items:center;gap:9px;font-size:12px;transition:background .3s,border-color .3s,transform .3s}.project-visit span{font-size:18px}.project-entry-link:hover .project-name{transform:translateX(8px)}.project-entry-link:hover .project-visit,.project-entry-link:focus-visible .project-visit{background:#BCCF73;border-color:#BCCF73;transform:rotate(-6deg)}.project-entry-link:focus-visible{outline-offset:5px}.project-visual{display:none;margin:0;background:#e5e5db;overflow:hidden;aspect-ratio:16/9}.project-visual img{width:100%;height:100%;object-fit:contain;object-position:top;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.project-visual figcaption{display:none}.project-entry-link:hover .project-visual img{transform:scale(1.025)}
.projects-preview{position:fixed;top:0;left:0;z-index:30;width:clamp(300px,31vw,520px);aspect-ratio:16/9;margin:0;pointer-events:none;opacity:0;visibility:hidden;overflow:hidden;background:#e4e3d9;box-shadow:0 20px 60px #1d211e20;transform-origin:center}.projects-preview img{width:100%;height:100%;object-fit:contain;object-position:top}
.project-results[data-view=gallery] .project-entries{display:grid;grid-template-columns:1.16fr 1fr;gap:70px 8%;padding:34px 0 0}.project-results[data-view=gallery] .project-entry{border:0;min-width:0}.project-results[data-view=gallery] .project-entry.gallery-offset{margin-top:180px}.project-results[data-view=gallery] .project-entry-link{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px;padding:0;min-height:0}.project-results[data-view=gallery] .project-visual{display:block;order:-2;width:100%;aspect-ratio:16/9;margin-bottom:10px}.project-results[data-view=gallery] .project-number{margin:0;order:-1;width:22px}.project-results[data-view=gallery] .project-name{font-size:clamp(26px,2.5vw,42px);flex:1}.project-results[data-view=gallery] .project-meta{order:1;width:100%;padding-left:38px;flex-direction:row;justify-content:space-between;gap:12px}.project-results[data-view=gallery] .project-visit{height:32px;width:57px;font-size:11px}.project-results[data-view=gallery] .project-entry-link:hover .project-name{transform:none}
.project-visual-pending{padding:25px;align-items:center;justify-content:center;font-size:12px;color:#6a7162;border:1px solid #c9cdbf}.project-results[data-view=gallery] .project-visual-pending{display:flex}
@media(max-width:1050px){.project-entry-link{grid-template-columns:30px 1fr 155px 60px;gap:13px;min-height:140px}.project-visit{width:60px}.projects-filters{gap:18px}.projects-title{font-size:18vw}.project-results[data-view=gallery] .project-entries{gap:55px 6%}.project-results[data-view=gallery] .project-entry.gallery-offset{margin-top:110px}.project-results[data-view=gallery] .project-meta{flex-direction:column}.project-name-long{font-size:30px}}
@media(max-width:700px){.projects-page .header{padding:26px 24px}.projects-page .brand{font-size:19px}.projects-page .nav{display:flex;flex-direction:row;width:auto;padding:0;font-size:15px;gap:18px}.projects-index{padding:55px 24px 75px}.projects-intro{padding-bottom:40px}.projects-overline{font-size:10px;gap:14px;margin-bottom:30px}.projects-overline:before{width:27px}.projects-title{font-size:clamp(84px,22vw,145px)}.projects-intro-bottom{align-items:flex-start;margin-top:20px;gap:16px}.projects-description{font-size:16px;max-width:220px}.projects-intro-note{font-size:9px;letter-spacing:.08em}.projects-toolbar{flex-wrap:wrap;gap:9px;padding:16px 0 22px}.projects-filters{gap:20px;width:100%;justify-content:space-between}.projects-toolbar button{font-size:12px;min-height:44px}.projects-filters button{gap:4px}.projects-views{margin-left:auto;gap:20px}.projects-views:before{display:none}.project-entry-link{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;padding:25px 0 31px}.project-visual{display:block;order:-2;width:100%;aspect-ratio:16/9;margin-bottom:7px}.project-number{order:-1;margin:0;width:20px;align-self:auto}.project-name,.project-name-long{font-size:31px;flex:1}.project-meta{order:1;padding-left:34px;width:100%;gap:6px;font-size:12px}.project-visit{width:58px;height:33px;font-size:11px}.project-entry-link:hover .project-name{transform:none}.projects-preview{display:none}.project-visual-pending{display:flex;min-height:130px}.project-results[data-view=gallery] .project-entries{grid-template-columns:1fr;gap:43px;padding-top:20px}.project-results[data-view=gallery] .project-entry.gallery-offset{margin-top:0}.project-results[data-view=gallery] .project-name{font-size:31px}.project-results[data-view=gallery] .project-meta{padding-left:34px}.project-results[data-view=gallery] .project-visual{aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){.projects-page *, .projects-page *:before,.projects-page *:after{scroll-behavior:auto!important}.projects-page .project-name,.projects-page .project-visit,.projects-page .project-visual img{transition:none!important}.projects-preview{display:none!important}}
/* The first four curated projects retain the editorial two-column composition. */
.project-entries[hidden],.projects-load-more[hidden],.projects-progress[hidden]{display:none!important}
.project-results[data-view=gallery] .project-entries-more{grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 4%;padding-top:95px}
.project-results[data-view=gallery] .project-entries-more .project-name{font-size:clamp(24px,2vw,34px)}
.project-results[data-view=gallery] .project-entries-more .project-meta{flex-direction:column;gap:8px}
.project-results[data-view=list] .project-entries-more:not([hidden]){margin-top:-1px}
.projects-pagination{display:flex;align-items:center;flex-direction:column;gap:18px;margin-top:65px}
.projects-pagination:has(.projects-load-more[hidden]){margin-top:0}
.projects-progress{font-size:12px;color:#686e62;letter-spacing:.08em;margin:0}
.projects-load-more{font:inherit;font-size:15px;color:#1D211E;border:1px solid #a9b198;background:transparent;border-radius:50px;min-height:60px;padding:18px 28px;display:flex;align-items:center;gap:35px;transition:background .3s,transform .3s}
.projects-load-more:hover{background:#BCCF73;transform:translateY(-2px)}
.projects-sector{display:flex;align-items:center;gap:12px;font-size:12px;color:#686e62}
.projects-sector select{background:transparent;color:#1D211E;border:1px solid #b5bcaa;padding:12px;font:inherit;border-radius:0;max-width:250px}
.projects-noscript{margin-top:40px}.projects-noscript a{text-decoration:underline}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project-results[data-view=gallery] .project-visual{transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s;transform-origin:50% 100%}.project-results[data-view=gallery] .project-entry-link:hover .project-visual{transform:perspective(1300px) rotateX(1.5deg) translateY(-4px);box-shadow:0 18px 28px -20px #1d211e40}}
@media(max-width:1100px){.projects-toolbar{flex-wrap:wrap}.project-results[data-view=gallery] .project-entries-more{grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 6%}.project-results[data-view=gallery] .project-entries-more .project-name{font-size:30px}}
@media(max-width:700px){.project-results[data-view=gallery] .project-entries-more{grid-template-columns:1fr;gap:43px;padding-top:43px}.projects-load-more{min-height:56px;padding:16px 23px;font-size:14px}.projects-sector{width:100%;justify-content:space-between}.projects-sector select{flex:1}.projects-pagination{margin-top:45px}.projects-filters{gap:12px}.project-results[data-view=gallery] .project-name-long{font-size:27px}.project-results[data-view=gallery] .project-entry-link{gap:13px}}
@media(prefers-reduced-motion:reduce){.projects-load-more{transition:none}.projects-load-more:hover{transform:none}}

.projects-empty{padding:45px 0;font-size:16px;color:#686e62}.projects-empty[hidden]{display:none}

/* A CSS hover transition must not chase every GSAP reveal frame. */
.project-results[data-view=gallery] .project-visual.is-revealing{transition:none;will-change:transform,opacity}
