.work-section{padding:110px 0 115px;background:linear-gradient(180deg,#f5f5f3,#fff 40%,#f5f5f3);border-top:1px solid #dedfdb;scroll-margin-top:100px}
.work-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:55px;margin-bottom:55px}
.work-heading .eyebrow{color:var(--red)}
.work-heading h2{font-size:clamp(42px,4.6vw,66px);line-height:1.1;letter-spacing:-.05em}
.work-description{max-width:320px;color:var(--muted);font-size:17px;line-height:1.8;padding-bottom:5px}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 26px}
.work-card{display:block;min-width:0}
.work-photo{display:block;position:relative;aspect-ratio:1;overflow:hidden;background:#e6e7e4;border-radius:10px}
.work-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.work-card:hover .work-photo img{transform:scale(1.035)}
.work-expand{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:40px;height:40px;background:#101112db;backdrop-filter:blur(10px);border:1px solid #ffffff50;border-radius:50%;color:#fff;transition:background .2s}
.work-card:hover .work-expand{background:var(--red)}
.work-expand .icon{width:18px;height:18px}
.work-label{display:flex;align-items:baseline;gap:15px;margin-top:16px;font-size:15px;font-weight:550;color:#303336;line-height:1.5}
.work-number{font-size:12px;font-weight:400;color:#777d80;font-variant-numeric:tabular-nums;flex:none}
.work-more{margin-top:44px;border:0}
.work-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:22px;min-height:54px;width:fit-content;margin:0 auto;padding:14px 25px;border:1px solid #bdc1bf;border-radius:5px;font-size:14px;font-weight:600;color:#242729;transition:background .2s}
.work-more>summary::-webkit-details-marker{display:none}
.work-more>summary:hover{background:#e8eae6}
.work-more>summary .icon{width:18px;height:18px;transform:rotate(90deg)}
.work-more[open]>summary .icon{transform:rotate(-90deg)}
.work-more .work-less,.work-more[open] .work-all{display:none}
.work-more[open] .work-less{display:inline}
.work-more .work-grid{margin-top:44px}
.work-card:focus-visible,.work-more>summary:focus-visible{outline:3px solid var(--red);outline-offset:6px;border-radius:8px}
body.gallery-open{overflow:hidden}
.work-viewer{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:24px clamp(18px,4vw,72px);border:0;background:#08090bf5;color:#fff;overflow:auto;overscroll-behavior:contain}
.work-viewer::backdrop{background:#08090b}
.work-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px}
.viewer-toolbar,.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:1500px;margin:auto}
.viewer-heading{font-size:14px;color:#bfc3c5;letter-spacing:.03em}
.viewer-close,.viewer-prev,.viewer-next{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:48px;min-height:48px;border:1px solid #ffffff35;border-radius:50%;background:#ffffff08;color:#fff;cursor:pointer;flex:none}
.viewer-close{border-radius:5px;padding:10px 17px;font-size:14px}
.viewer-close:hover,.viewer-prev:hover,.viewer-next:hover{background:#ffffff20}
.viewer-close:focus-visible,.viewer-prev:focus-visible,.viewer-next:focus-visible,.viewer-original:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
.viewer-stage{position:relative;min-height:0;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:24px;align-items:center;max-width:1500px;width:100%;height:100%;margin:auto;touch-action:pan-y pinch-zoom}
.viewer-image{width:100%;height:100%;min-height:0;object-fit:contain;transition:opacity .15s}
.viewer-stage.is-loading .viewer-image{opacity:.2}
.viewer-prev .icon{transform:rotate(180deg)}
.viewer-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;text-align:center;max-width:400px;background:#08090bc9;pointer-events:none}
.viewer-status:empty{display:none}
.viewer-caption-group{display:flex;flex-direction:column;gap:7px}
#viewer-caption{font-size:16px;font-weight:500;line-height:1.5}
.viewer-count{font-size:13px;color:#a9afb3;font-variant-numeric:tabular-nums}
.viewer-original{font-size:14px;line-height:1.5;color:#d0d4d6;border-bottom:1px solid #62686c;padding-bottom:4px}
@media(max-width:900px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-heading{align-items:flex-start;flex-direction:column;gap:25px}.work-description{max-width:480px}.viewer-stage{gap:16px}}
@media(max-width:540px){.work-section{padding:75px 0 80px}.work-heading{margin-bottom:35px}.work-heading h2{font-size:42px}.work-description{font-size:16px}.work-grid{gap:25px 14px}.work-label{font-size:13px;gap:8px;margin-top:12px}.work-number{font-size:12px}.work-photo{border-radius:7px}.work-expand{width:30px;height:30px;right:9px;bottom:9px}.work-expand .icon{width:14px;height:14px}.work-more{margin-top:34px}.work-viewer{padding:16px 16px max(22px,env(safe-area-inset-bottom))}.viewer-stage{display:block;position:relative}.viewer-image{display:block}.viewer-prev,.viewer-next{position:absolute;z-index:1;top:50%;transform:translateY(-50%);background:#101112b8}.viewer-prev{left:0}.viewer-next{right:0}.viewer-bottom{align-items:flex-start;gap:18px}#viewer-caption{font-size:14px}.viewer-original{font-size:12px;flex:none}.viewer-heading{font-size:12px}}
@media(prefers-reduced-motion:reduce){.work-photo img,.work-expand,.viewer-image{transition:none}.work-card:hover .work-photo img{transform:none}}

.work-photo.work-photo-contain{background:#101112}.work-photo-contain img{object-fit:contain}
