:root{--bp-ease:cubic-bezier(.22,1,.36,1)}
.shopify-section:has(>.header){position:sticky;top:0;z-index:20}.header{position:relative;top:0;background:rgba(250,250,247,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:box-shadow .6s var(--bp-ease),border-color .6s}
.header::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:linear-gradient(90deg,#0c756e,#82c7b0,#11867f);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
.hero{position:relative;isolation:isolate}.hero::before{content:"";position:absolute;inset:5% 0;z-index:-1;background:radial-gradient(ellipse at 75% 45%,#cce9df65,transparent 50%);pointer-events:none}
.hero h1 em,.contact-section h2 em{background:linear-gradient(110deg,#147e76 10%,#58a88c 35%,#0c6b73 55%,#148980 80%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:bp-color-flow 13s ease-in-out infinite}
.contact-section h2 em{background-image:linear-gradient(110deg,#80bda9,#d2ebc3,#76bbb3,#80bda9)}
.orbit{background:radial-gradient(ellipse at 30% 45%,#bddfd37a,transparent 62%),radial-gradient(ellipse at 70% 60%,#9dcfc943,transparent 65%);animation:bp-breathe 11s ease-in-out infinite alternate;transform-origin:center}
.browser-mock{animation:bp-float 9s ease-in-out infinite;transition:box-shadow 1s var(--bp-ease)}
.phone-mock{animation:bp-float-phone 8s ease-in-out -3s infinite}
.floating-tag{animation:bp-tag 7s ease-in-out -2s infinite}
.hero-art{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform 1.3s var(--bp-ease)}
.dot{box-shadow:0 0 0 0 #168b8226;animation:bp-pulse 4s ease-out infinite}
.button{position:relative;isolation:isolate;overflow:hidden;translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:background .55s var(--bp-ease),transform .65s var(--bp-ease),translate .65s var(--bp-ease),box-shadow .65s var(--bp-ease),border-color .5s}
.button::before{content:"";position:absolute;inset:-80% -50%;z-index:-1;background:linear-gradient(115deg,transparent 35%,#ffffff25 50%,transparent 65%);transform:translateX(-65%) rotate(-10deg);transition:transform 1.1s var(--bp-ease);pointer-events:none}
.button:hover::before,.button:focus-visible::before{transform:translateX(65%) rotate(-10deg)}
.button:hover{box-shadow:0 10px 26px -12px #0e706c80}
.button span{transition:transform .65s var(--bp-ease)}.button:hover span,.button:focus-visible span{transform:translate(3px,-3px)}
.desktop-nav a{position:relative}.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:#148980;transform:scaleX(0);transform-origin:right;transition:transform .55s var(--bp-ease)}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.text-link{transition:gap .6s var(--bp-ease),color .4s,border-color .4s}.text-link:hover{gap:28px}
.work-card .work-image{transition:background .8s var(--bp-ease),box-shadow .8s var(--bp-ease),transform .8s var(--bp-ease)}
.work-card .work-image img{transition:transform 1.1s var(--bp-ease),box-shadow 1.1s var(--bp-ease)}
.work-card:hover .work-image{transform:translateY(-5px);box-shadow:0 22px 40px -30px #12463f66;background:#dce7dc}
.work-card:hover .work-image img{transform:translateY(-4px) scale(1.025)}
.circle-arrow{transition:transform .75s var(--bp-ease),background .6s,color .6s,border-color .6s}.work-card:hover .circle-arrow{transform:rotate(45deg);background:#11867f;border-color:#11867f;color:white}
.service-grid article,.price-card,.process-grid article{transition:transform .8s var(--bp-ease),box-shadow .8s var(--bp-ease),border-color .7s}
.service-grid article,.price-card{position:relative;isolation:isolate}
.service-grid article::after,.price-card::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,30%),#ffffff70,transparent 75%);opacity:0;transition:opacity .8s}
.service-grid article:hover::after,.price-card:hover::after{opacity:1}
.service-grid article:hover{transform:translateY(-6px);border-color:#3b9886}.price-card:hover{transform:translateY(-7px);box-shadow:0 24px 45px -32px #174e3a70;border-color:#298f7d}
.service-icon{width:fit-content;transition:transform 1s var(--bp-ease),color .8s}.service-grid article:hover .service-icon{transform:rotate(-12deg) scale(1.12);color:#0a5e5d}
.process-grid article>span{transition:transform .8s var(--bp-ease)}.process-grid article:hover>span{transform:translateX(7px)}
.contact-section{position:relative;isolation:isolate;overflow:hidden}.contact-section::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 15% 80%,#18757433,transparent 55%),radial-gradient(ellipse at 85% 10%,#5d9c6c20,transparent 50%);animation:bp-contact-flow 15s ease-in-out infinite alternate;pointer-events:none}
.contact-panel{transition:box-shadow .8s,border-color .8s}.contact-panel:focus-within{border-color:#579a8f;box-shadow:0 0 45px -14px #70c1a526}
input,textarea,select{transition:border-color .4s,background .4s,box-shadow .4s}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 4px #5baf9912}
.faq-list summary span{transition:transform .6s var(--bp-ease)}
.mobile-nav[open] nav{animation:bp-menu .45s var(--bp-ease) both}
@supports(interpolate-size:allow-keywords){.faq-list details{interpolate-size:allow-keywords}.faq-list details::details-content{height:0;overflow:clip;transition:height .6s var(--bp-ease),content-visibility .6s allow-discrete}.faq-list details[open]::details-content{height:auto}}
@keyframes bp-color-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes bp-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes bp-float-phone{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -14px;rotate:-1deg}}
@keyframes bp-tag{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes bp-breathe{from{scale:.94;opacity:.7}to{scale:1.04;opacity:1}}
@keyframes bp-pulse{0%,70%,100%{box-shadow:0 0 0 0 #168b8200}30%{box-shadow:0 0 0 6px #168b821c}}
@keyframes bp-contact-flow{from{transform:translateX(-3%) scale(1)}to{transform:translateX(3%) scale(1.08)}}
@keyframes bp-menu{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}
@media(max-width:760px){.hero-art{transform:none}.browser-mock{animation-duration:11s}.phone-mock{animation-duration:10s}.price-card:hover,.service-grid article:hover{transform:none}.orbit{animation:none}.hero::before{inset:20% 0 0}.header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}
.motion-toggle{background:transparent;border:1px solid #40636b;border-radius:4px;color:#b4c9cb;padding:7px 12px;font:inherit;font-size:10px;cursor:pointer;margin-top:15px}.motion-toggle:hover{border-color:#82bdac;color:white}
html.bp-motion-paused *,html.bp-motion-paused *::before,html.bp-motion-paused *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.bp-motion-paused .hero-art{transform:none}html.bp-motion-paused .button{translate:none}
@media(prefers-reduced-motion:reduce){html:not(.bp-motion-enabled) *,html:not(.bp-motion-enabled) *::before,html:not(.bp-motion-enabled) *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html:not(.bp-motion-enabled) .hero-art{transform:none}html:not(.bp-motion-enabled) .button{translate:none}}
.motion-toggle{margin-left:max(20px,calc((100% - 1240px)/2))}