/* Outline icon system: uniform 60px icons with hover effects */
.ol-icon{width:60px;height:60px;flex:0 0 60px;display:block;overflow:visible;color:#121c27;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s cubic-bezier(.34,1.56,.64,1),color .4s ease,filter .4s ease}
.ol-icon *{fill:none!important;stroke:currentColor;vector-effect:non-scaling-stroke}
.service-card:hover .ol-icon,.process-card:hover .ol-icon,.choose-card:hover .ol-icon,.stat-card:hover .ol-icon,.contact-card:hover .ol-icon,.ol-icon:hover{color:var(--primary);transform:translateY(-4px) scale(1.1) rotate(-4deg);filter:drop-shadow(0 6px 8px rgba(0,122,137,.28))}
.service-card:hover .ol-icon :is(path,circle,rect,line,polyline,ellipse),.process-card:hover .ol-icon :is(path,circle,rect,line,polyline,ellipse),.choose-card:hover .ol-icon :is(path,circle,rect,line,polyline,ellipse),.stat-card:hover .ol-icon :is(path,circle,rect,line,polyline,ellipse),.contact-card:hover .ol-icon :is(path,circle,rect,line,polyline,ellipse){stroke-dasharray:1;animation:ol-draw 1s ease forwards}
@keyframes ol-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
/* containers sized around the 60px icon */
.serv-icon{width:60px;height:60px}
.process-card .process-head .icon-xl{width:100px;height:100px}
.assessment-sec .choose-card .choose-icon{width:76px;height:76px;border-radius:16px}
.assessment-sec .choose-card .choose-icon .ol-icon,.process-card .process-head .icon-xl .ol-icon,.contact-card .icon .ol-icon{width:60px;height:60px}
.contact-card .icon{width:84px;height:84px;flex:0 0 84px}
.contact-card:hover .icon .ol-icon{color:#fff;filter:none}
/* Font Awesome icons: same hover treatment */
.social-share a i{transition:transform .35s ease}
.social-share a:hover i{transform:translateY(-3px) scale(1.2)}
@media (prefers-reduced-motion:reduce){.ol-icon,.ol-icon *{animation:none!important;transition:none!important}}
/* Contact page: horizontal info cards, full-width form */
.contact-card .ct-inner{max-width:none;min-width:0}
.contact-card .ct-inner p,.contact-card .ct-inner a{overflow-wrap:anywhere}
.contact-card .ct-inner h4{margin-bottom:4px}
.contact-sec3 .contact-form2{padding:40px 50px}
@media (min-width:768px){
 .contact-sec3 #ajax-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px}
 .contact-sec3 #ajax-contact .form-group:nth-of-type(4),.contact-sec3 #ajax-contact button{grid-column:1/-1}
}
@media (max-width:575.98px){.contact-card .icon{width:70px;height:70px;flex:0 0 70px}.contact-sec3 .contact-form2{padding:30px 20px}}
