/* Simple Team Grid */
.stg-grid{display:grid;grid-template-columns:repeat(var(--stg-cols,3),minmax(0,1fr));gap:var(--stg-gap,30px);width:100%;max-width:100%;margin:0 0 30px;box-sizing:border-box;clear:both}
.stg-grid *,.stg-grid *::before,.stg-grid *::after{box-sizing:border-box}
.stg-cols-1{--stg-cols:1}.stg-cols-2{--stg-cols:2}.stg-cols-3{--stg-cols:3}
.stg-cols-4{--stg-cols:4}.stg-cols-5{--stg-cols:5}.stg-cols-6{--stg-cols:6}
@media (max-width:1024px){.stg-grid.stg-cols-4,.stg-grid.stg-cols-5,.stg-grid.stg-cols-6{--stg-cols:3}}
@media (max-width:767px){.stg-grid.stg-grid{--stg-cols:2;gap:16px}}
@media (max-width:480px){.stg-grid.stg-grid{--stg-cols:1;gap:20px}}

/* Kachel: Bild im Fluss (Höhe steht sofort fest), Infos als Overlay */
.stg-item{position:relative;display:block;min-width:0;overflow:hidden;cursor:pointer;background:#ddd;outline:none;margin:0}
.stg-item .stg-img{display:block;width:100%!important;height:auto!important;max-width:100%!important;aspect-ratio:1/1;object-fit:cover;object-position:center top;margin:0!important;transition:transform .4s ease}
.stg-item .stg-noimg{display:block;width:100%;aspect-ratio:1/1;background:#ccc}
.stg-item:hover .stg-img,.stg-item:focus-visible .stg-img{transform:scale(1.04)}
.stg-item:focus-visible{box-shadow:0 0 0 3px #e8590c}
.stg-info{position:absolute;left:0;right:0;bottom:0;padding:12px 10px 14px;background:rgba(80,80,80,.75);color:#fff;text-align:center;line-height:1.35}
.stg-name{font-size:1.45em;font-weight:300;margin:0 0 4px;color:#fff;line-height:1.2}
.stg-contact{font-size:.85em;font-weight:300;color:#fff;overflow-wrap:anywhere}
.stg-contact a{color:inherit;text-decoration:none}
.stg-contact a:hover{text-decoration:underline}
@media (max-width:767px){.stg-grid:not(.stg-cols-1) .stg-name{font-size:1.15em}.stg-grid:not(.stg-cols-1) .stg-contact{font-size:.75em}}
@media (max-width:480px){.stg-grid .stg-name{font-size:1.3em}.stg-grid .stg-contact{font-size:.8em}}

/* Popup */
html.stg-lock,html.stg-lock body{overflow:hidden}
.stg-overlay{position:fixed;inset:0;z-index:999999;background:rgba(40,40,40,.8);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s ease;-webkit-overflow-scrolling:touch}
.stg-overlay.is-open{opacity:1}
.stg-modal{position:relative;width:100%;max-width:500px;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;background:#fff;color:#333;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.stg-close{position:sticky;top:0;float:right;z-index:3;width:40px;height:40px;margin:8px 8px -48px 0;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:26px;line-height:40px;text-align:center;cursor:pointer;transition:background .2s}
.stg-close:hover,.stg-close:focus-visible{background:#e8590c;outline:none}
.stg-pop-head{position:relative;background:#555;clear:both}
.stg-pop-head img{display:block;width:100%;height:auto;aspect-ratio:1/0.8;object-fit:cover;object-position:center top;margin:0}
.stg-pop-info{position:absolute;left:0;right:0;bottom:0;padding:40px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff}
.stg-pop-head.no-img .stg-pop-info{position:static;background:none;padding-top:56px}
.stg-pop-info .stg-name{font-size:1.6em}
.stg-pop-body{padding:22px 20px}
.stg-pop-body>*+*{margin-top:12px}
.stg-tasks{color:#666}
.stg-text p,.stg-exp p{margin:0 0 .6em}
.stg-text a,.stg-exp a{color:inherit}
@media (max-width:480px){
	.stg-overlay{padding:10px}
	.stg-modal{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px)}
	.stg-pop-info{padding:30px 14px 12px}
	.stg-pop-info .stg-name{font-size:1.3em}
	.stg-pop-body{padding:16px 14px}
}
