/* Nexa Smart: visual disciplines. Local preview only. */
.services-heading.services-visual-heading {
  align-items:flex-end;
  margin-top:64px;
  scroll-margin-top:130px;
}
.services-visual-heading h3 { font-size:clamp(1.5rem,2.25vw,2rem); }
.services-visual-heading p { font-size:1rem; line-height:1.6; max-width:400px; }
.service-grid.service-grid-visual {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  border:0;
}
.service-grid.service-grid-visual article {
  min-width:0;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(200,178,139,.23);
  background:linear-gradient(150deg,#172128 0%,#0e161c 100%);
}
.service-grid-visual .service-card-visual {
  position:relative;
  aspect-ratio:9 / 4;
  margin:0;
  overflow:hidden;
  border-bottom:1px solid rgba(200,178,139,.24);
  background:#172128;
}
/* One shared image; CSS framing shows the six individual concept scenes. */
.service-grid-visual .service-card-visual img {
  position:absolute;
  width:214%;
  height:321%;
  max-width:none;
  left:var(--scene-x);
  top:var(--scene-y);
  display:block;
  object-fit:fill;
}
.service-grid-visual .service-card-copy { padding:24px 25px 29px; }
.service-grid-visual .service-card-number {
  display:inline-block;
  font-size:.8125rem;
  color:var(--gold,#d8b888);
  letter-spacing:.15em;
}
.service-grid.service-grid-visual h4 {
  margin:12px 0 10px;
  color:#f6f4ef;
  font-size:clamp(1.125rem,1.35vw,1.375rem);
  line-height:1.35;
  letter-spacing:-.025em;
  font-weight:550;
  overflow-wrap:break-word;
}
.service-grid.service-grid-visual p {
  margin:0;
  color:#b6c1c9;
  font-size:1rem;
  line-height:1.7;
}
.technical-note.disciplines-technical-note {
  max-width:1100px;
  margin-top:25px;
  font-size:.875rem;
  line-height:1.8;
  color:#98aab6;
}
.disciplines-technical-note .concept-label {
  display:block;
  margin-bottom:8px;
  font-size:.75rem;
  line-height:1.7;
  letter-spacing:.09em;
  color:#c4b69c;
}
@media(max-width:1000px) {
  .service-grid.service-grid-visual { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .services-heading.services-visual-heading { align-items:flex-start; }
  .services-visual-heading p { max-width:330px; }
}
@media(max-width:600px) {
  .service-grid.service-grid-visual { grid-template-columns:minmax(0,1fr); gap:18px; }
  .services-heading.services-visual-heading { display:block; margin-top:42px; scroll-margin-top:110px; }
  .services-visual-heading p { max-width:none; margin-top:12px; }
  .service-grid-visual .service-card-copy { padding:21px 22px 25px; }
}
