/* Illustrations explain the work; movement stays secondary to the content. */
.service-card{position:relative;overflow:hidden;padding:28px 27px 0;transition:transform .35s ease,box-shadow .35s ease;background:#f3f6ef;border:1px solid #e9eee6;border-radius:12px}
.service-scene{margin:24px -8px 22px;position:relative;display:flex;flex-direction:column;align-items:center}
.service-scene .scene-caption{position:relative;z-index:1;padding:6px 14px;border:1px solid #b8c8ad;border-radius:24px;background:#fff;color:var(--green);font-size:13px;font-weight:700;line-height:1.7;max-width:100%;text-align:center}
.scene-caption:after{content:'';position:absolute;bottom:-5px;left:50%;width:8px;height:8px;background:white;transform:rotate(45deg);border-right:1px solid #b8c8ad;border-bottom:1px solid #b8c8ad}
.service-scene img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;mix-blend-mode:multiply;transition:transform .65s cubic-bezier(.2,.7,.2,1);margin-top:6px}
.service-card h3{font-size:24px;line-height:1.65}.service-card p{font-size:16px;line-height:1.95}.service-card>a{font-size:14px;gap:12px}.service-card>a span{transition:transform .25s ease}.service-card:focus-within{box-shadow:0 10px 30px #103f3310}
.flow-illustration{width:100%;height:112px;object-fit:contain;mix-blend-mode:multiply;margin:12px 0 8px}.flow-grid article{position:relative;border-radius:0 0 8px 8px}.flow-grid h3{margin-top:14px}
.hero-image-wrap{overflow:hidden;isolation:isolate}.hero-image{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.12);transform-origin:center}.mascot-wrap{transform:translate3d(0,var(--parallax-y,0px),0)}
.motion-toggle{font-family:inherit;font-size:12px;line-height:1.5;padding:9px 13px;border:1px solid #c9d5c8;border-radius:24px;color:var(--green);background:white;cursor:pointer;white-space:nowrap;min-height:38px}.motion-toggle:hover{background:var(--paper)}.motion-toggle[aria-pressed=true]{background:var(--paper)}
.button span,.header-contact span{display:inline-block;transition:transform .25s ease}.button:hover span,.header-contact:hover span{transform:translate(3px,-3px)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html:not(.motion-paused) .service-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px #103f3310}html:not(.motion-paused) .service-card:hover .service-scene img{transform:translateY(-3px) scale(1.035)}html:not(.motion-paused) .service-card:hover>a span{transform:translate(3px,-3px)}}
html.motion-paused{scroll-behavior:auto}html.motion-paused .hero-image{transform:scale(1.12)}html.motion-paused .mascot-wrap{transform:none}html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation:none!important;transition:none!important}
@media(max-width:800px){.service-card{padding:24px 24px 0}.service-scene{margin:18px -2px 18px}.service-scene img{max-height:230px}.service-card h3{font-size:23px}.service-card p{font-size:16px}.flow-illustration{height:100px}.flow-grid p{font-size:14px}.motion-toggle{font-size:12px}.hero-image{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.hero-image{transform:none!important}.mascot-wrap,.service-scene img{transform:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}
.back-to-top{position:fixed;left:25px;bottom:28px;z-index:40;width:62px;height:62px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #c7d7c2;border-radius:50%;background:#fff;color:var(--green);box-shadow:0 4px 20px #103f3320;line-height:1.1;transition:background .2s,transform .2s}.back-to-top[hidden]{display:none}.back-to-top span:first-child{font-size:27px}.back-to-top span:last-child{font:700 10px Arial,sans-serif;letter-spacing:.1em;margin-top:4px}.back-to-top:hover{background:var(--lime);transform:translateY(-3px)}@media(max-width:800px){.back-to-top{left:16px;bottom:calc(88px + env(safe-area-inset-bottom));width:52px;height:52px}}
