.project-gallery{padding:70px var(--gutter);border-bottom:1px solid var(--line);background:#f0f5fb}.project-gallery-inner{min-width:0;max-width:1200px;margin:0 auto}.project-gallery-heading{max-width:760px;margin-bottom:28px}.project-gallery-heading .eyebrow{color:var(--red);font-size:11px}.project-gallery-heading h2{letter-spacing:-.025em;margin-bottom:18px;font-size:clamp(34px,3.8vw,50px);font-weight:750;line-height:1.15}.project-gallery-heading>p:last-child{color:var(--muted);max-width:65ch;margin-bottom:0;font-size:17px;line-height:1.8}.project-gallery-controls{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:14px;display:grid}.project-gallery-controls button{min-height:46px;color:var(--deep);background:#fff;border:1px solid #a3b9d0;border-radius:5px;padding:11px 20px;font-size:14px;font-weight:700;line-height:1.4}.project-gallery-controls button:first-child{justify-self:start}.project-gallery-controls button:last-child{justify-self:end}.project-gallery-controls .project-gallery-playback{background:var(--deep);border-color:var(--deep);color:#fff}.project-gallery-controls button:hover{background:#dce8f6}.project-gallery-controls .project-gallery-playback:hover{background:#194772}.project-gallery-stage{background:var(--deep);color:#fff;border:1px solid #234a70;border-radius:8px;margin:0;overflow:hidden}.project-gallery-image{aspect-ratio:16/9;touch-action:pan-y pinch-zoom;background:#081f37;width:100%;overflow:hidden}.project-gallery-image>img{object-fit:contain;width:100%;height:100%;animation:.4s ease-out gallery-photo-in}.project-gallery-stage figcaption{justify-content:space-between;align-items:center;gap:25px;min-height:105px;padding:22px 26px;display:flex}.project-gallery-count{color:#bdd8f3;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.project-gallery-stage h3{letter-spacing:-.02em;margin:0;font-size:23px;font-weight:650;line-height:1.3}.project-gallery-stage a{text-underline-offset:5px;flex-shrink:0;align-items:center;min-height:44px;padding:12px 0;font-size:13px;text-decoration:underline;display:inline-flex}.project-gallery-thumbnails{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.project-gallery-thumbnails button{opacity:.7;background:#cad8e7;border:3px solid #0000;border-radius:4px;min-height:44px;padding:0;transition:opacity .15s,border-color .15s;position:relative;overflow:hidden}.project-gallery-thumbnails button:hover,.project-gallery-thumbnails button[aria-current=true]{opacity:1}.project-gallery-thumbnails button[aria-current=true]{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.project-gallery-thumbnails img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.project-gallery-thumbnails span{color:#fff;background:#0c2e54eb;padding:3px 7px;font-size:10px;font-weight:750;line-height:1.4;position:absolute;bottom:0;left:0}.project-gallery-hint{color:var(--muted);margin:16px 0 0;font-size:12px;line-height:1.7}@keyframes gallery-photo-in{0%{opacity:.45}to{opacity:1}}@media (max-width:700px){.project-gallery{padding:46px var(--gutter)}.project-gallery-heading{margin-bottom:22px}.project-gallery-heading h2{font-size:34px}.project-gallery-heading>p:last-child{font-size:16px}.project-gallery-controls{grid-template-columns:1fr 1.55fr 1fr;gap:7px}.project-gallery-controls button{width:100%;min-height:46px;padding:11px 6px;font-size:12px}.project-gallery-image{aspect-ratio:4/3}.project-gallery-stage figcaption{min-height:164px;padding:20px;display:block}.project-gallery-stage h3{font-size:21px}.project-gallery-stage a{padding-bottom:0;font-size:12px}.project-gallery-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.project-gallery-thumbnails img{aspect-ratio:1.8}.project-gallery-hint{font-size:11px}}@media (prefers-reduced-motion:reduce){.project-gallery-image>img{animation:none}.project-gallery-thumbnails button{transition:none}}@media print{.project-gallery{break-inside:avoid;background:#fff}.project-gallery-controls,.project-gallery-thumbnails,.project-gallery-hint,.project-gallery-stage a{display:none}.project-gallery-stage{color:#000;background:#fff}.project-gallery-count{color:#333}}.project-gallery-enlarge{min-height:46px;color:var(--deep);background:#fff;border:1px solid #8eaed0;border-radius:5px;flex-shrink:0;padding:11px 19px;font-size:13px;font-weight:700}.project-gallery-enlarge:hover{background:#dce8f6}.project-gallery-stage figcaption{min-height:125px}.project-gallery-browse-link{justify-content:space-between;align-items:center;gap:22px;margin-top:14px;display:flex}.project-gallery-browse-link .project-gallery-hint{margin:0}.project-gallery-browse-link>a,.project-gallery-back{min-height:44px;color:var(--blue);text-underline-offset:5px;flex-shrink:0;align-items:center;font-size:14px;font-weight:700;text-decoration:underline;display:inline-flex}.project-gallery-collection{border-top:1px solid #bfd0e1;margin-top:44px;padding-top:54px}.project-gallery-collection-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:20px;display:flex}.project-gallery-collection-heading .eyebrow{color:var(--red);margin-bottom:12px;font-size:10px}.project-gallery-collection-heading h3{letter-spacing:-.025em;margin-bottom:12px;font-size:clamp(27px,3vw,38px)}.project-gallery-collection-heading p:last-child{color:var(--muted);margin:0;font-size:15px}.project-gallery-filter{flex-shrink:0;width:265px;max-width:100%}.project-gallery-filter label{color:var(--deep);margin-bottom:9px;font-size:12px;font-weight:700;display:block}.project-gallery-filter select{width:100%;min-height:48px;color:var(--deep);background:#fff;border:1px solid #9fb7cf;border-radius:5px;padding:12px 36px 12px 13px;font-size:14px}.project-gallery-results{color:var(--muted);margin-bottom:20px;font-size:12px}.project-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 22px;display:grid}.project-gallery-card{text-align:left;color:var(--deep);background:#fff;border:1px solid #bfd0e1;border-radius:7px;flex-direction:column;min-width:0;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.project-gallery-card:hover{border-color:var(--blue);box-shadow:0 5px 18px #0c2e5412}.project-gallery-card-image{aspect-ratio:4/3;background:#dce6ef;width:100%;display:block;position:relative;overflow:hidden}.project-gallery-card-image img{object-fit:cover;width:100%;height:100%}.project-gallery-card-image>span{background:var(--deep);color:#fff;padding:6px 10px;font-size:11px;font-weight:750;position:absolute;bottom:0;left:0}.project-gallery-card-copy{flex-direction:column;flex:1;width:100%;padding:18px;display:flex}.project-gallery-card-copy>span:first-child{color:var(--red);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:10px;font-weight:700}.project-gallery-card-copy strong{margin-bottom:18px;font-size:19px;font-weight:700;line-height:1.4}.project-gallery-card-action{color:var(--blue);border-top:1px solid #d4e1ed;margin-top:auto;padding-top:13px;font-size:12px;font-weight:700;display:block}.project-gallery-back{margin-top:30px}.project-gallery-lightbox{color:#fff;background:#081f37;border:1px solid #466580;border-radius:9px;width:min(1200px,100vw - 36px);max-width:none;max-height:calc(100dvh - 36px);margin:auto;padding:20px 24px;position:fixed;inset:0;overflow:auto;box-shadow:0 16px 100px #0009}.project-gallery-lightbox::backdrop{background:#03101de8}.project-lightbox-top{color:#bdd8f3;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;font-size:12px;font-weight:650;display:flex}.project-gallery-lightbox button,.project-lightbox-controls a{min-height:44px;color:var(--deep);background:#fff;border:1px solid #8eaed0;border-radius:5px;justify-content:center;align-items:center;padding:10px 19px;font-size:13px;font-weight:700;line-height:1.4;display:inline-flex}.project-lightbox-image{touch-action:pan-y pinch-zoom;background:#041321;height:min(65dvh,760px);overflow:hidden}.project-lightbox-image img{object-fit:contain;width:100%;height:100%}.project-lightbox-caption{min-height:88px;padding:18px 0 14px}.project-lightbox-caption p{letter-spacing:.1em;text-transform:uppercase;color:#bdd8f3;margin-bottom:7px;font-size:10px}.project-lightbox-caption h3{letter-spacing:-.02em;margin:0;font-size:22px;line-height:1.3}.project-lightbox-controls{grid-template-columns:1fr auto 1fr;gap:14px;display:grid}.project-lightbox-controls button:first-child{justify-self:start}.project-lightbox-controls button:last-child{justify-self:end}.project-lightbox-controls a{color:#fff;text-underline-offset:4px;background:0 0;font-size:12px;text-decoration:underline}@media (min-width:1400px){.project-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:700px){.project-gallery-stage figcaption{min-height:190px}.project-gallery-enlarge{min-height:44px;margin-top:15px}.project-gallery-count{font-size:10px;line-height:1.6}.project-gallery-browse-link{display:block}.project-gallery-browse-link>a{margin-top:6px}.project-gallery-collection{margin-top:26px;padding-top:34px}.project-gallery-collection-heading{display:block}.project-gallery-filter{width:100%;margin-top:23px}.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.project-gallery-card-copy{padding:13px 11px}.project-gallery-card-copy>span:first-child{font-size:9px;line-height:1.5}.project-gallery-card-copy strong{margin-bottom:13px;font-size:15px;line-height:1.45}.project-gallery-card-action{padding-top:10px;font-size:11px}.project-gallery-lightbox{border-radius:6px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:13px}.project-lightbox-image{height:calc(100dvh - 260px);min-height:140px}.project-lightbox-caption{min-height:101px;padding:15px 0}.project-lightbox-caption h3{font-size:20px}.project-lightbox-controls{grid-template-columns:1fr 1.2fr 1fr;gap:8px}.project-lightbox-controls button,.project-lightbox-controls a{width:100%;padding:10px 8px;font-size:12px}}@media (prefers-reduced-motion:reduce){.project-gallery-card{transition:none}}@media print{.project-gallery-enlarge,.project-gallery-browse-link,.project-gallery-filter,.project-gallery-back,.project-gallery-lightbox{display:none}.project-gallery-card{break-inside:avoid}.project-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
