/* Projects Gallery slideshow — liquid-glass frame matching the site. */
.project-slideshow{max-width:min(1370px,100%);width:100%;margin:0 auto clamp(40px,6vw,80px);min-width:0;box-sizing:border-box;overflow-x:clip}
.project-slideshow *,.project-slideshow *::before,.project-slideshow *::after{box-sizing:border-box;min-width:0;max-width:100%}
.project-slideshow[hidden]{display:none}
.project-slideshow__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 32px;align-items:end;margin-bottom:20px}
.project-slideshow__head h2{font-size:clamp(30px,3.6vw,56px);margin:6px 0 0;overflow-wrap:break-word}
.project-slideshow__head p{margin:0;max-width:62ch}
.project-slideshow__frame{position:relative;min-width:0;padding:clamp(10px,1.6vw,18px);border-radius:28px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(226,240,246,.34));-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 18px 48px rgba(28,52,66,.13)}
.project-slideshow__stage{position:relative;display:block;aspect-ratio:16/9;max-height:72vh;width:100%;overflow:hidden;border-radius:20px;background:radial-gradient(ellipse at center,#eef7fa,#cfdde3 80%);cursor:zoom-in;touch-action:pan-y}
.project-slideshow__img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;opacity:0;transform:scale(.985);transition:opacity .5s ease,transform .6s ease}
.project-slideshow__img.is-in{opacity:1;transform:none}
.project-slideshow__progress{height:3px;margin:12px 4px 0;border-radius:3px;background:rgba(40,70,86,.12);overflow:hidden}
.project-slideshow__progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#4f8aa3,#84b9a4);transition:width .4s ease}
.project-slideshow__meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:12px 4px 4px}
.project-slideshow__caption{display:grid;gap:4px;min-width:0;flex:1 1 280px}
.project-slideshow__group{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6c818b;font-variant-numeric:tabular-nums}
.project-slideshow__title{font-size:clamp(15px,1.5vw,19px);color:#22404d;overflow-wrap:break-word}
.project-slideshow__controls{flex:0 0 auto}
.project-slideshow__thumbs{display:flex;gap:8px;margin-top:12px;padding:4px 2px 8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin}
.project-slideshow__thumb{flex:0 0 96px;padding:3px;border:1px solid rgba(255,255,255,.8);border-radius:12px;background:rgba(255,255,255,.55);cursor:pointer;scroll-snap-align:center;opacity:.7;transition:opacity .2s,box-shadow .2s}
.project-slideshow__thumb img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:9px;background:#dfe8ec}
.project-slideshow__thumb:hover,.project-slideshow__thumb:focus-visible{opacity:1}
.project-slideshow__thumb.active{opacity:1;border-color:#4f8aa3;box-shadow:0 0 0 2px rgba(79,138,163,.35)}

/* Phones: the slideshow fits the screen width; thumbnails are replaced by the progress bar, swipe changes image. */
@media(max-width:760px){
  .project-slideshow__head{grid-template-columns:minmax(0,1fr)}
  .project-slideshow{max-width:100%;overflow:hidden}
  .project-slideshow__frame{width:100%;padding:10px;border-radius:20px;border-color:#d6e6e9;background:rgba(255,255,255,.88);box-shadow:0 12px 32px rgba(33,68,79,.08)}
  .project-slideshow__stage{aspect-ratio:4/3;max-height:52vh;border-radius:14px}
  .project-slideshow__img{inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}
  .project-slideshow__head h2{font-size:clamp(26px,8vw,36px)}
  .project-slideshow__title{font-size:15px}
  .project-slideshow__meta{flex-direction:column;align-items:stretch}
  .project-slideshow__caption{flex:0 1 auto}
  .project-slideshow__controls{align-self:center}
  .project-slideshow__thumbs{display:none}
}
@media(prefers-reduced-motion:reduce){.project-slideshow__img,.project-slideshow__progress span{transition:none}}
