.works-page{background:#fbfafb}
.works-intro{padding:115px 4.5vw 90px;text-align:center;background:linear-gradient(180deg,#fff 0%,#f8eef1 100%)}
.works-intro .eyebrow{margin-bottom:24px;color:#9d6175}.works-intro h1{margin:0;font-family:var(--serif);font-size:clamp(78px,13vw,190px);font-weight:600;line-height:.82;letter-spacing:-.055em}.works-intro p:last-child{max-width:560px;margin:45px auto 0;font-size:13px;line-height:2;color:var(--muted)}
.works-gallery{padding:120px 4.5vw 145px}.works-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:90px 22px;max-width:1500px;margin:0 auto}.work-item{grid-column:span 4;min-width:0}.work-item-featured{grid-column:span 8}.work-image-button{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:zoom-in}.work-image-frame{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(145deg,#f4e7eb,#ded9dc)}.work-image-frame img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease,opacity .3s}.work-image-placeholder{position:absolute;inset:0;display:none;place-content:center;text-align:center}.work-image-placeholder b{font-family:var(--serif);font-size:70px;font-style:italic;color:#b7788e}.work-image-placeholder small{display:block;margin-top:12px;font-size:9px;letter-spacing:.2em;color:var(--muted)}.work-image-frame.is-missing img{display:none}.work-image-frame.is-missing .work-image-placeholder{display:grid}.work-view{position:absolute;right:18px;bottom:18px;padding:9px 12px;background:rgba(255,255,255,.85);font-size:9px;font-weight:600;letter-spacing:.18em;opacity:0;transform:translateY(6px);transition:.3s}.work-image-button:hover img{transform:scale(1.018)}.work-image-button:hover .work-view,.work-image-button:focus-visible .work-view{opacity:1;transform:none}.work-caption{display:grid;grid-template-columns:42px 1fr;gap:15px;padding-top:20px}.work-caption>span{padding-top:6px;font-size:9px;letter-spacing:.16em;color:#a16b7c}.work-caption h2{margin:0;font-family:var(--serif);font-size:clamp(24px,2.4vw,38px);font-weight:600;line-height:1.05;letter-spacing:.01em}.work-caption p{margin:10px 0 0;font-size:9px;font-weight:600;letter-spacing:.18em;color:var(--muted)}
.works-lightbox{position:fixed;z-index:100;inset:0;display:grid;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center;padding:72px 3vw 35px;background:rgba(18,16,18,.94);color:#fff}.works-lightbox[hidden]{display:none}.lightbox-stage{max-width:min(78vw,1280px);width:100%;margin:auto}.lightbox-stage img{display:block;width:100%;max-height:76vh;object-fit:contain}.lightbox-caption{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-top:18px}.lightbox-caption h2{margin:0;font-family:var(--serif);font-size:clamp(25px,3vw,42px)}.lightbox-caption p,.lightbox-counter{margin:7px 0 0;font-size:9px;letter-spacing:.18em;color:#c8c3c7}.lightbox-counter{white-space:nowrap}.lightbox-close,.lightbox-nav{border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.04);color:#fff;cursor:pointer;transition:.25s}.lightbox-close{position:absolute;top:24px;right:3vw;width:48px;height:48px;border-radius:50%;font-size:24px}.lightbox-nav{width:54px;height:54px;border-radius:50%;font:400 31px/1 Arial,sans-serif}.lightbox-close:hover,.lightbox-nav:hover{background:#f3c3d1;color:#202024;border-color:#f3c3d1}.lightbox-open{overflow:hidden}
@media(max-width:900px){.works-grid{gap:70px 18px}.work-item{grid-column:span 6}.work-item-featured{grid-column:span 12}}
@media(max-width:760px){.works-intro{padding:80px 20px 70px}.works-intro h1{font-size:75px}.works-intro p:last-child{margin-top:32px;font-size:12px}.works-gallery{padding:80px 20px 100px}.works-grid{display:block}.work-item,.work-item-featured{margin-bottom:65px}.work-item:last-child{margin-bottom:0}.work-caption{grid-template-columns:34px 1fr;padding-top:16px}.work-caption h2{font-size:28px}.work-view{opacity:1;transform:none;right:12px;bottom:12px}.works-lightbox{grid-template-columns:48px minmax(0,1fr) 48px;padding:74px 8px 28px}.lightbox-stage{max-width:none}.lightbox-stage img{max-height:68vh}.lightbox-nav{width:42px;height:42px;font-size:25px}.lightbox-caption{margin:15px 8px 0}.lightbox-caption h2{font-size:24px}.lightbox-close{top:16px;right:16px;width:46px;height:46px}.lightbox-counter{font-size:8px}}
@media(prefers-reduced-motion:reduce){.work-image-frame img,.work-view,.lightbox-close,.lightbox-nav{transition:none}}
