/* =========================================================
   SERVICES — 6 SECTIONS
   ========================================================= */
.services{ background: var(--c-bg-alt); }

.services-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.service-card{
  position: relative;
  background: var(--c-surface-solid);
  border: 1px solid var(--c-border-soft);
  border-radius: var(--radius-lg);
  padding: 32px 28px 30px;
  overflow: hidden;
  transition: transform .45s var(--ease-out), border-color .4s ease, box-shadow .45s var(--ease-out);
}
.service-card::before{
  content: "";
  position: absolute; inset: -1px;
  padding: 1px;
  border-radius: inherit;
  background: var(--grad-signal);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}
.service-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 24px 48px -20px rgba(255,122,41,.35);
}
.service-card:hover::before{ opacity: 1; }

.service-index{
  font-family: var(--font-mono);
  font-size: .78rem;
  color: var(--c-text-mute);
  letter-spacing: .08em;
}

.service-icon{
  width: 52px; height: 52px;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  margin: 16px 0 22px;
  background: var(--grad-signal-soft);
  border: 1px solid var(--c-border-soft);
  transition: transform .5s var(--ease-out), background .4s ease;
}
.service-card:hover .service-icon{ transform: rotate(-6deg) scale(1.06); background: var(--grad-signal); }
.service-icon svg{ width: 26px; height: 26px; stroke: var(--c-cyan); transition: stroke .4s ease; }
.service-card:hover .service-icon svg{ stroke: #1B0E26; }

.service-card h3{ margin-bottom: 10px; font-size: 1.22rem; }
.service-card p{ font-size: .95rem; margin-bottom: 18px; }

.service-link{
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .85rem; font-weight: 600; color: var(--c-cyan);
}
.service-link svg{ width: 14px; height: 14px; transition: transform .3s var(--ease-out); }
.service-card:hover .service-link svg{ transform: translateX(4px); }

@media (max-width: 980px){
  .services-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .services-grid{ grid-template-columns: 1fr; }
}

/* =========================================================
   ABOUT US — IMAGE GALLERY
   ========================================================= */
.about-gallery-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.about-gallery-item{
  margin: 0;
  background: var(--c-surface-solid);
  border: 1px solid var(--c-border-soft);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform .45s var(--ease-out), border-color .4s ease, box-shadow .45s var(--ease-out);
}
.about-gallery-item:hover{
  transform: translateY(-6px);
  box-shadow: 0 24px 48px -20px rgba(255,122,41,.35);
  border-color: var(--c-border);
}
.about-gallery-item img{
  width: 100%;
  aspect-ratio: 640 / 420;
  object-fit: cover;
  display: block;
}
.about-gallery-item figcaption{ padding: 22px 24px 26px; }
.about-gallery-item h3{ margin-bottom: 8px; font-size: 1.1rem; }
.about-gallery-item p{ font-size: .92rem; margin-bottom: 0; }

@media (max-width: 980px){
  .about-gallery-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .about-gallery-grid{ grid-template-columns: 1fr; }
}

/* =========================================================
   HOME — ROBOTICS SHOWCASE (Autonomous / Humanoid / Arm)
   ========================================================= */
.robot-showcase{ background: var(--c-bg); }

.robot-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.robot-card{
  position: relative;
  text-align: center;
  background: var(--c-surface-solid);
  border: 1px solid var(--c-border-soft);
  border-radius: var(--radius-lg);
  padding: 40px 30px 34px;
  overflow: hidden;
  transition: transform .45s var(--ease-out), border-color .4s ease, box-shadow .45s var(--ease-out);
}
.robot-card::before{
  content: "";
  position: absolute; inset: -1px;
  padding: 1px;
  border-radius: inherit;
  background: var(--grad-signal);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}
.robot-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 28px 56px -22px rgba(168,85,247,.4);
}
.robot-card:hover::before{ opacity: 1; }

.robot-card-icon{
  width: 76px; height: 76px;
  margin: 0 auto 22px;
  border-radius: 20px;
  display: flex; align-items: center; justify-content: center;
  background: var(--grad-signal-soft);
  border: 1px solid var(--c-border-soft);
  transition: transform .5s var(--ease-out), background .4s ease;
}
.robot-card:hover .robot-card-icon{ transform: rotate(-6deg) scale(1.08); background: var(--grad-signal); }
.robot-card-icon svg{ width: 36px; height: 36px; stroke: var(--c-cyan); transition: stroke .4s ease; }
.robot-card:hover .robot-card-icon svg{ stroke: #1B0E26; }

.robot-card h3{ margin-bottom: 12px; }
.robot-card p{ font-size: .96rem; margin-bottom: 20px; }

.robot-tag{
  display: inline-block;
  font-family: var(--font-mono);
  font-size: .74rem;
  letter-spacing: .06em;
  color: var(--c-cyan);
  background: rgba(255,62,165,.1);
  border: 1px solid var(--c-border-soft);
  border-radius: 999px;
  padding: 6px 14px;
}

@media (max-width: 980px){
  .robot-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .robot-grid{ grid-template-columns: 1fr; }
}
