
.project-entry a::after{content:"";position:absolute;inset:0;border-radius:14px}.project-entry:focus-within{outline:3px solid var(--cyan);outline-offset:4px}.gallery-intro{padding-bottom:28px}.gallery-intro h1{font-size:clamp(38px,5vw,66px);max-width:1000px}.gallery-lead{font-size:20px;max-width:780px;color:var(--muted)}.crumb{font-size:13px;color:var(--muted);margin:0 0 35px}.crumb a{text-decoration:underline}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:20px}.project-tile{background:var(--panel);border:1px solid #35434e;border-radius:14px;overflow:hidden;display:block}.project-tile:hover{border-color:var(--cyan)}.project-tile>img{display:block;width:100%;height:370px;object-fit:cover;object-position:center 58%}.project-tile>div{padding:30px}.project-tile h2{font-size:30px;letter-spacing:-1px;margin:12px 0}.project-tile p{color:var(--muted)}.view-project{display:block;border-top:1px solid #35434e;padding-top:18px;color:var(--cyan);font-weight:bold}.view-project span{float:right}.photo-filters{display:flex;flex-wrap:wrap;gap:10px;padding-top:10px;padding-bottom:28px}.photo-filters button,.lightbox button{border:1px solid #647782;color:var(--white);background:#1b232b;padding:11px 16px;border-radius:6px;font:inherit;cursor:pointer}.photo-filters button[aria-pressed=true]{background:var(--cyan);color:#07151b;border-color:var(--cyan)}button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.photo-grid{padding-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:36px 28px}.job-photo{margin:0;min-width:0}.job-photo[hidden]{display:none}.photo-open{display:block;position:relative;border-radius:12px;background:#080c10;overflow:hidden}.job-photo img{display:block;width:100%;height:480px;object-fit:contain}.enlarge{position:absolute;right:12px;bottom:12px;background:#111d;color:#fff;border-radius:5px;padding:2px 11px;font-size:23px}.job-photo h2{font-size:22px;letter-spacing:-.5px;margin:18px 0 8px}.job-photo p{color:var(--muted);margin:0}.lightbox{width:min(1100px,96vw);max-height:94dvh;background:#11161b;border:1px solid #617582;border-radius:12px;color:#fff;padding:20px}.lightbox::backdrop{background:#000d}.lightbox>img{display:block;width:100%;height:65dvh;object-fit:contain}.lightbox-close{display:block;margin:0 0 12px auto}.lightbox-caption{margin:12px 0;color:#d7e0e6}.lightbox-nav{display:flex;justify-content:space-between;gap:20px}@media(max-width:850px){.project-tile>img{height:290px}.job-photo img{height:360px}.project-tile>div{padding:22px}}@media(max-width:650px){.project-grid,.photo-grid{grid-template-columns:1fr;gap:28px}.gallery-intro{padding-bottom:18px}.gallery-lead{font-size:17px}.project-grid{padding-top:15px}.project-tile>img{height:330px}.photo-grid{padding-top:5px}.job-photo img{height:auto;max-height:550px;min-height:230px}.photo-filters{gap:8px;padding-bottom:24px}.photo-filters button{font-size:13px;padding:10px 12px}.lightbox{padding:12px}.lightbox>img{height:57dvh}.contact .email{overflow-wrap:anywhere}.gallery-intro h1{letter-spacing:-1.5px}}

.project-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,6vw,90px);padding-top:25px;padding-bottom:38px}.project-story h2{font-size:clamp(28px,3vw,42px);line-height:1.15;margin:12px 0 22px}.project-story p{color:var(--muted);max-width:62ch}.project-details{border-left:2px solid var(--cyan);padding-left:28px}.project-details h3{font-size:19px;margin:0 0 10px}.project-details h3:not(:first-child){margin-top:28px}@media(max-width:650px){.project-story{grid-template-columns:1fr;gap:22px}.project-details{padding-left:18px}}
