
.projects-intro{padding:clamp(4rem,9vw,8rem) 0 3rem;background:#101617;color:#f4f5ed}.projects-intro .kicker{color:#d6f36b;font-size:.72rem;letter-spacing:.18em;font-weight:900}.projects-intro h1{font-size:clamp(3rem,8vw,7rem);line-height:.92;letter-spacing:-.075em;margin:1rem 0 1.5rem}.projects-intro h1 span{color:#d6f36b}.projects-intro>div>p:last-child{max-width:680px;color:#c2cbc2;font-size:1.08rem;line-height:1.7}.project-list{padding:3rem 0 6rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.project-link{min-height:230px;padding:clamp(1.5rem,4vw,3rem);background:#192222;color:#f5f6ee;border:1px solid #394542;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;transition:background .2s,border-color .2s}.project-link:hover,.project-link:focus-visible{background:#26342c;border-color:#d6f36b}.project-link .project-no{color:#d6f36b;font-size:.74rem;font-weight:900;letter-spacing:.15em}.project-link h2{font-size:clamp(1.7rem,3.5vw,3rem);letter-spacing:-.05em;line-height:1.04;margin:2rem 0 1rem}.project-link p{color:#c2cbc2;max-width:440px;line-height:1.6;margin:0}.project-link b{align-self:flex-end;color:#d6f36b;font-size:1.5rem}.project-detail{background:#101617;color:#f4f5ed;min-height:60vh}.project-detail-intro{padding:clamp(4rem,8vw,7rem) 0 2rem}.project-detail-intro .kicker{color:#d6f36b;font-size:.72rem;letter-spacing:.18em;font-weight:900}.project-detail-intro h1{font-size:clamp(2.8rem,7vw,6.2rem);line-height:.95;letter-spacing:-.07em;max-width:1000px;margin:1rem 0}.project-detail-intro p{color:#c2cbc2;line-height:1.7;max-width:720px}.project-gallery{padding:1rem 0 6rem}.gallery-note{border-top:1px solid #394542;border-bottom:1px solid #394542;padding:1.4rem 0;color:#c2cbc2;display:flex;justify-content:space-between;gap:1rem;align-items:center}.gallery-note span{color:#d6f36b;font-size:1.4rem}.project-back{display:inline-block;margin-top:2rem;color:#d6f36b;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.project-footer{margin-top:0}
@media(max-width:650px){.project-list{grid-template-columns:1fr}.project-link{min-height:195px}.gallery-note{align-items:flex-start}}

.project-media-row{display:flex;align-items:flex-start;gap:1rem;overflow-x:auto;padding:.5rem 0 1.5rem;scroll-snap-type:x mandatory}.project-media-card{margin:0;flex:0 0 min(360px,80vw);scroll-snap-align:start;background:#192222;border:1px solid #394542}.project-media-card video{display:block;width:100%;max-height:640px;aspect-ratio:9/16;object-fit:cover;background:#080d0d}.project-media-card figcaption{padding:.9rem 1rem;color:#d4dbd2;font-size:.88rem;line-height:1.5}.gallery-coming{align-self:center;color:#aeb8ad;font-size:.85rem;line-height:1.5;padding:1rem;max-width:180px}@media(max-width:650px){.project-media-card{flex-basis:min(300px,82vw)}.project-media-card video{max-height:68vh}}

.project-media-card>a{display:block;overflow:hidden}.project-media-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s}.project-media-card>a:hover img{transform:scale(1.03)}

.gallery-image-button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}.gallery-image-button:focus-visible{outline:3px solid #d6f36b;outline-offset:3px}.gallery-image-button img{transition:transform .25s}.gallery-image-button:hover img{transform:scale(1.03)}.image-lightbox{position:fixed;inset:0;margin:auto;padding:3rem 1rem 1rem;width:min(96vw,1200px);max-width:96vw;max-height:96dvh;border:1px solid #394542;background:#101617;color:#f4f5ed;overflow:visible}.image-lightbox::backdrop{background:rgba(0,0,0,.88)}.image-lightbox img{display:block;max-width:100%;max-height:calc(96dvh - 7rem);width:auto;height:auto;margin:0 auto;object-fit:contain}.image-lightbox figcaption{margin-top:.75rem;color:#d4dbd2;text-align:center;font-size:.95rem;line-height:1.4}.lightbox-close{position:absolute;top:.4rem;right:.5rem;width:2.5rem;height:2.5rem;border:1px solid #63706a;background:#192222;color:#f4f5ed;font-size:1.7rem;line-height:1;border-radius:50%;cursor:pointer}.lightbox-close:focus-visible{outline:3px solid #d6f36b;outline-offset:2px}@media(max-width:650px){.image-lightbox{padding:3rem .5rem .75rem}.image-lightbox img{max-height:calc(96dvh - 6rem)}}
