.project-list{max-width:1800px;margin:auto;padding:0 5%}.project{padding:36px 0;border-top:1px solid var(--rule)}.project h3{font-size:clamp(1.2rem,2vw,1.8rem);font-weight:500;line-height:1.35;letter-spacing:-.015em;margin:0 0 22px}.project-carousel{position:relative;--photo-height:clamp(340px,34vw,520px)}.project-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;align-items:flex-start}.project-grid::-webkit-scrollbar{display:none}.project-grid>figure{margin:0;flex:0 0 auto;width:calc(var(--photo-height)*var(--photo-ratio));scroll-snap-align:start;min-width:0}.project-photo{display:block;border:0;padding:0;width:100%;height:var(--photo-height);background:none;overflow:hidden;cursor:zoom-in;border-radius:3px}.project-photo img{display:block;width:100%;height:100%;object-fit:cover}.project figcaption{padding:8px 0;font-size:.85rem}.project .gal-controls{display:flex;align-items:center;gap:18px;margin-top:16px;padding:0}.project .gal-dots{display:flex;gap:5px;flex:1;min-width:0;flex-wrap:wrap}.project .gal-pip{width:20px;height:4px;border:0;background:var(--rule);padding:0;cursor:pointer}.project .gal-pip.active{background:var(--navy);width:32px}.project-count{font-size:.8rem;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}.project .gal-arrows{display:flex;gap:8px}.project .gal-arrow{border:1px solid var(--rule);border-radius:50%;background:var(--white);color:var(--navy);width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer}.project .gal-arrow svg{width:18px;height:18px}.project .gal-arrow:disabled{opacity:.3;cursor:default}.project-photo:focus-visible,.project-grid:focus-visible,.gal-pip:focus-visible,.gal-arrow:focus-visible{outline:2px solid var(--navy);outline-offset:3px}.project-film{margin-top:18px;padding-top:12px;border-top:1px solid var(--rule)}.project-film summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;font-size:.85rem;list-style:none}.project-film summary::-webkit-details-marker{display:none}.project-film summary::after{content:'+';font-size:1.2rem}.project-film[open] summary::after{content:'−'}.project-film video{display:block;width:100%;max-width:900px;max-height:520px;background:#012435;margin-top:12px}.projects-toggle-wrap{padding:12px 5% 28px;text-align:center}.projects-toggle{min-height:48px;min-width:230px;justify-content:center}.project-list.projects-collapsed .project:nth-of-type(n+3){display:none}.lightbox[aria-hidden="true"]{display:none}.lightbox img{max-width:92vw;max-height:82vh}.lightbox{z-index:1000}.lb-close{min-height:44px;min-width:70px}
@media(max-width:680px){.gallery{padding:40px 0 24px}.gallery .sec-header{display:block;margin:0 5% 20px}.gallery .sec-header h2{font-size:1.8rem;line-height:1.2}.project-list{padding:0}.project{padding:24px 0}.project h3{padding:0 5%;font-size:1.15rem;margin-bottom:16px}.project-carousel{--photo-height:320px}.project-grid{padding:0 5%;scroll-padding-inline:5%;gap:10px}.project .gal-controls{margin:12px 5% 0;gap:10px;justify-content:space-between}.project .gal-dots{display:none}.project-count::after{content:'  Swipe to explore';font-size:.73rem;color:var(--muted)}.project .gal-arrows{margin-left:auto}.project-film{margin:16px 5% 0}.project-film video{max-height:55svh}.project figcaption{font-size:.8rem}.projects-toggle{width:100%}.lightbox{padding:64px 12px 76px}.lightbox img{max-width:calc(100vw - 24px);max-height:calc(100svh - 140px)}.lb-close{top:max(12px,env(safe-area-inset-top));right:12px}.lb-cap{bottom:max(16px,env(safe-area-inset-bottom));font-size:.78rem;line-height:1.4}.process-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.project-grid{scroll-behavior:auto}}

.comparison{--reveal:50%}.compare-images{position:relative;height:var(--photo-height);overflow:hidden;border-radius:3px;user-select:none;-webkit-user-select:none;touch-action:pan-y}.compare-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.compare-before{clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}.compare-label{position:absolute;top:12px;padding:6px 10px;background:#012435;color:white;font-size:.75rem;pointer-events:none}.compare-left{left:12px}.compare-right{right:12px}.compare-divider{position:absolute;top:0;bottom:0;left:var(--reveal);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 6px rgba(1,36,53,.45);pointer-events:none}.compare-handle{position:absolute;top:50%;left:var(--reveal);width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#fff;box-shadow:0 4px 18px rgba(1,36,53,.45);display:flex;align-items:center;justify-content:center;gap:2px;pointer-events:none}.compare-handle svg{width:24px;height:24px;stroke:#013045;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.compare-control{position:absolute;inset:0;display:block;margin:0;padding:0}.compare-control span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.compare-control input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:ew-resize;background:transparent;-webkit-appearance:none;appearance:none}.compare-control input::-webkit-slider-thumb{-webkit-appearance:none;width:54px;height:54px}.compare-control input::-moz-range-thumb{width:54px;height:54px;border:0}.compare-control input:focus-visible{opacity:1;outline:3px solid #fff;outline-offset:-5px}.compare-hint{display:flex;align-items:center;gap:8px;margin:0;padding:10px 0 0;font-size:.82rem;color:#4a5a63}.compare-hint svg{width:16px;height:16px;flex:none;stroke:#013045;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Videos share the photo carousel and retain their original proportions. */
.project-grid>.project-video-slide{max-width:90vw}
.project-video-slide video{display:block;width:100%;height:var(--photo-height);object-fit:contain;background:#012435;border-radius:3px}
