/* Photography belongs only to the homepage capability cards. */
.ai-capabilities .ai-service-grid { gap:22px; }
.ai-capabilities .ai-service { display:flex; flex-direction:column; padding:0; overflow:hidden; border:1px solid #e0e6ef; border-radius:16px; background:#fff; transition:transform .22s,box-shadow .22s,border-color .22s; }
.ai-capabilities .ai-service:hover { transform:translateY(-4px); border-color:#bac5e7; background:#fff; box-shadow:0 18px 36px #2439630d; }
.ai-capabilities .ai-service:focus-visible { outline:3px solid #5264ff; outline-offset:4px; }
.ai-service-photo { position:relative; aspect-ratio:4/3; overflow:hidden; background:#e9edf3; }
.ai-service-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#17213426,transparent 45%,#17213412); pointer-events:none; }
.ai-service-photo>img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.ai-service-photo-laser>img { object-position:50% 58%; }
.ai-service-photo-bend>img { object-position:50% 58%; }
.ai-capabilities .ai-service:hover .ai-service-photo>img { transform:scale(1.035); }
.ai-service-number { position:absolute; z-index:1; top:16px; inset-inline-start:16px; padding:6px 9px; color:#fff; background:#172134cc; border:1px solid #ffffff30; border-radius:6px; font-size:10px; letter-spacing:.08em; }
.ai-service-arrow { position:absolute; z-index:1; top:15px; inset-inline-end:15px; width:34px; height:34px; display:grid; place-items:center; border:1px solid #ffffffb0; border-radius:50%; background:#fffffff0; color:#18254b; font-size:18px; transition:background .2s,color .2s; }
.ai-capabilities .ai-service:hover .ai-service-arrow { background:#5264ff; color:#fff; border-color:#5264ff; }
.ai-service-copy { padding:23px 21px 25px; flex:1; }
.ai-capabilities .ai-service h3 { font-size:21px; line-height:1.3; margin:0; }
.ai-capabilities .ai-service p { font-size:13px; line-height:1.7; margin-top:9px; }
.ai-capabilities .ai-photo-credit { margin-top:19px; color:#69768b; font-size:11px; line-height:1.8; }
.ai-photo-credit a { color:#4d5e79; text-decoration:underline; text-underline-offset:2px; }
.ai-photo-credit a:hover { color:#4054eb; }
@media(min-width:600px) and (max-width:1100px) { .ai-capabilities .ai-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:599px) { .ai-capabilities .ai-service-grid { grid-template-columns:1fr; gap:20px; } .ai-service-photo { aspect-ratio:16/10; } .ai-service-copy { padding:21px; } .ai-capabilities .ai-service h3 { font-size:22px; } .ai-capabilities .ai-service p { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { .ai-capabilities .ai-service, .ai-service-photo>img, .ai-service-arrow { transition:none; } .ai-capabilities .ai-service:hover, .ai-capabilities .ai-service:hover .ai-service-photo>img { transform:none; } }
