#eswr-loader{position:fixed;inset:0;z-index:10000;background:#fff;display:grid;place-items:center;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}
.eswr-loading #eswr-loader{opacity:1;visibility:visible;pointer-events:auto}
#eswr-loader .logo-frame{width:210px;max-width:60vw;isolation:isolate}
#eswr-loader .logo-frame::after{content:"";position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 35%,#fff9 50%,transparent 65%);animation:logo-sheen 1.5s ease-in-out infinite;z-index:2}
@keyframes logo-sheen{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.eswr-motion-control{position:fixed;inset-inline-start:18px;bottom:22px;z-index:81;border:1px solid #bfd2c4;border-radius:24px;background:#fffffff0;color:#073f36;padding:9px 14px;font:12px Arial,sans-serif;cursor:pointer;box-shadow:0 3px 16px #073f3615}
.motion-surface{position:relative;isolation:isolate;overflow:hidden}
.motion-surface::before{content:"";position:absolute;width:440px;height:440px;max-width:85vw;border-radius:50%;inset-inline-end:-100px;top:5%;background:radial-gradient(circle,#7cad4230,transparent 68%);pointer-events:none;z-index:-1}
@keyframes ambient-drift{0%,100%{transform:translate3d(0,-30px,0) scale(.9)}50%{transform:translate3d(-100px,90px,0) scale(1.25)}}
@keyframes living-scene{0%,100%{transform:scale(1.055) translate3d(-.6%,0,0)}50%{transform:scale(1.13) translate3d(.6%,-.7%,0)}}
@keyframes entrance-rise{from{opacity:0;transform:translateY(40px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes image-drift{0%,100%{transform:scale(1.04) translateY(-.4%)}50%{transform:scale(1.085) translateY(.4%)}}
@media(prefers-reduced-motion:no-preference){
.eswr-ready .hero-copy>*{animation:entrance-rise .95s cubic-bezier(.16,1,.3,1) both}
.eswr-ready .hero-copy>:nth-child(2){animation-delay:.12s}.eswr-ready .hero-copy>:nth-child(3){animation-delay:.28s}.eswr-ready .hero-copy>:nth-child(4){animation-delay:.42s}
.eswr-loading .hero-copy>*{animation:none}
.hero-poster{animation:living-scene 18s ease-in-out infinite!important}
.motion-surface::before{animation:ambient-drift 14s ease-in-out infinite}
.project-feature>img,.page-hero-media>img{animation:image-drift 16s ease-in-out infinite}
.motion-enter{animation:entrance-rise .8s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--enter-delay,0ms)}
.button,.service-card,.service-mini,.knowledge-block{transition:transform .35s ease,box-shadow .35s ease,background .3s ease}
@media(hover:hover){.button:hover{transform:translateY(-4px);box-shadow:0 9px 22px #073f3620}.service-card:hover,.service-mini:hover{transform:translateY(-7px);box-shadow:0 16px 32px #073f361a}}
}
.motion-off *, .motion-off *::before,.motion-off *::after,.motion-hidden *, .motion-hidden *::before{animation-play-state:paused!important}
.motion-off .motion-enter{animation:none!important}.motion-off .hero-copy>*{animation:none!important}
@media(max-width:700px){#eswr-loader .logo-frame{width:170px}.motion-surface::before{width:250px;height:250px}.eswr-motion-control{font-size:11px;padding:8px 10px;bottom:26px}.hero-poster{animation-duration:24s!important}.project-feature>img,.page-hero-media>img{animation:none}}
@media(prefers-reduced-motion:reduce){#eswr-loader{transition:none}.eswr-motion-control{display:none}}
@media(prefers-reduced-motion:reduce){.hero-poster,.project-feature>img,.page-hero-media>img,.motion-surface::before,.hero-copy>*,.motion-enter,#eswr-loader .logo-frame::after{animation:none!important;transform:none!important}}

.slogan-story{background:#f5f7f1;text-align:center;padding-block:65px}.slogan-story h2{font-size:clamp(28px,4vw,48px);color:#073f36;margin:12px 0 20px}.slogan-explanation{max-width:800px;margin:auto;font-size:clamp(16px,1.5vw,20px);line-height:2;color:#36574e}
