/* Team gallery page */
.tg-hero{position:relative;overflow:hidden;isolation:isolate;display:grid;place-items:center;min-height:min(var(--tg-h,75svh),900px);height:var(--tg-h,75svh);max-height:900px;background:var(--tg-bg,#0f1f0d);color:var(--tg-fg,#fff)}
@supports not (height:1svh){.tg-hero{height:75vh}}
.tg-sky{position:absolute;inset:0;z-index:0;overflow:hidden;perspective:1100px;perspective-origin:50% 50%}
.tg-card{cursor:zoom-in;position:absolute;left:0;top:0;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.06);box-shadow:0 18px 40px -14px rgba(0,0,0,.55);will-change:transform,opacity;backface-visibility:visible;transform-style:preserve-3d}
.tg-card img,.tg-card video{display:block;width:100%;height:auto;object-fit:cover;pointer-events:none;user-select:none}
.tg-veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 62% 56% at 50% 50%,rgba(var(--tg-bg-rgb,15,31,13),.82) 0%,rgba(var(--tg-bg-rgb,15,31,13),.5) 55%,rgba(var(--tg-bg-rgb,15,31,13),.05) 100%),linear-gradient(180deg,rgba(var(--tg-bg-rgb,15,31,13),.35),transparent 30%,transparent 70%,rgba(var(--tg-bg-rgb,15,31,13),.55))}
.tg-hero-in{position:relative;z-index:2;max-width:46rem;padding:3rem 1.25rem;text-align:center;pointer-events:none}.tg-hero-in a{pointer-events:auto}
.tg-title{margin:0;font-family:Fraunces,Georgia,serif;font-weight:700;font-size:clamp(2.2rem,6vw,4.2rem);line-height:1.05;letter-spacing:-.01em;color:var(--tg-fg,#fff);text-shadow:0 4px 30px rgba(0,0,0,.35)}
.tg-sub{margin:1rem auto 0;max-width:34rem;font-size:clamp(1rem,2.2vw,1.25rem);line-height:1.6;color:var(--tg-fg,#fff);opacity:.9;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.tg-cue{display:inline-grid;place-items:center;margin-top:1.8rem;width:3rem;height:3rem;border-radius:999px;border:1.5px solid currentColor;color:var(--tg-fg,#fff);opacity:.85;animation:tg-bob 1.8s ease-in-out infinite}.tg-cue:hover{opacity:1}
@keyframes tg-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

.tg-wrap{max-width:80rem;margin:0 auto;padding:2.5rem 1rem 1rem}@media(min-width:640px){.tg-wrap{padding:3.5rem 1.5rem 1.5rem}}
.tg-sec{scroll-margin-top:5rem;margin-bottom:3.2rem}
.tg-sec-head{margin-bottom:1.2rem;text-align:left}
.tg-h2{margin:0;font-family:Fraunces,Georgia,serif;font-weight:700;font-size:clamp(1.5rem,3.4vw,2.2rem);line-height:1.15}
.tg-h2-sub{margin:.45rem 0 0;max-width:40rem;font-size:1rem;line-height:1.6;opacity:.72}
/* bento grid: tiles of different sizes that interlock */
.tg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(8.5rem,15vw,13rem);grid-auto-flow:dense;gap:.8rem}
.tg-item{position:relative;margin:0;border-radius:1.2rem;overflow:hidden;background:#e5e7eb;box-shadow:0 10px 26px -16px rgba(15,31,13,.55)}
.tg-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
.tg-item:nth-child(7n+3){grid-row:span 2}
.tg-item:nth-child(7n+5){grid-column:span 2}
@media(max-width:1000px){
  .tg-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(8rem,22vw,12rem);gap:.7rem}
  .tg-item:nth-child(n){grid-column:auto;grid-row:auto}
  .tg-item:nth-child(6n+1){grid-column:span 2;grid-row:span 2}
}
@media(max-width:560px){
  .tg-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(7.5rem,38vw,11rem);gap:.55rem}
  .tg-item:nth-child(n){grid-column:auto;grid-row:auto}
  .tg-item:nth-child(6n+1){grid-column:span 2;grid-row:auto}
  .tg-item:nth-child(6n+4){grid-row:span 2}
  .tg-item{border-radius:1rem}
}
.tg-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.tg-open:focus-visible,.tg-dl:focus-visible{outline:3px solid #f26a1b;outline-offset:-3px}
.tg-open img,.tg-open video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.tg-item:hover .tg-open img,.tg-item:hover .tg-open video{transform:scale(1.06)}
.tg-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;transform:translate(-50%,-50%);pointer-events:none;padding-left:.15rem}
.tg-dl{position:absolute;right:.55rem;bottom:.55rem;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;text-decoration:none;opacity:1;transition:opacity .2s,background .2s,transform .2s}.tg-dl:hover{background:#f26a1b;transform:scale(1.08)}
@media(hover:hover){.tg-dl{opacity:0}.tg-item:hover .tg-dl,.tg-dl:focus-visible{opacity:1}}
.tg-empty{padding:3rem 1rem;text-align:center;opacity:.7}

/* hovered floating piece: sharp, bright, on top */
.tg-card:hover{opacity:1!important;filter:none!important;z-index:30!important;box-shadow:0 26px 60px -14px rgba(0,0,0,.7),0 0 0 2px rgba(255,255,255,.55)}

/* lightbox: the photo always fits the screen; zoom with wheel / pinch / buttons, drag to move */
.tg-lb{position:fixed;inset:0;z-index:3000;display:flex;flex-direction:column;background:rgba(8,14,8,.96);color:#fff;animation:tg-fade .2s ease both}.tg-lb[hidden]{display:none}
@keyframes tg-fade{from{opacity:0}to{opacity:1}}
.tg-lb-bar{flex:none;display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;padding-top:max(.6rem,env(safe-area-inset-top))}.tg-lb-count{margin-right:auto;font-size:.85rem;opacity:.75}
.tg-lb-zoom{display:inline-flex;gap:.3rem}
.tg-lb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:2.5rem;height:2.5rem;padding:0 .7rem;border-radius:999px;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;text-decoration:none;font:600 .8rem/1 inherit}.tg-lb-btn:hover{background:rgba(255,255,255,.26)}.tg-lb-pct{min-width:3.4rem}
.tg-lb-stage{position:relative;flex:1 1 0;min-height:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.tg-lb-pane{position:absolute;inset:2.5rem 5rem;perspective:1400px}
.tg-lb-media{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:50% 50%;will-change:transform;-webkit-user-drag:none;background:transparent}
video.tg-lb-media{background:#000;cursor:auto}
.tg-lb-nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:3rem;height:3rem;border-radius:999px;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer}.tg-lb-nav:hover{background:rgba(255,255,255,.28)}.tg-lb-prev{left:.6rem}.tg-lb-next{right:.6rem}
@media(max-width:640px){.tg-lb-pane{inset:1.2rem .9rem 4.2rem}.tg-lb-dltxt{display:none}.tg-lb-nav{width:2.5rem;height:2.5rem;top:auto;bottom:.8rem;transform:none}.tg-lb-bar{gap:.35rem;padding:.5rem}.tg-lb-btn{min-width:2.3rem;height:2.3rem;padding:0 .55rem}}
@media(prefers-reduced-motion:reduce){.tg-cue{animation:none}.tg-open img,.tg-open video{transition:none}.tg-lb{animation:none}}