/* Conceptual device illustrations: visual service selectors, never machine controls. */
.primary-services{gap:20px}
.service-choice{position:relative;isolation:isolate;min-height:224px;overflow:hidden;background:#172329;border-color:#48616d;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}
.service-choice .service-copy{position:relative;z-index:2;width:58%;gap:8px;pointer-events:none}
.service-choice strong{font-size:30px;line-height:1.15}
.service-choice .service-description{max-width:30ch}
.device-stage{position:absolute;z-index:1;inset:0 -8px 0 auto;width:53%;display:grid;place-items:center;pointer-events:none;perspective:900px}
.device-stage::before{content:"";position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#74d3e526,transparent 68%);opacity:.35;transition:opacity .24s ease}
.service-device{position:relative;width:100%;height:100%;max-height:256px;object-fit:contain;transform:translate3d(0,0,0);transform-origin:55% 65%;transition:transform .3s cubic-bezier(.2,.7,.2,1),filter .3s ease;filter:drop-shadow(0 9px 8px #0005)}
.service-choice:focus-visible{border-color:#c9f2f6;box-shadow:0 0 0 1px #b0e0e8}
.service-choice:focus-visible .service-device{transform:translateY(-3px) scale(1.07)}
.secondary-services button{display:inline-flex;align-items:center;gap:12px;padding:9px 16px}
.secondary-services button img{width:76px;height:57px;object-fit:contain;pointer-events:none;transition:transform .24s ease}
@media(hover:hover) and (pointer:fine){
 .service-choice:not(:disabled):hover{background:#1b2b33;border-color:#a6dfe9;box-shadow:0 10px 24px #0003}
 .service-choice:not(:disabled):hover .device-stage::before{opacity:1}
 .service-choice:not(:disabled):hover .service-device{transform:translate3d(var(--device-x,0px),calc(var(--device-y,0px) - 7px),0) rotateX(var(--device-rx,0deg)) rotateY(var(--device-ry,0deg)) scale(1.16);filter:drop-shadow(0 16px 12px #0007) brightness(1.12)}
 .service-choice.is-tilting .service-device{transition:transform .14s ease-out,filter .25s ease}
 .secondary-services button:hover img{transform:translateY(-2px) scale(1.1)}
}
@media(max-width:1000px){.service-choice{min-height:214px;padding:22px}.service-choice strong{font-size:27px}.service-choice .service-description{font-size:15px}.device-stage{width:54%;right:-12px}}
@media(max-width:760px){
 .hero-actions,.hero-location{display:none}
 .hero-description{margin-bottom:0}
 .primary-services{grid-template-columns:1fr;gap:12px}
 .service-choice{min-height:156px;padding:19px 20px}
 .service-choice .service-copy{width:61%;gap:7px}
 .service-choice strong{font-size:27px}
 .service-choice .service-description{font-size:15px;line-height:1.4}
 .service-choice .service-action{font-size:14px;margin-top:3px;gap:18px}
 .device-stage{width:52%;right:-8px}
 .service-device{max-height:200px}
 .secondary-services button{font-size:14px;padding:8px 12px}
 .secondary-services button img{width:65px;height:49px}
}
@media(max-width:360px){.service-choice{min-height:158px;padding:16px}.service-choice strong{font-size:24px}.service-choice .service-copy{width:62%;gap:6px}.service-choice .service-description{font-size:14px}.service-choice .service-action{font-size:13px;gap:10px}.device-stage{width:52%;right:-12px}}
@media(hover:none){.service-choice:focus-visible .service-device{transform:none}}
@media(prefers-reduced-motion:reduce){.service-choice,.service-device,.device-stage::before,.secondary-services button img{transition:none!important}.service-choice .service-device,.service-choice:not(:disabled):hover .service-device,.service-choice:focus-visible .service-device,.secondary-services button:hover img{transform:none!important}}
