
/* Tabs */
.gallery-section{padding:44px 0 90px;background:var(--paper)}
.gallery-container{max-width:1320px;margin:0 auto;padding:0 40px}
.sector-tabs{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:24px;background:#fff;padding:8px;border-radius:60px;border:1px solid var(--border);max-width:1120px;margin-left:auto;margin-right:auto;box-shadow:0 6px 24px rgba(35,54,109,.06)}
.sector-tab{background:transparent;border:none;color:var(--muted);font-family:inherit;font-size:13.5px;font-weight:600;padding:11px 20px;border-radius:50px;cursor:pointer;transition:all .25s;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.sector-tab:hover{color:var(--navy);background:var(--teal-light)}
.sector-tab.active{background:var(--navy);color:#fff;box-shadow:0 4px 14px rgba(35,54,109,.25)}
.sector-tab .st-count{font-size:11px;background:rgba(255,255,255,.15);padding:2px 8px;border-radius:50px;font-weight:700}
.sector-tab:not(.active) .st-count{background:var(--teal-light);color:var(--teal)}

.demo-strip{max-width:1120px;margin:0 auto 36px;text-align:center;padding:12px 18px;background:rgba(242,103,36,.08);border:1px dashed rgba(242,103,36,.35);border-radius:10px;font-size:12.5px;color:var(--gold-dark);line-height:1.5}
.demo-strip strong{color:var(--gold-dark);font-weight:700}

/* No-card grid — just 3D stages */
#galleryGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:36px 28px}

.viewer-item{display:flex;flex-direction:column}
.vi-stage{position:relative;aspect-ratio:4/3;width:100%;border-radius:14px;overflow:hidden;background:linear-gradient(155deg,#f4f6fc 0%,#e8ecf7 50%,#d5dcec 100%);transition:transform .35s}
.viewer-item:hover .vi-stage{transform:translateY(-4px)}
.vi-stage::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.55) 0%,transparent 55%);pointer-events:none;z-index:0}
.vi-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;z-index:2}

/* Custom poster (before user clicks "Launch 3D") */
.vi-poster{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:transparent;border:0;cursor:pointer;color:var(--navy);font-family:inherit;z-index:3;transition:background .25s}
.vi-poster:hover{background:rgba(255,255,255,.25)}
.vi-poster svg{width:44px;height:44px;stroke:var(--navy);stroke-width:1.5;fill:none;filter:drop-shadow(0 4px 10px rgba(35,54,109,.18));transition:transform .3s}
.vi-poster:hover svg{transform:scale(1.1)}
.vi-poster .pl-label{font-size:11.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy);opacity:.75}
.vi-poster .pl-sub{font-size:10.5px;color:var(--muted);letter-spacing:.5px}
.vi-stage .vi-cat{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;background:rgba(35,54,109,.85);backdrop-filter:blur(6px);color:#fff;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:5px 11px;border-radius:50px;z-index:4}
.vi-stage .vi-cat::before{content:'';width:5px;height:5px;background:var(--gold);border-radius:50%}

/* Name + spec underneath (no card box) */
.vi-info{padding:14px 4px 0}
.vi-name{font-size:16px;font-weight:700;color:var(--navy);letter-spacing:-.3px;line-height:1.3}
.vi-spec{display:inline-flex;align-items:center;gap:6px;margin-top:5px;font-size:11px;color:var(--teal);font-weight:600;text-transform:uppercase;letter-spacing:.6px}
.vi-spec::before{content:'';width:5px;height:5px;background:var(--gold);border-radius:50%;flex-shrink:0}
.vi-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}
.vi-meta .vi-cert{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.vi-meta a{color:var(--gold);font-weight:700;font-size:11.5px;letter-spacing:.3px;transition:transform .2s;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.vi-meta a:hover{transform:translateX(3px);color:var(--gold-dark)}

.gallery-help{text-align:center;margin-top:60px;padding:24px;background:#fff;border-radius:16px;border:1px solid var(--border);max-width:780px;margin-left:auto;margin-right:auto}
.gallery-help h4{font-size:14px;color:var(--navy);font-weight:700;margin-bottom:8px;letter-spacing:-.2px}
.gallery-help p{font-size:13px;color:var(--muted);line-height:1.6}
.gallery-help kbd{background:var(--teal-light);color:var(--teal);padding:2px 8px;border-radius:5px;font-size:11px;font-weight:700;font-family:inherit;border-bottom:2px solid #c5cde0}

@media(max-width:760px){
  #galleryGrid{grid-template-columns:1fr;gap:28px}
  .gallery-hero{padding:60px 0 32px}
  .gallery-meta{gap:24px}
  .sector-tabs{padding:6px}
  .sector-tab{padding:9px 14px;font-size:12.5px}
}