/* Shared icon geometry and motion. All content remains visible without JavaScript. */
:root{--motion-fast:260ms;--motion-ease:cubic-bezier(.2,.7,.2,1)}
.ui-icon{display:block;width:20px;height:20px;flex:none;overflow:visible;pointer-events:none}
.action-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;line-height:1;transition:transform var(--motion-fast) var(--motion-ease)}
.service-icon{display:inline-flex;align-items:center;justify-content:center;min-height:41px;transition:transform var(--motion-fast) var(--motion-ease),color var(--motion-fast) ease}
.service-icon .ui-icon{width:36px;height:36px}
.journey-icon .ui-icon{width:16px;height:16px;color:#aaa}
.service li::before{content:'';display:inline-block;width:12px;height:12px;margin-right:10px;background:currentColor;opacity:.8;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.service,.benefit-list article,.steps article,.differences article{transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease}
.button,.menu-toggle,.text-link,.service>a,.contact-detail>a{transition:transform var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}
.service{position:relative}.service:focus-within{background:#e2dac84d;box-shadow:inset 0 0 0 1px #aaa08a}
.service:focus-within .service-icon{transform:translateY(-2px) scale(1.05);color:#555}
a:focus-visible .action-icon,button:focus-visible .action-icon{transform:translate(2px,-2px)}
.button:active,.menu-toggle:active{transform:scale(.98)}
.service>a:active,.text-link:active,.contact-detail>a:active{transform:scale(.985)}
.menu-line{transform-origin:12px 12px;transition:transform var(--motion-fast) var(--motion-ease),opacity 180ms ease}
.menu-toggle[aria-expanded=true] .menu-line-top{transform:translateY(6px) rotate(45deg);transform-origin:12px 6px}
.menu-toggle[aria-expanded=true] .menu-line-middle{opacity:0}
.menu-toggle[aria-expanded=true] .menu-line-bottom{transform:translateY(-6px) rotate(-45deg);transform-origin:12px 18px}
input,select,textarea{transition:border-color 200ms ease,box-shadow 200ms ease}
input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px #c8bfa933}
@media(hover:hover) and (pointer:fine){
 .service:hover{transform:translateY(-3px);background:#e2dac84d;box-shadow:inset 0 0 0 1px #aaa08a,0 7px 18px #1a1a1a0d;z-index:1}
 .service:hover .service-icon{transform:translateY(-2px) scale(1.05);color:#555}
 .button:hover .action-icon,.text-link:hover .action-icon,.service>a:hover .action-icon,.contact-detail>a:hover .action-icon{transform:translate(2px,-2px)}
 .benefit-list article:hover,.steps article:hover,.differences article:hover{transform:translateY(-2px);border-color:#c8bfa9}
 .service:hover .icon-presence .icon-detail,.service:hover .icon-growth .icon-detail{animation:icon-trace 320ms ease-out both}
 .service:hover .icon-automation .icon-node{animation:node-pulse 320ms ease-out both}
}
@keyframes icon-trace{from{stroke-dasharray:40;stroke-dashoffset:15;opacity:.65}to{stroke-dasharray:40;stroke-dashoffset:0;opacity:1}}
@keyframes node-pulse{50%{opacity:.4}100%{opacity:1}}
@media(max-width:680px){.journey>.journey-icon{display:none}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .service:hover,.service:focus-within .service-icon,.service:hover .service-icon,.benefit-list article:hover,.steps article:hover,.differences article:hover,.button:hover,.button:active,.menu-toggle:active,.service>a:active,.text-link:active,.contact-detail>a:active{transform:none}
 a .action-icon,button .action-icon{transform:none!important}
}

