/* Bounded visual motion: no scroll interception or movement of reading text. */
.parallax-scene{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s ease,box-shadow .35s ease}
.parallax-scene img{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.17);transition:none}
.visual-path:hover .parallax-scene img{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.17)}
.parallax-scene:hover{box-shadow:0 18px 32px #172b4312}
.hero-visual-stack{position:relative;isolation:isolate}
.hero-visual-stack:before{content:'';position:absolute;width:180px;height:180px;right:-22px;top:-22px;background:radial-gradient(circle,#e568321c 0%,#e5683200 70%);z-index:-1;pointer-events:none}
.process-tabs button{display:block;width:100%;padding:0 0 12px;background:none;border:0;text-align:left;color:var(--navy);font-family:var(--sans);cursor:pointer;min-height:92px;transition:color .25s}
.process-title{display:block;font-size:1.1rem;line-height:1.4;font-weight:700;margin-top:18px}
.process-tabs li{position:relative}
.process-tabs li:before{content:'';position:absolute;left:0;right:0;top:-2px;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.process-tabs li:has(.is-current):before{transform:scaleX(1)}
.process-tabs .is-current{color:var(--blue)}
.process-tabs button:hover .step-number{color:var(--blue)}
.process-enhanced li>p{display:none}
.process-panel{margin-top:24px;padding:32px 36px;border:1px solid #ccd8ed;border-left:4px solid var(--blue);border-radius:8px;background:#f3f6fc;min-height:235px}
.process-panel h3{font-size:1.85rem;line-height:1.25;margin:12px 0}.process-description{max-width:850px;color:#53647b}
.process-points{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:22px 0 0}.process-points li{padding:6px 12px;font-size:.875rem;border:1px solid #d5dfef;background:#fff;border-radius:20px}
.motion-toggle{position:fixed;bottom:22px;left:20px;z-index:34;border:1px solid #c5cdd7;border-radius:25px;padding:8px 14px;min-height:40px;font:500 .75rem/1.4 var(--sans);background:#faf8f3f2;color:#52637a;box-shadow:0 3px 12px #172b430b;cursor:pointer;transition:background .2s,border-color .2s}
.motion-toggle:hover{background:#fff;border-color:var(--blue)}.motion-toggle:disabled{cursor:default;opacity:.85}
.site-header{transition:box-shadow .3s}.main-nav a:after{transform-origin:left;transition:transform .25s ease,width .25s ease}
.service-finder>a{transition:background .25s,color .25s,padding .25s}.service-finder>a:hover{background:#f3f6fc;padding-left:10px}
.menu-toggle i{transition:transform .25s,opacity .2s}.menu-toggle[aria-expanded=true] i:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-3px) rotate(-45deg)}
@supports(interpolate-size:allow-keywords){details{interpolate-size:allow-keywords}details::details-content{height:0;overflow:hidden;transition:height .3s ease,content-visibility .3s allow-discrete}details[open]::details-content{height:auto}}
/* Page-entry transitions work on static hosting and direct file previews. */
@view-transition{navigation:none}main>:first-child{animation:motion-page-in .5s cubic-bezier(.2,.7,.2,1) both}@keyframes motion-page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:680px){.process-title{font-size:1rem}.process-tabs button{min-height:100px}.process-panel{padding:24px;min-height:335px}.process-panel h3{font-size:1.55rem}.process-points{gap:7px}.process-points li{font-size:.8rem}.motion-toggle{left:12px;bottom:14px;padding:8px 12px;min-height:40px}.hero-visual-stack:before{right:0;width:140px}.parallax-scene{transform:none}}
html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion=off] .parallax-scene,html[data-motion=off] .parallax-scene img,html[data-motion=off] .visual-path:hover .parallax-scene img{transform:none}
html[data-motion=off] .reveal-ready{opacity:1;transform:none}
html[data-motion=off] .button:hover,html[data-motion=off] .visual-service:hover,html[data-motion=off] .visual-path:hover,html[data-motion=off] .visual-service:hover .icon-tile,html[data-motion=off] .service-finder>a:hover .service-icon,html[data-motion=off] .contact-channels>a:hover .service-icon{transform:none}
html[data-motion=off] .service-finder>a:hover{padding-left:0}
html[data-motion=off]::view-transition-old(root),html[data-motion=off]::view-transition-new(root){animation:none!important}
@media(prefers-reduced-motion:reduce){.parallax-scene,.parallax-scene img,.visual-path:hover .parallax-scene img{transform:none!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
