.ac-services-grid{display:grid;grid-template-columns:repeat(var(--ac-columns,3),minmax(0,1fr));gap:var(--ac-gap,24px)}
.ac-card{position:relative;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.06);background:#fff;overflow:hidden}
/* Place SVG above content */
.ac-card__svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.ac-card__svg-rect{fill:none;stroke:var(--ac-svg-stroke,#f08a00);stroke-width:var(--ac-svg-width,2px);rx:var(--ac-card-radius,6px);ry:var(--ac-card-radius,6px);stroke-linecap:var(--ac-svg-linecap,butt);stroke-linejoin:var(--ac-svg-linejoin,miter)}
/* Draw animation */
.ac-anim-draw.ac-anim-trigger-normal .ac-card__svg-rect{stroke-dasharray:100 1000;stroke-dashoffset:100;animation:ac-draw var(--ac-svg-speed,1.2s) ease forwards;animation-delay:var(--ac-svg-delay-item,var(--ac-svg-delay,0ms))}
.ac-anim-draw.ac-anim-trigger-hover:hover .ac-card__svg-rect{stroke-dasharray:100 1000;stroke-dashoffset:100;animation:ac-draw var(--ac-svg-speed,1.2s) ease forwards}
@keyframes ac-draw{to{stroke-dashoffset:0}}
/* Reverse support */
[style*="--ac-svg-direction: reverse"] .ac-anim-draw.ac-anim-trigger-normal .ac-card__svg-rect{animation-direction:reverse}
[style*="--ac-svg-direction: reverse"] .ac-anim-draw.ac-anim-trigger-hover:hover .ac-card__svg-rect{animation-direction:reverse}
/* Dashes */
.ac-anim-dashes .ac-card__svg-rect{stroke-dasharray:var(--ac-svg-dash,12px) var(--ac-svg-gap,10px)}
.ac-anim-dashes.ac-anim-trigger-normal .ac-card__svg-rect{animation:ac-dash var(--ac-svg-speed,1.2s) linear infinite;animation-delay:var(--ac-svg-delay-item,var(--ac-svg-delay,0ms))}
.ac-anim-dashes.ac-anim-trigger-hover:hover .ac-card__svg-rect{animation:ac-dash var(--ac-svg-speed,1.2s) linear infinite}
@keyframes ac-dash{to{stroke-dashoffset:-200}}
[style*="--ac-svg-direction: reverse"] .ac-anim-dashes .ac-card__svg-rect{animation-direction:reverse}
/* Glow + Lift */
.ac-anim-glow.ac-anim-trigger-normal{box-shadow:0 0 0 rgba(0,0,0,0);animation:ac-glow var(--ac-svg-speed,1.2s) ease-in-out infinite;animation-delay:var(--ac-svg-delay-item,var(--ac-svg-delay,0ms));z-index:1}
.ac-anim-glow.ac-anim-trigger-hover:hover{animation:ac-glow var(--ac-svg-speed,1.2s) ease-in-out infinite}
@keyframes ac-glow{0%,100%{box-shadow:0 0 0 rgba(240,138,0,.0)}50%{box-shadow:0 0 24px rgba(240,138,0,.35)}}
.ac-anim-lift{transform:translateY(0);transition:transform .25s ease, box-shadow .25s ease;z-index:1}
.ac-anim-lift.ac-anim-trigger-normal{animation-delay:var(--ac-svg-delay-item,var(--ac-svg-delay,0ms))}
.ac-anim-lift.ac-anim-trigger-normal:hover,.ac-anim-lift.ac-anim-trigger-hover:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
/* On View */
.ac-anim-trigger-view{opacity:1}
.ac-anim-trigger-view.ac-anim-draw .ac-card__svg-rect,.ac-anim-trigger-view.ac-anim-dashes .ac-card__svg-rect,.ac-anim-trigger-view.ac-anim-glow,.ac-anim-trigger-view.ac-anim-lift{animation-play-state:paused}
.ac-anim-trigger-view.ac-inview.ac-anim-draw .ac-card__svg-rect,.ac-anim-trigger-view.ac-inview.ac-anim-dashes .ac-card__svg-rect{animation-play-state:running}
.ac-anim-trigger-view.ac-inview.ac-anim-glow{animation:ac-glow var(--ac-svg-speed,1.2s) ease-in-out infinite}

.ac-card__image{position:relative;height:var(--ac-image-height,260px);background-size:cover;background-position:center;z-index:0}
.ac-card__title-band{background:#f08a00;color:#fff;padding:12px 14px;font-weight:700;text-transform:uppercase;letter-spacing:.2px;min-height:var(--ac-title-band-height,48px);display:flex;flex-direction:column;justify-content:center;line-height:1.4}
.ac-card__body{padding:16px 18px 18px;background:#fff;z-index:1;display:flex;flex-direction:column;flex:1}
.ac-card__description{font-size:14px;line-height:1.5;margin:0 0 12px;color:#333}
.ac-card__cta{text-align:left}
.ac-card__btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;background:#f08a00;color:#fff;text-decoration:none;font-weight:700;text-transform:uppercase;font-size:12px;border-radius:24px;transition:all .2s ease;gap:8px}
.ac-card__btn .ac-btn-icon{width:1em;height:1em;display:inline-flex;line-height:1}
.ac-card__btn:hover{background:#d97706;color:#fff}
