/* Approved service visuals with readable text over a charcoal gradient. */
.expertise-grid { gap: 16px; border: 0; }
.solution-card.expertise-visual {
 position: relative; isolation: isolate; overflow: hidden;
 display: flex; flex-direction: column; align-items: flex-start;
 min-height: 365px; padding: 28px;
 border: 0; border-radius: 10px;
 background: #202226; color: #fff;
 box-shadow: 0 3px 14px #171a2110;
}
.expertise-visual > img.expertise-photo {
 position: absolute; inset: 0; z-index: 0;
 width: 100%; height: 100%; max-width: none;
 object-fit: cover; object-position: center;
 transition: transform .35s ease;
}
.expertise-visual::before {
 content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
 background: linear-gradient(180deg, rgba(15,18,23,.20) 0%, rgba(15,18,23,.58) 28%, rgba(15,18,23,.90) 65%, rgba(15,18,23,.97) 100%), linear-gradient(90deg, rgba(15,18,23,.55), rgba(15,18,23,.08));
}
.expertise-visual > :not(.expertise-photo) { position: relative; z-index: 2; }
.expertise-visual .number {
 position: absolute; top: 27px; right: 26px;
 color: #fff; background: #15191fc7;
 border: 1px solid #ffffff26; border-radius: 20px; padding: 3px 9px;
}
.expertise-visual .icon-box {
 display: inline-flex; margin-bottom: 44px; padding: 11px;
 background: #fff5e9; color: #9b4205; border: 1px solid #ffbb7b;
}
.expertise-visual h3 { color: #fff; font-size: 21px; max-width: 300px; margin-bottom: 13px; }
.expertise-visual p { color: #f0f1f3; min-height: 0; margin-bottom: 24px; font-size: 13px; line-height: 1.8; }
.expertise-visual .text-link { margin-top: auto; color: #fff; font-weight: 600; }
.expertise-visual .text-link .arrow { color: #ffb674; }
.expertise-visual h3 a:hover, .expertise-visual .text-link:hover { color: #ffca9a; }
.expertise-visual:focus-within { outline: 3px solid var(--orange); outline-offset: 3px; }
.expertise-visual a:focus-visible { outline-color: #ffb674; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
 .expertise-visual:hover .expertise-photo { transform: scale(1.035); }
}
@media (max-width: 850px) {
 .expertise-grid { gap: 14px; }
 .solution-card.expertise-visual { padding: 25px; }
}
@media (max-width: 600px) {
 .solution-card.expertise-visual { min-height: 345px; }
 .expertise-visual .icon-box { margin-bottom: 42px; }
 .expertise-visual h3 { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
 .expertise-visual > img.expertise-photo { transition: none; }
}
