/* GoisTec: motion is progressive enhancement; content stays visible without JavaScript. */
.s-home{background:radial-gradient(ellipse at 83% 5%,#e8f0e24d,transparent 30%),var(--s-paper)}
.s-header{transition:box-shadow .3s,background .3s}
.s-header.m-scrolled{box-shadow:0 6px 30px #162e280a;background:#f9faf8ed}
.m-reading-progress{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#689b3e;transform:scaleX(var(--m-read,0));transform-origin:left;pointer-events:none}
.s-navigation>a{position:relative}
.s-navigation>a:after{content:'';height:2px;background:#65923b;position:absolute;left:0;right:0;bottom:6px;transform:scaleX(0);transform-origin:right;transition:transform .3s}
.s-navigation>a:hover:after,.s-navigation>a[aria-current=page]:after{transform:scaleX(1);transform-origin:left}
.s-nav-cta,.s-button{position:relative;overflow:hidden;isolation:isolate;transition:background .25s,transform .25s,box-shadow .25s}
.s-nav-cta svg,.s-button svg{transition:transform .3s}
.s-nav-cta:hover svg,.s-button:hover svg{transform:translate(3px,-3px)}
.s-button-primary:hover{box-shadow:0 8px 24px #689b3e29}
.s-button-primary:after{content:'';position:absolute;inset:-80% auto -80% -60%;width:30%;background:linear-gradient(90deg,transparent,#fff7,transparent);transform:rotate(22deg);pointer-events:none}
.s-button-primary:hover:after{left:140%;transition:left .65s}
.s-hero{position:relative;isolation:isolate;padding-bottom:85px}
.s-hero:before{content:'';position:absolute;inset:15px -20px 15px 45%;z-index:-1;background-image:radial-gradient(#69895540 .8px,transparent .8px);background-size:18px 18px;mask-image:radial-gradient(ellipse,black,transparent 68%);pointer-events:none}
.m-title-line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}
.m-title-line>span,.m-title-line>em{display:inline-block}
.m-title-line em{position:relative}
.m-title-line em:after{content:'';position:absolute;bottom:.03em;left:.02em;right:0;height:.1em;background:#c6e79b99;z-index:-1;transform-origin:left}
.s-hero .s-eyebrow i{position:relative}
.s-hero .s-eyebrow i:after{content:'';position:absolute;inset:-5px;border:1px solid #7caa53;border-radius:50%;opacity:.5}
.m-art-shell{position:relative;perspective:1200px;min-width:0}
.s-hero-art{border-radius:16px;box-shadow:0 24px 60px -26px #09261d66;transition:transform .6s cubic-bezier(.2,.7,.2,1);border:1px solid #24453b}
.s-hero-art>img{transform:scale(1.035)}
.m-art-glow{position:absolute;inset:-30%;pointer-events:none;background:radial-gradient(ellipse at 60% 25%,#b8e69d1a,transparent 48%);mix-blend-mode:screen}
.m-art-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#d0f87509 1px,transparent 1px),linear-gradient(90deg,#d0f87509 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(135deg,#000,transparent 48%)}
.s-art-top,.s-art-bottom{z-index:2}
.m-art-corner{position:absolute;width:14px;height:14px;border-color:#d0f8758c;border-style:solid;pointer-events:none}
.m-corner-one{top:15px;left:15px;border-width:1px 0 0 1px}
.m-corner-two{bottom:15px;right:15px;border-width:0 1px 1px 0}
.m-art-chip{position:absolute;display:flex;align-items:center;gap:11px;padding:13px 17px;border:1px solid #ffffff4a;border-radius:9px;background:#f7faf1ed;box-shadow:0 12px 36px #061d1938;backdrop-filter:blur(16px);color:var(--s-ink);font-size:14px;font-weight:700;letter-spacing:-.35px;line-height:1.5;pointer-events:none;z-index:3}
.m-art-chip small{display:block;font-size:8px;letter-spacing:1.1px;font-weight:650;color:#687c60;margin-bottom:2px}
.m-chip-design{top:20%;right:-19px;transform:rotate(4deg)}
.m-chip-tech{bottom:15%;left:-26px;transform:rotate(-3deg);background:#17372be8;color:#eff8e7;border-color:#7d9e6766}
.m-chip-tech small{color:#b8cba9}
.m-chip-symbol{display:grid;place-items:center;width:35px;height:35px;background:#d2f593;border-radius:7px;font-size:28px;line-height:1;color:#284132;flex-shrink:0;font-weight:500}
.m-chip-code{font-size:16px;font-weight:650;letter-spacing:-1px}
.m-scroll-cue{position:absolute;left:0;bottom:-38px;right:0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:9px;letter-spacing:1.55px;font-weight:650;color:#738366!important}
.m-scroll-cue>span:last-child{font-size:22px;line-height:1.2;color:#40632c}
.s-strip.m-marquee{display:block;overflow:hidden;background:#d0f875;border:0;padding:25px 0;position:relative;isolation:isolate}
.m-marquee-track{display:flex;width:max-content;transform:translateX(0)}
.m-marquee-group{display:flex;flex-shrink:0;align-items:center;gap:48px;padding-right:48px}
.s-strip .m-marquee-group span{font-size:clamp(23px,2.65vw,39px);font-weight:550;line-height:1.4;letter-spacing:-1.3px;color:#24392b;white-space:nowrap}
.s-strip .m-marquee-group b{font-size:36px;color:#446933;font-weight:500;line-height:1}
.s-services{gap:18px}
.s-home .s-service{padding:25px 25px 27px;position:relative;overflow:hidden;isolation:isolate;border:1px solid #dce4d6;border-radius:10px;background:#f2f5ed;transition:background .3s,border-color .3s,box-shadow .3s,transform .3s}
.s-service:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(350px circle at var(--m-x,50%) var(--m-y,50%),#d0f8752b,transparent 75%);transition:opacity .3s}
.s-home .s-service-top{position:static;font-size:9px;letter-spacing:1px;color:#677b5d;margin-bottom:27px}
.m-service-icon{width:56px;height:56px;border:1px solid #ccd9bf;background:#e6eeda;border-radius:12px;display:grid;place-items:center;color:#48772e;margin-bottom:22px;transition:background .3s,border-color .3s,transform .4s,color .3s}
.m-service-icon svg{width:32px;height:32px}
.s-home .s-service h3{padding-right:0;margin-bottom:12px}
.s-home .s-service p{font-size:15px;line-height:1.85;padding-right:0}
.s-home .s-service-tags{font-size:11px;border-top:1px solid #d9e2cf;padding-top:18px;margin-top:22px;transition:border-color .3s;color:#4f6942}
.s-home .s-service:focus-visible{outline-offset:4px}
.s-home .s-service:is(:hover,:focus-visible){background:#15382c;border-color:#315943;box-shadow:0 16px 34px -20px #0e302b8c;transform:translateY(-5px)}
.s-service:is(:hover,:focus-visible):before{opacity:1}
.s-home .s-service:is(:hover,:focus-visible) h3{color:#f3faed}
.s-home .s-service:is(:hover,:focus-visible) p{color:#c3d3c0}
.s-home .s-service:is(:hover,:focus-visible) .s-service-top{color:#c6ddab}
.s-home .s-service:is(:hover,:focus-visible) .s-service-tags{color:#c3dcaa;border-color:#466344}
.s-service:is(:hover,:focus-visible) .m-service-icon{background:#d0f875;border-color:#d0f875;transform:rotate(-5deg);color:#263f2b}
.s-all-services{margin-top:30px}
.s-principles{overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 15% 80%,#284b343b,transparent 65%),#102b23}
.s-principles:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#c8eda108 1px,transparent 1px),linear-gradient(90deg,#c8eda108 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,#000,transparent 58%)}
.m-principles-orbit{position:absolute;bottom:-245px;left:-160px;width:520px;height:520px;border:1px solid #aec7911c;border-radius:50%;pointer-events:none;z-index:-1}
.m-principles-orbit:before,.m-principles-orbit:after{content:'';position:absolute;inset:50px;border:1px solid #aec7911c;border-radius:50%}
.m-principles-orbit:after{inset:110px}
.m-principles-orbit>span{position:absolute;inset:0;border-radius:50%}
.m-principles-orbit>span:before{content:'';position:absolute;top:74px;left:73px;width:7px;height:7px;background:#bddc8466;border-radius:50%;box-shadow:0 0 20px #bdde6b4d}
.s-principle-list article>span{width:32px;height:32px;display:grid;place-items:center;padding:0;flex:none;border:1px solid #6d865455;border-radius:50%;margin-top:2px}
.s-principle-list article{transition:padding .3s,border-color .3s}
.s-principle-list article:hover{border-color:#99b967;padding-left:7px}
.s-process article>div{gap:13px}
.s-process article>div>span{width:45px;height:45px;display:grid;place-items:center;border:1px solid #d7e1cd;border-radius:50%;background:#edf3e5;color:#4c7234}
.s-process i{overflow:visible;background:#dbe5d1}
.s-process i:before{content:'';position:absolute;inset:0;background:#789c50;transform:scaleX(0);transform-origin:left;transition:transform .9s var(--m-delay,0s)}
.s-process.m-in-view i:before{transform:scaleX(1)}
.s-process i:after{width:6px;height:6px;top:-2.5px;background:#72974a;left:0;right:auto;box-shadow:0 0 0 5px #d0f87526}
.s-process article:nth-child(2){--m-delay:.2s}.s-process article:nth-child(3){--m-delay:.4s}.s-process article:nth-child(4){--m-delay:.6s}
.s-article-image{border-radius:12px;box-shadow:0 0 0 1px #263d1910}
.s-article-image:after{content:'';position:absolute;inset:0;border:1px solid #ffffff33;border-radius:inherit;pointer-events:none}
.s-article-image img{transition:transform .7s cubic-bezier(.2,.65,.3,1)}
.s-article:hover img{transform:scale(1.065)}
.s-article-image svg{width:42px;height:42px;background:#f9faf8;transition:background .3s,transform .3s}
.s-article:hover .s-article-image svg{background:#d0f875;transform:rotate(45deg)}
.s-article h3{transition:color .25s}.s-article:hover h3{color:#4b7633}
.s-faq-item{transition:background .3s,padding .3s}
.s-faq-item[open]{background:#edf3e7;padding-inline:17px;border-radius:7px;border-color:transparent;margin-bottom:8px}
.s-contact{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 10% 85%,#d0e9b3,transparent 57%),#e9f2df}
.s-contact:before{content:'';position:absolute;left:-5%;bottom:-55%;width:75%;aspect-ratio:1;border:1px solid #77994a24;border-radius:50%;box-shadow:0 0 0 55px #d2e0bf29,0 0 0 110px #d2e0bf19;z-index:-1;pointer-events:none}
.s-contact-copy em{position:relative}.s-contact-copy em:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#77a44e66;transform-origin:left}
.s-contact-form{border-radius:14px;box-shadow:0 24px 65px -30px #45642e40;border-top:3px solid #91ba64}
.s-contact-form:focus-within{border-top-color:#4d7d30}
.s-footer{position:relative;overflow:hidden}
.s-footer-main{padding-bottom:35px}
.m-footer-signature{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid #314a39;padding:20px 0 35px;line-height:.94;color:#d2e5ba;user-select:none}
.m-footer-signature>span{font-size:clamp(100px,16.6vw,240px);font-weight:400;letter-spacing:-.075em}
.m-footer-signature strong{font-weight:750}.m-footer-signature b{font-weight:700;color:#d0f875}
.m-footer-signature>svg{width:clamp(60px,10vw,145px);height:auto;stroke-width:1;opacity:.85;flex:none}
button.m-motion-control{position:fixed;bottom:18px;left:18px;z-index:95;display:flex;align-items:center;gap:7px;min-height:44px;padding:9px 13px 9px 9px;border:1px solid #c9d9bb;border-radius:24px;box-shadow:0 5px 22px #1233291a;background:#f9fcf3f2;backdrop-filter:blur(12px);color:#304b27;font:600 11px/1.3 var(--s-font);cursor:pointer}
.m-motion-control svg{width:22px;height:22px;flex:none}.m-motion-control .m-play-icon{display:none}
[data-motion=off] .m-pause-icon{display:none}[data-motion=off] .m-play-icon{display:block}
.m-motion-control:disabled{cursor:default;opacity:.8}
/* Loops are only started by motion.js and pause when their section is off screen. */
[data-motion=on] .m-title-line>span,[data-motion=on] .m-title-line>em{animation:m-title-in .85s cubic-bezier(.2,.75,.2,1) both}
[data-motion=on] .m-title-line:nth-child(2)>span{animation-delay:.13s}
[data-motion=on] .m-title-line:nth-child(3)>em{animation-delay:.26s}
[data-motion=on] .m-title-line em:after{animation:m-underline .85s .8s both}
[data-motion=on] .s-hero-copy>.s-eyebrow,[data-motion=on] .s-hero-copy>p,[data-motion=on] .s-hero-actions,[data-motion=on] .s-hero-note{animation:m-enter .85s .25s both}
[data-motion=on] .s-hero-actions{animation-delay:.4s}[data-motion=on] .s-hero-note{animation-delay:.5s}
[data-motion=on] .s-hero-art>img{animation:m-art-breathe 9s ease-in-out infinite}
[data-motion=on] .m-art-glow{animation:m-glow 11s ease-in-out infinite}
[data-motion=on] .m-chip-design{animation:m-float-design 6s ease-in-out infinite}
[data-motion=on] .m-chip-tech{animation:m-float-tech 7s -2s ease-in-out infinite}
[data-motion=on] .s-art-cross{animation:m-turn 18s linear infinite}
[data-motion=on] .m-scroll-cue>span:last-child{animation:m-scroll 1.8s ease-in-out infinite}
[data-motion=on] .m-marquee-track{animation:m-marquee 30s linear infinite}
.m-marquee:hover .m-marquee-track{animation-play-state:paused}
[data-motion=on] .m-principles-orbit>span{animation:m-turn 32s linear infinite}
[data-motion=on] .s-process.m-in-view i:after{animation:m-process 4s var(--m-delay,0s) ease-in-out infinite}
[data-motion=on] .s-faq-item[open] p{animation:m-enter .3s ease-out both}
.m-reveal{transition:opacity .65s var(--m-delay,0s),translate .65s var(--m-delay,0s)}
[data-motion=on] .m-reveal:not(.m-revealed){opacity:0;translate:0 23px}
[data-motion=on] .m-revealed{opacity:1;translate:0 0}
.m-reveal:focus-within{opacity:1!important;translate:0 0!important}
[data-motion=on] [data-motion-loop]:not(.m-in-view) *,[data-motion=on].m-page-hidden *{animation-play-state:paused!important}
[data-motion=off] .m-reveal{opacity:1;translate:none;transition:none}
:root:not([data-motion=on]) .m-marquee-track{width:100%;justify-content:center;transform:none}
:root:not([data-motion=on]) .m-marquee-group{max-width:100%;flex-shrink:1;flex-wrap:wrap;justify-content:center;gap:14px 28px;padding:0 24px}
:root:not([data-motion=on]) .m-marquee-group[aria-hidden]{display:none}
:root:not([data-motion=on]) .m-marquee-group span{white-space:normal;text-align:center}
[data-motion=off] *,[data-motion=off] *:before,[data-motion=off] *:after{scroll-behavior:auto!important;animation:none!important;transition-duration:0s!important}
@keyframes m-title-in{from{transform:translateY(110%) rotate(3deg)}to{transform:translateY(0) rotate(0)}}
@keyframes m-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes m-underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes m-art-breathe{0%,100%{transform:scale(1.035) translateY(0) rotate(-.8deg)}50%{transform:scale(1.09) translateY(-5px) rotate(.8deg)}}
@keyframes m-glow{0%,100%{transform:translate(-4%,0)}50%{transform:translate(8%,10%)}}
@keyframes m-float-design{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-11px) rotate(1deg)}}
@keyframes m-float-tech{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(9px) rotate(-1deg)}}
@keyframes m-turn{to{transform:rotate(360deg)}}
@keyframes m-scroll{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
@keyframes m-marquee{to{transform:translateX(-50%)}}
@keyframes m-process{0%,10%{transform:translateX(0);opacity:.2}25%,75%{opacity:1}90%,100%{transform:translateX(var(--m-travel,120px));opacity:.2}}
@media(hover:hover) and (pointer:fine) and (min-width:701px){[data-motion=on] .m-art-shell:hover .s-hero-art{transform:rotateX(var(--m-tilt-x,0deg)) rotateY(var(--m-tilt-y,0deg))}}
@media(min-width:901px){.s-service{display:flex;flex-direction:column}.s-service p{flex:1}}
@media(max-width:1150px){.s-home .s-service{padding:23px 20px}.m-art-chip{font-size:12px;padding:11px 13px;gap:9px}.m-art-chip small{font-size:7px}.m-chip-design{right:-14px}.m-chip-tech{left:-18px}.m-chip-symbol{width:31px;height:31px;font-size:24px}.m-chip-code{font-size:15px}}
@media(max-width:900px){.s-hero{padding-bottom:76px}.m-chip-design{right:-8px;top:22%}.m-chip-tech{left:-12px;bottom:16%}.m-art-chip{padding:10px 11px;font-size:11px}.m-art-chip small{font-size:6px;letter-spacing:.7px}.m-chip-symbol{width:27px;height:27px}.m-chip-code{font-size:14px}.m-scroll-cue{font-size:8px;letter-spacing:1px}.s-home .s-services{gap:17px}.m-marquee-group{gap:32px;padding-right:32px}.s-strip.m-marquee{padding-block:24px}}
@media(max-width:700px){.s-hero{gap:32px;padding-bottom:75px}.s-hero:before{inset:40% -10px 10px 0}.m-art-shell{margin-top:0}.s-hero-art{border-radius:12px;aspect-ratio:1.03;max-height:none}.s-art-top{inset:22px 20px auto;font-size:9px}.s-art-bottom{inset:auto 20px 20px;font-size:8px;letter-spacing:1px}.m-art-chip{font-size:12px;padding:11px 12px;gap:10px;box-shadow:0 8px 24px #061d1940}.m-art-chip small{font-size:7px;letter-spacing:.8px}.m-chip-design{right:-5px;top:21%}.m-chip-tech{left:-5px;bottom:16%}.m-chip-symbol{width:31px;height:31px;font-size:26px}.m-chip-code{font-size:15px}.m-scroll-cue{bottom:-36px;font-size:8px}.s-strip.m-marquee{padding-block:23px}.s-strip .m-marquee-group span{font-size:25px;letter-spacing:-.8px}.s-strip .m-marquee-group b{font-size:26px}.m-marquee-group{gap:27px;padding-right:27px}.s-home .s-services{gap:16px}.s-home .s-service{padding:23px 25px 26px}.s-home .s-service-top{position:static;inset:auto;margin-bottom:23px;font-size:9px}.m-service-icon{width:50px;height:50px;margin-bottom:20px}.s-home .s-service h3{font-size:23px;max-width:300px;padding-right:0}.s-home .s-service p{font-size:16px}.s-home .s-service-tags{font-size:12px;margin-top:20px;padding-top:16px}.s-principle-list article>span{width:29px;height:29px}.s-process article>div{gap:10px}.s-process article>div>span{width:38px;height:38px}.s-contact-form{border-radius:12px;box-shadow:0 18px 40px -25px #45642e40}.s-footer-main{padding-bottom:35px}.m-footer-signature{gap:15px;padding:25px 0}.m-footer-signature>span{font-size:20.5vw}.m-footer-signature>svg{width:12vw }button.m-motion-control{left:12px;bottom:12px;width:44px;height:44px;padding:10px}.m-motion-control>span{display:none}.s-faq-item[open]{padding-inline:13px}}
@media(max-width:380px){.m-art-chip{font-size:10px;padding:9px 10px;gap:7px}.m-art-chip small{font-size:6px}.m-chip-symbol{width:28px;height:28px}.s-art-top{font-size:8px}.s-art-bottom{font-size:7px}.s-home .s-service{padding:22px}.s-home .s-service h3{font-size:22px}.s-home .s-service-tags{font-size:11px}.s-process{column-gap:19px}}
@media(prefers-reduced-motion:reduce){.m-reveal{opacity:1!important;translate:none!important}.s-hero-art{transform:none!important}.m-marquee-track{animation:none!important}.s-process i:before{transform:scaleX(1)}}
