/* Optional native artwork: intact silhouettes and uncropped work illustrations.
   Shared by DNA and data-fill templates. No art fields means no added space. */
.serviceIcon { display:block; width:64px; height:64px; object-fit:contain; margin:0 0 12px; }
.svcGrid .serviceCardArt { margin:22px 0 0; }
.svcGrid .serviceCardArt img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; background:var(--soft); border-radius:3px; }
.svcGrid .serviceCardArt figcaption { padding:10px 0 0; color:var(--dim); font:400 13px/1.55 var(--font); }
.svcGrid .serviceCardCopy { min-height:104px; }
@media(max-width:700px) { .svcGrid .serviceCardCopy { min-height:0; } .svcGrid .serviceCardArt { margin-top:16px; } }
.featRest .featured .serviceIcon { width:72px; height:72px; }
.featRest .rest .serviceIcon { width:48px; height:48px; }
.numList .n .serviceIcon { width:48px; height:48px; margin:12px 0 0; }
.menuRows .row > .serviceIcon { width:32px; height:32px; flex:none; margin:0; align-self:center; }
.serviceExampleGrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.serviceExample { margin:0; min-width:0; }
.serviceExampleImage { aspect-ratio:4/3; background:#f2f2ef; }
.serviceExampleImage img { display:block; width:100%; height:100%; object-fit:contain; }
.serviceExample figcaption { padding:12px 0 0; }
.serviceExample figcaption h3 { font:inherit; font-size:18px; font-weight:600; line-height:1.35; margin:0 0 8px; color:var(--ink); }
.serviceExample figcaption p { font-size:16px; line-height:1.5; margin:0; color:var(--ink); overflow-wrap:anywhere; }
@media (max-width:640px) {
  .serviceIcon { width:56px; height:56px; }
  .numList .n .serviceIcon { width:40px; height:40px; }
  .serviceExampleGrid { grid-template-columns:1fr; gap:20px; }
}
