/* ---------- SERVICES ---------- */
.service-grid{
  display:grid; gap:28px;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  margin-top:12px;
}
.service-card{
  background:var(--navy-panel);
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.service-card:hover{
  border-color:var(--amber);
  box-shadow:0 12px 28px rgba(0,0,0,.2);
  transform:translateY(-6px);
}
.service-card .media{position:relative; line-height:0;}
.service-card .media img{width:100%; height:190px; object-fit:cover; display:block; filter:saturate(1.02);}
.service-card .media.duo{display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line);}
.service-card .media.duo img{height:190px;}
.service-card .media .badge{
  position:absolute; top:14px; left:14px; z-index:2;
  font-family:var(--mono); font-size:12px; font-weight:600; letter-spacing:.05em;
  background:var(--amber); color:var(--navy-deep);
  padding:5px 11px;
}
.service-card .media::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(7,27,62,0) 60%, rgba(7,27,62,.55) 100%);
}
.service-card .body{
  padding:22px 24px 26px;
  border-top:3px solid var(--copper);
  flex:1;
}
.service-card h3{font-size:19px; margin-bottom:9px;}
.service-card p{font-size:14.5px; max-width:none;}

/* ---------- "Click to view more" trigger ---------- */
.view-more{
  display:inline-flex; align-items:center; gap:7px;
  margin-top:14px;
  background:none; border:none; padding:0; cursor:pointer;
  font-family:var(--mono); font-size:12.5px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--amber);
}
.view-more .arrow{transition:transform .2s ease;}
.view-more:hover .arrow{transform:translateX(4px);}
.view-more .count{
  color:var(--muted-2); text-transform:none; letter-spacing:0; font-size:12px;
}

/* ---------- Lightbox gallery ---------- */
.lightbox{
  position:fixed; inset:0; z-index:1000;
  display:none;
  align-items:center; justify-content:center;
  padding:24px;
  background:rgba(5,14,30,.92);
  backdrop-filter:blur(3px);
}
.lightbox.open{display:flex;}
.lightbox-box{
  position:relative;
  width:100%; max-width:920px;
  background:var(--navy-panel);
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  animation:lbIn .25s ease;
}
@keyframes lbIn{from{opacity:0; transform:scale(.97) translateY(8px);} to{opacity:1; transform:scale(1) translateY(0);}}

.lightbox-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 20px;
  border-bottom:1px solid var(--line);
}
.lightbox-head h4{
  font-family:var(--display); font-size:18px; color:var(--text); font-weight:700;
}
.lightbox-close{
  background:none; border:1px solid var(--line); color:var(--muted);
  width:34px; height:34px; border-radius:8px; cursor:pointer;
  font-size:16px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  transition:.2s ease;
}
.lightbox-close:hover{border-color:var(--copper); color:var(--copper);}

.lightbox-stage{
  position:relative;
  background:#000;
  aspect-ratio:16/10;
  display:flex; align-items:center; justify-content:center;
}
.lightbox-stage img, .lightbox-stage video{
  width:100%; height:100%; object-fit:contain; display:block; background:#000;
}
#lightboxStage{width:100%; height:100%; display:flex; align-items:center; justify-content:center;}
.lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:42px; height:42px; border-radius:50%;
  background:rgba(7,27,62,.72); border:1px solid var(--line); color:var(--text);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; font-size:18px; transition:.2s ease;
}
.lightbox-nav:hover{background:var(--amber); border-color:var(--amber); color:var(--navy-deep);}
.lightbox-nav.prev{left:14px;}
.lightbox-nav.next{right:14px;}

.lightbox-foot{
  padding:16px 20px 20px;
  border-top:3px solid var(--copper);
}
.lightbox-caption{color:var(--text); font-size:14.5px; line-height:1.55; margin-bottom:8px;}
.lightbox-counter{
  font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted-2);
}

@media(max-width:640px){
  .lightbox{padding:0;}
  .lightbox-box{max-width:none; height:100%; border-radius:0; display:flex; flex-direction:column;}
  .lightbox-stage{aspect-ratio:auto; flex:1;}
}
