/* PROJECTS: 1920px design, with the existing responsive page gutter. */
.selected-works { padding-bottom: max(100px, 17.135417vw); }
.project { position:relative; color:var(--color-text); background:var(--color-bg); padding-bottom:18vw; }
.project-info { display:grid; grid-template-columns:calc(4.541% + 16px) calc(42.842% - 16px) 30.662% 1fr; padding:0 var(--page-inset); font-size:20px; font-weight:500; line-height:1; }
.project-info p,.project-info h3 { margin:0; font-size:inherit; font-weight:inherit; }
.project-number { padding-left:8px; }
.project-details { max-width:270px; }
.project-info .project-description { margin-top:44px; font-size:10px; font-weight:400; line-height:1.2; letter-spacing:.56px; opacity:.5; }
.project-reveal .about-reveal-line-mask { overflow:visible !important; clip-path:inset(-.14em -.18em); }
.project-slider { --slide-width:56.458333vw; --slide-origin:20.78125vw; margin-top:8.020833vw; overflow:hidden; touch-action:pan-y; cursor:grab; }
.project-slider:focus-visible { outline:1px solid currentColor; outline-offset:4px; }
.project-track { display:flex; align-items:center; gap:4px; overflow-x:auto; scrollbar-width:none; }
.project-track::-webkit-scrollbar { display:none; }
.project-slide { flex:0 0 var(--slide-width); min-width:0; height:calc(var(--slide-width) * 9 / 16); }
.project-slide-inner { width:100%; height:100%; transition:transform .9s ease; }
.project-media,.project-media img,.project-media video { display:block; width:100%; height:100%; }
.project-media img,.project-media video { object-fit:contain; user-select:none; -webkit-user-drag:none; }
.project-slider.is-enhanced .project-track { display:block; position:relative; height:calc(var(--slide-width) * 9 / 16); overflow:visible; }
.project-slider.is-enhanced .project-slide { position:absolute; left:0; top:0; width:var(--slide-width); height:100%; min-height:0; }
.project-slider.is-pressed { cursor:grabbing; }
@media(min-width:992px) { .project-info { font-size:16px; } .project-info .project-services { font-size:16px; } .project-info .project-description { font-size:13px; } .project-slider.is-pressed .project-slide-inner { transform:scale(.83); } }
@media(max-width:991px) { .project-slider { --slide-width:90vw; --slide-origin:0px; }  }
@media(max-width:767px) {
 .project-info { grid-template-columns:40px 1fr auto; row-gap:40px; font-size:16px; }
 .project-number { padding-left:0; }
 .project-info .project-services { font-size:13px; }
 .project-details { grid-column:2 / 4; width:100%; max-width:270px; }
 .project-info .project-description { margin-top:24px; font-size:11px; }
 .project-slider { margin-top:64px; }
 .project { padding-bottom:160px; }
}
@media(prefers-reduced-motion:reduce) { .project-slide-inner { transition:none; }  }


/* Taller project slides on desktop; intrinsic media proportions remain intact. */
@media(min-width:992px) {
 .project-slide { height:calc(var(--slide-width) * 9 / 16 * 1.188); }
 .project-slider.is-enhanced .project-track { height:calc(var(--slide-width) * 9 / 16 * 1.188); }
}

.project-media picture{display:contents}

/* Tablet layouts: shared project metadata row, including future CMS projects. */
@media (min-width:768px) and (max-width:1366px) {
 .project-info { font-size:14px; }
 .project-info .project-services { font-size:14px; }
}

@media (min-width:768px) and (max-width:991px) {
 .project-info .project-description { font-size:11px; }
}
