/* Completed work: styles are scoped to this page. */
.work-main{padding-top:72px;padding-bottom:80px}
.work-intro{margin-bottom:40px}
.work-intro h1{font-size:clamp(36px,5.6vw,64px);letter-spacing:-.045em;line-height:1.1}
.work-lead{font-size:clamp(18px,2vw,21px);line-height:1.6;color:var(--text);margin-top:24px;max-width:45ch}
.work-gallery-section{padding:0}
.masonry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;align-items:start}
.masonry-grid.is-masonry{grid-auto-rows:8px}
.work-card{min-width:0;margin:0;align-self:start}
.work-card-content{padding-bottom:32px}
.work-photo{display:block;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);isolation:isolate}
.work-photo img{display:block;width:100%;height:auto;transition:transform .25s ease}
.work-photo:hover img{transform:scale(1.025)}
.work-expand{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #fff6;border-radius:50%;background:#0c0d0ed9;color:#fff;font-size:23px;line-height:1}
.work-card figcaption{padding:16px 2px 0}
.work-group{font-size:11px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#ffaf6b;margin-bottom:7px}
.work-card h3{font-size:18px;line-height:1.35;letter-spacing:-.015em}
.work-stage{font-size:14px;color:var(--muted);line-height:1.6;margin-top:5px}
.work-enquiry{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:40px;padding:32px 0 0;border-top:1px solid var(--line)}
.work-enquiry h2{font-size:clamp(24px,3vw,30px);max-width:24ch}
.work-enquiry p{font-size:16px;color:var(--muted);margin-top:12px}
.work-enquiry-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.work-phone{font-size:18px;font-weight:600;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.navlinks a[aria-current=page]{color:#ffaf6b;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
/* Full-viewport photographs: no inset card or decorative image frame. */
.work-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#080a0b;overflow:hidden;scroll-behavior:auto}
.work-viewer::backdrop{background:#080a0b}
.work-viewer-shell{position:relative;width:100%;height:100%;padding:0}
.work-viewer-top{position:fixed;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:linear-gradient(#000b,transparent);color:#fff;font-size:14px;pointer-events:none}
.work-viewer-top>*{pointer-events:auto}
.work-viewer-close{display:grid;place-items:center;min-width:48px;min-height:48px;border:1px solid #ffffff80;border-radius:50%;background:#080a0bc9;color:#fff;font-size:30px;line-height:1}
.work-viewer figure{margin:0}
.work-viewer-image-wrap{width:100%;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center}
.work-viewer-image-wrap img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
#work-desktop-view>figcaption{position:fixed;bottom:0;left:0;right:0;z-index:2;padding:32px 80px 20px;background:linear-gradient(transparent,#000c);text-align:center;font-size:16px;line-height:1.5;color:#fff;pointer-events:none}
.work-viewer-controls{position:fixed;inset:50% 20px auto;z-index:3;display:flex;justify-content:space-between;gap:16px;transform:translateY(-50%);pointer-events:none}
.work-viewer-controls button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;min-width:52px;padding:12px 16px;border:1px solid #ffffff80;border-radius:50%;background:#080a0bc9;color:#fff;font:inherit;pointer-events:auto}
.work-viewer-controls button span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.work-viewer-controls button:disabled{opacity:.3;cursor:default}
.work-viewer-close:hover,.work-viewer-controls button:enabled:hover{border-color:var(--accent);color:#ffaf6b}
.work-mobile-stream{position:relative;padding-top:76px;padding-bottom:env(safe-area-inset-bottom);width:100%}
.work-mobile-stream figure{margin:0 0 24px}
.work-mobile-stream img{display:block;width:100%;max-width:none;height:auto}
.work-mobile-stream figcaption{padding:12px 20px 0;font-size:15px;line-height:1.5;color:#eeece6}
@media(max-width:600px){.work-viewer{overflow-y:auto;overscroll-behavior-y:contain}.work-viewer-shell{height:auto;min-height:100%}.work-viewer-top{padding:12px 16px;background:#080a0bee}.work-viewer-controls{display:none}}
@media(max-width:880px){.work-main{padding-top:48px}.masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.work-enquiry{align-items:flex-start;flex-direction:column}.work-enquiry-actions{width:100%}}
@media(max-width:560px){.work-main{padding-top:36px;padding-bottom:56px}.work-intro{margin-bottom:28px}.work-lead{margin-top:18px}.masonry-grid{grid-template-columns:minmax(0,1fr)}.work-card-content{padding-bottom:28px}.work-card h3{font-size:20px}.work-group{font-size:12px}.work-stage{font-size:15px}.work-enquiry{margin-top:20px;padding-top:28px;gap:24px}.work-enquiry-actions{gap:20px}}
@media(prefers-reduced-motion:reduce){.work-photo img{transition:none}.work-photo:hover img{transform:none}}
@media(forced-colors:active){.work-photo,.work-viewer-controls button,.work-viewer-close{border:1px solid ButtonText}.work-expand{background:Canvas;color:CanvasText}}
@media print{.work-main{padding-top:0}.work-enquiry,.work-expand,.work-viewer{display:none!important}.masonry-grid,.masonry-grid.is-masonry{display:block;columns:2}.work-card{break-inside:avoid}.work-card h3,.work-stage,.work-group{color:#111}}
