.service-hero { background: linear-gradient(90deg, rgba(17,23,34,.92), rgba(17,23,34,.58)), var(--service-bg, url("assets/images/home-hero-poster.webp")) center / cover; }
.service-detail,
.service-highlight { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 72px; align-items: start; }
.service-copy { font-size: 1.08rem; }
.service-signature { padding: 0; background: var(--es-offwhite); }
.service-signature__grid { display: grid; grid-template-columns: minmax(0,.9fr) repeat(3, minmax(0,1fr)); border: 1px solid var(--es-steel); }
.service-signature__intro,
.service-signature article { padding: 30px; }
.service-signature__intro { padding-right: 38px; background: var(--es-graphite); color: #fff; }
.service-signature__intro .kicker { margin-bottom: 13px; }
.service-signature__intro h2 { margin: 0; color: #fff; font-size: clamp(1.4rem, 1.75vw, 1.72rem); }
.service-signature h2,
.service-signature p,
.service-signature strong {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.service-signature article { border-left: 1px solid var(--es-steel); background: #fff; }
.service-signature article strong { display: block; margin-bottom: 10px; color: var(--es-green); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.service-signature article p { margin: 0; font-size: .95rem; }
.service-deliverables { display: grid; gap: 12px; }
.service-deliverables article { padding: 22px 0; border-top: 1px solid var(--es-steel); }
.service-deliverables article:last-child { border-bottom: 1px solid var(--es-steel); }
.service-deliverables h3 { font-size: 1.05rem; }
.service-deliverables p { margin: 8px 0 0; }
.service-scope-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--es-steel); border: 1px solid var(--es-steel); }
.service-scope-grid article { min-height: 230px; padding: 28px; background: #fff; }
.service-scope-grid span { display: block; margin-bottom: 18px; color: var(--es-brass); font-size: .74rem; font-weight: 850; letter-spacing: .12em; }
.service-scope-grid p { margin-bottom: 0; }
.service-applications { display: grid; border-top: 1px solid var(--es-steel); }
.service-applications span { display: flex; justify-content: space-between; gap: 18px; padding: 17px 0; border-bottom: 1px solid var(--es-steel); color: var(--es-graphite); font-weight: 760; }
.service-applications span::after { content: ""; flex: 0 0 9px; width: 9px; height: 9px; margin-top: .55em; background: var(--es-green); }
.section--dark .service-applications { border-top-color: rgba(255,255,255,.18); }
.section--dark .service-applications span { color: #fff; border-bottom-color: rgba(255,255,255,.18); }
.service-gallery {
  padding: 72px 0;
  background: #fff;
  border-top: 1px solid var(--es-steel);
  border-bottom: 1px solid var(--es-steel);
}
.service-gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--es-steel);
  border: 1px solid var(--es-steel);
}
.service-gallery__item {
  position: relative;
  min-height: 310px;
  margin: 0;
  overflow: hidden;
  background: var(--es-offwhite);
}
.service-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.88) contrast(1.04);
  transition: transform .25s ease;
}
.service-gallery__item:hover img { transform: scale(1.025); }
.service-gallery__item figcaption {
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  padding: 16px 18px 42px;
  color: #fff;
  background: linear-gradient(180deg, rgba(17,23,34,.84), rgba(17,23,34,0));
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}
.service-highlight__copy { padding-top: 38px; border-top: 2px solid var(--es-green); }
.service-highlight__copy p { color: rgba(255,255,255,.72); font-size: 1.06rem; }
.service-highlight__copy .text-link[href="contatti.html"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 18px;
  padding: 0 20px;
  color: #fff;
  background: var(--es-green);
  border: 1px solid var(--es-green);
  border-radius: var(--button-radius);
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.service-highlight__copy .text-link[href="contatti.html"]:hover {
  color: var(--es-green);
  background: #fff;
  border-color: var(--es-green);
}
@media (max-width: 980px) {
  .service-detail,
  .service-highlight { grid-template-columns: 1fr; gap: 34px; }
  .service-signature__grid { grid-template-columns: 1fr; }
  .service-signature article { border-top: 1px solid var(--es-steel); border-left: 0; }
  .service-scope-grid { grid-template-columns: 1fr; }
  .service-gallery { padding: 52px 0; }
  .service-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-gallery__item { min-height: 240px; }
}
@media (max-width: 640px) {
  .service-hero h1 { font-size: clamp(2.25rem, 10.5vw, 2.75rem); }
  .service-gallery__grid { grid-template-columns: 1fr; }
}
