.project-gallery{background:#f4f1e8;color:#10291b;overflow:hidden}
.gallery-heading,.video-heading{max-width:790px;margin:0 auto 48px}
.gallery-heading>p:last-child,.video-heading>p:last-child{max-width:650px;margin:20px auto 0;color:#58655d}
.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:14px}
.project-tile{appearance:none;position:relative;border:0;padding:0;min-height:230px;border-radius:20px;overflow:hidden;background:#183624;cursor:pointer;text-align:left;box-shadow:0 10px 35px rgba(16,41,27,.11);isolation:isolate}
.project-tile.project-featured{grid-column:span 2;grid-row:span 2;min-height:474px}
.project-tile:nth-child(6n+3),.project-tile:nth-child(7n+5){grid-column:span 2}
.project-tile img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.project-tile:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(8,30,18,.74));transition:opacity .3s ease}
.project-tile>span{position:absolute;z-index:2;left:16px;right:16px;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.project-tile>span b{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:rgba(166,216,75,.94);color:#10291b;font-size:.72rem}
.project-tile:hover img,.project-tile:focus-visible img{transform:scale(1.045);filter:saturate(1.07)}
.project-tile.media-missing{min-height:180px}
.project-tile.media-missing img{display:none}
.project-tile.media-missing:before{content:"Project image unavailable";position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:#dce7df;font-size:.8rem;text-align:center}

.project-lightbox[hidden]{display:none!important}
.project-lightbox{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:28px}
.lightbox-backdrop{position:absolute;inset:0;background:rgba(4,14,9,.92);backdrop-filter:blur(8px)}
.lightbox-panel{position:relative;z-index:1;width:min(1100px,94vw);max-height:92vh;display:grid;grid-template-columns:56px minmax(0,1fr) 56px;grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:10px;padding:18px;border-radius:24px;background:#0c2015;border:1px solid rgba(255,255,255,.14);box-shadow:0 35px 100px rgba(0,0,0,.5)}
.lightbox-panel img{grid-column:2;grid-row:1;display:block;width:100%;height:min(76vh,760px);object-fit:contain;border-radius:15px;background:#06120c}
.lightbox-panel p{grid-column:2;grid-row:2;margin:0;color:#dbe8df;text-align:center;font-size:.82rem}
.lightbox-close,.lightbox-prev,.lightbox-next{appearance:none;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.1);border-radius:999px;display:grid;place-items:center}
.lightbox-close{position:absolute;right:16px;top:16px;width:42px;height:42px;font-size:28px;z-index:3}
.lightbox-prev,.lightbox-next{width:48px;height:48px;font-size:34px}
.lightbox-prev{grid-column:1;grid-row:1}.lightbox-next{grid-column:3;grid-row:1}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover,.lightbox-close:focus-visible,.lightbox-prev:focus-visible,.lightbox-next:focus-visible{background:#a6d84b;color:#10291b}
html.lightbox-open{overflow:hidden}

.project-videos{background:#e7eadc}
.project-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.project-video-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 45px rgba(16,41,27,.08)}
.project-video-card video{display:block;width:100%;aspect-ratio:16/9;background:#081b11;object-fit:cover}
.project-video-card>div{padding:22px 24px 25px}
.project-video-card small{display:block;color:var(--leaf);font-size:9px;font-weight:800;letter-spacing:.15em;margin-bottom:8px}
.project-video-card h3{font:700 20px/1.2 Manrope,sans-serif;letter-spacing:-.025em;margin:0 0 9px}
.project-video-card p{color:#69776e;font-size:13px;margin:0}
.project-video-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);align-items:stretch}
.project-video-feature video{height:100%;aspect-ratio:auto;min-height:360px}
.project-video-feature>div{display:flex;flex-direction:column;justify-content:center;padding:38px}
.project-video-feature h3{font-size:28px}

@media(max-width:980px){
  .project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .project-tile.project-featured{grid-column:span 2}
  .project-tile:nth-child(6n+3),.project-tile:nth-child(7n+5){grid-column:span 1}
}
@media(max-width:760px){
  .project-video-grid{grid-template-columns:1fr}
  .project-video-feature{grid-column:auto;display:block}
  .project-video-feature video{height:auto;min-height:0;aspect-ratio:16/9}
  .project-video-feature>div{padding:22px 24px 25px}
  .project-video-feature h3{font-size:20px}
}
@media(max-width:700px){
  .gallery-heading,.video-heading{margin-bottom:32px}
  .gallery-heading>p:last-child,.video-heading>p:last-child{margin-left:0}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .project-tile,.project-tile.project-featured{min-height:180px;grid-column:span 1;grid-row:span 1;border-radius:14px}
  .project-tile.project-featured{grid-column:span 2;min-height:310px}
  .project-tile>span{left:11px;right:11px;bottom:10px;font-size:.67rem}
  .project-tile>span b{padding:5px 7px;font-size:.62rem}
  .project-lightbox{padding:10px}
  .lightbox-panel{width:96vw;padding:10px;grid-template-columns:42px minmax(0,1fr) 42px}
  .lightbox-panel img{height:72vh}
  .lightbox-prev,.lightbox-next{width:38px;height:38px;font-size:28px}
  .lightbox-close{right:10px;top:10px;width:38px;height:38px}
}
@media(max-width:520px){
  .project-video-card{border-radius:18px}
  .project-video-card>div{padding:18px 18px 21px}
}
@media(max-width:430px){
  .project-tile{min-height:150px}
  .project-tile.project-featured{min-height:260px}
}
