/* Hardware & Locksmith: security console */
.service-module--hardware {
  --svc-accent: #7c3aed;
  --svc-accent-2: #f59e0b;
  --svc-accent-dark: #5b21b6;
  --svc-bg: #faf5ff;
}
.service-module--hardware .svc-hero__copy { background: linear-gradient(135deg, rgba(255,255,255,.97), rgba(250,245,255,.94)); }
.hardware-console-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-top: 0; align-items: start; }
.hardware-console-grid article { position: relative; padding: 17px; border-radius: 18px; border: 1px solid var(--svc-line); background: #111827; color: #fff; box-shadow: var(--svc-shadow); overflow: hidden; }
.hardware-console-grid article::after { content: ""; position: absolute; right: -30px; bottom: -30px; width: 86px; height: 86px; border-radius: 50%; background: color-mix(in srgb, var(--svc-accent-2) 30%, transparent); }
.hardware-console-grid strong { display: block; margin-bottom: 7px; font-size: 1.05rem; font-weight: 650; }
.hardware-console-grid span { color: rgba(255,255,255,.76); font-size: .9rem; line-height: 1.45; }
.hardware-service-fit .svc-card { border-left: 4px solid var(--svc-accent); }
@media (max-width: 920px) { .hardware-console-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .hardware-console-grid { grid-template-columns: 1fr; } }

/* Automatic and handicap door operator process evidence */
.service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence {
  overflow: hidden;
  padding: 22px;
  background:
    radial-gradient(circle at 8% 12%, rgba(124,58,237,.08), transparent 28%),
    linear-gradient(135deg, #fff, #faf7ff);
  border-color: rgba(124,58,237,.15);
}
.service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence__head {
  max-width: 920px;
  margin-bottom: 18px;
}
.service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence__list {
  display: grid;
  gap: 14px;
}
.service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence__item {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15,23,42,.05);
}
.service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence__media {
  margin: 0;
  width: 220px;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #eef2f7;
}
.service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence__copy {
  min-width: 0;
  padding: 20px 22px;
  align-self: center;
}
.service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence__label {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(124,58,237,.1);
  color: #5b21b6;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence__copy h3 {
  margin: 0 0 8px;
  color: #111827;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  line-height: 1.2;
  letter-spacing: -.02em;
}
.service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence__copy p {
  margin: 0;
  color: #64748b;
  line-height: 1.62;
}
@media (max-width: 760px) {
  .service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence {
    padding: 18px;
  }
  .service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence__item {
    grid-template-columns: 1fr;
  }
  .service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence__media {
    width: min(220px, 100%);
    justify-self: center;
  }
  .service-module--hardware[data-service="door-operators-ada-operators"] .hardware-operator-evidence__copy {
    padding: 18px;
  }
}

/* Service V2+ capability and scope blocks */
.hardware-v2-trust,
.hardware-hub-v2 {
  margin-top: 18px;
}
.hardware-v2-trust__metrics,
.hardware-hub-v2__grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.hardware-v2-trust__metrics article,
.hardware-hub-v2__grid article {
  padding:18px;
  border:1px solid rgba(124,58,237,.15);
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#faf7ff);
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.hardware-v2-trust__metrics strong,
.hardware-hub-v2__grid strong { display:block; font-size:1.15rem; color:#5b21b6; }
.hardware-v2-trust__metrics span,
.hardware-hub-v2__grid span { display:block; margin-top:3px; font-weight:700; color:#111827; }
.hardware-v2-trust__metrics small,
.hardware-hub-v2__grid small { display:block; margin-top:7px; color:#64748b; line-height:1.45; }
.hardware-v2-trust__badges,
.hardware-hub-v2__badges { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.hardware-v2-trust__badges span,
.hardware-hub-v2__badges span { padding:7px 11px; border-radius:999px; background:#ede9fe; color:#5b21b6; font-size:.82rem; font-weight:700; }
.hardware-v2-trust__note,
.hardware-hub-v2__note { margin:12px 0 0; color:#475569; line-height:1.6; }
.hardware-v2-details { margin-top:22px; }
.hardware-v2-details__head { max-width:900px; margin-bottom:16px; }
.hardware-v2-details__head h2 { margin:.4rem 0 .55rem; }
.hardware-v2-details__head p { color:#64748b; line-height:1.65; }
.hardware-v2-details__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.hardware-v2-detail-card { padding:18px; border:1px solid rgba(124,58,237,.12); border-radius:18px; background:#fff; }
.hardware-v2-detail-card > span { display:block; color:#7c3aed; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; font-weight:800; }
.hardware-v2-detail-card h3 { margin:.4rem 0 .7rem; font-size:1.08rem; }
.hardware-v2-detail-card ul { margin:0; padding-left:1.1rem; color:#475569; line-height:1.55; }
.hardware-v2-decision,
.hardware-v2-boundaries,
.hardware-v2-context { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.hardware-v2-decision article,
.hardware-v2-boundaries > div,
.hardware-v2-context > div { padding:16px; border-radius:16px; border:1px solid rgba(15,23,42,.08); background:#f8fafc; }
.hardware-v2-decision span { display:block; color:#5b21b6; font-size:.78rem; font-weight:800; text-transform:uppercase; }
.hardware-v2-decision p,
.hardware-v2-boundaries p,
.hardware-v2-context p { margin:.35rem 0 0; color:#475569; line-height:1.55; }
@media (max-width:900px) {
  .hardware-v2-trust__metrics,.hardware-hub-v2__grid,.hardware-v2-details__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .hardware-v2-trust__metrics,.hardware-hub-v2__grid,.hardware-v2-details__grid,.hardware-v2-decision,.hardware-v2-boundaries,.hardware-v2-context { grid-template-columns:1fr; }
}

/* V2 trust UI cleanup: keep proof points concise and non-repetitive. */
.hardware-v2-trust__metrics--compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hardware-v2-trust__metrics--compact article { padding:15px 17px; border-radius:16px; box-shadow:0 8px 22px rgba(15,23,42,.04); }
.hardware-v2-trust__metrics--compact strong { font-size:1.02rem; }
.hardware-v2-trust__metrics--compact span { font-size:.92rem; }
.hardware-v2-trust__metrics--compact small { margin-top:5px; font-size:.86rem; line-height:1.4; }
.hardware-v2-trust__extras,
.hardware-hub-v2__extras { display:flex; flex-wrap:wrap; align-items:center; gap:7px 12px; margin-top:10px; color:#64748b; font-size:.86rem; }
.hardware-v2-trust__extras strong,
.hardware-hub-v2__extras strong { color:#334155; }
.hardware-v2-trust__extras span + span::before,
.hardware-hub-v2__extras span + span::before { content:"·"; margin-right:12px; color:#94a3b8; }
.hardware-hub-v2__grid article { padding:14px 16px; border-radius:16px; box-shadow:0 8px 22px rgba(15,23,42,.04); }
.hardware-hub-v2__grid strong { font-size:1.02rem; }
.hardware-hub-v2__grid span { font-size:.91rem; }
.hardware-hub-v2__grid small { margin-top:5px; font-size:.84rem; line-height:1.4; }
@media (max-width:900px) { .hardware-v2-trust__metrics--compact { grid-template-columns:1fr; } }

.hardware-hub-v2__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
