/* Small, shared polish. Existing layouts, content and breakpoints retained. */
.button,.text-link,.sector-switch{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
.button{border-radius:5px}.button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #07132b26}
.text-link:hover{transform:translateX(3px)}
nav a{transition:border-color .2s ease,color .2s ease}nav a:hover{color:var(--accent)}
.service-grid article,.area-grid article,.contact-panel,.scope{transition:box-shadow .25s ease,transform .25s ease}
.service-grid .image-link,.choice-panel{overflow:hidden}.service-grid img,.gallery img,.choice-panel img{transition:transform .5s ease,filter .5s ease}
.service-grid article:hover .image-link img,.choice-panel:hover img{transform:scale(1.025)}
.service-grid article:hover h3 a{color:var(--accent-text)}
.area-grid article:hover,.contact-panel:hover{box-shadow:0 12px 30px #0a102b0d}
.split>img,.gallery img,.scope,.contact-panel{border-radius:7px}
.split>img{box-shadow:12px 12px 0 color-mix(in srgb,var(--accent) 12%,transparent)}
.cta{position:relative;border-top:3px solid var(--accent);background:linear-gradient(115deg,var(--navy),#142640)}
.steps span{border-bottom:2px solid var(--accent);padding-bottom:8px;width:42px}
summary{transition:color .2s ease}summary:hover{color:var(--accent-text)}
details[open]{border-bottom-color:var(--accent)}
@media(hover:none){.button:hover,.text-link:hover{transform:none}.service-grid article:hover .image-link img,.choice-panel:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
