/* Native adapters for the free React Bits sources in vendor/react-bits/free-source. */
@property --rb-star-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
.rb-magnet{translate:var(--rb-mx,0px) var(--rb-my,0px)}
.rb-star-border{position:relative;isolation:isolate}
.rb-star-border:before{content:'';position:absolute;inset:-1px;z-index:4;border-radius:inherit;padding:var(--rb-star-thickness,1px);background:conic-gradient(from var(--rb-star-angle),transparent 25deg,var(--accent2) 55deg,transparent 80deg,transparent 205deg,color-mix(in srgb,var(--accent2) 50%,var(--ink)) 235deg,transparent 260deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;opacity:.65;animation:rb-star-orbit var(--rb-star-duration,5.5s) linear infinite;filter:drop-shadow(0 0 calc(5px * var(--rb-star-glow,.45)) var(--accent2))}
.rb-star-border:hover:before,.rb-star-border:focus-visible:before{opacity:1;animation-duration:2.8s}
@keyframes rb-star-orbit{to{--rb-star-angle:360deg}}
.rb-tilt{--rb-rx:0deg;--rb-ry:0deg;transform:perspective(1100px) rotateX(var(--rb-rx)) rotateY(var(--rb-ry));transform-style:preserve-3d;transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .25s;isolation:isolate}
.rb-tilt.rb-tilt-active{transform:perspective(1100px) rotateX(var(--rb-rx)) rotateY(var(--rb-ry)) scale(var(--rb-tilt-scale,1.012))}
.rb-tilt:after{content:'';position:absolute;inset:0;z-index:2;border-radius:inherit;background:radial-gradient(ellipse at var(--rb-glare-x,50%) var(--rb-glare-y,50%),#fff,transparent 65%);opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity .25s}
.rb-tilt.rb-tilt-active:after{opacity:var(--rb-glare-opacity,.1)}
.showcase-image-label{z-index:3}.service-related button.rb-tilt{position:relative;overflow:hidden}
.desktop-nav{position:relative}.desktop-nav>a{z-index:1}.desktop-nav>a:after{display:none}
.rb-nav-indicator{position:absolute;left:0;top:0;z-index:0;border:1px solid color-mix(in srgb,var(--accent2) 18%,var(--line));border-radius:7px;background:color-mix(in srgb,var(--accent2) 5%,var(--surface));pointer-events:none;opacity:0;transition:transform .36s cubic-bezier(.16,1,.3,1),width .36s cubic-bezier(.16,1,.3,1),opacity .2s}
.navigation-dialog:before{content:'';position:absolute;inset:0 auto 0 0;width:3px;pointer-events:none;background:linear-gradient(transparent,var(--accent2) 30%,transparent)}
.navigation-shell>nav{overflow:hidden}.navigation-shell>nav>a{transition:color .2s,padding-left .3s}.navigation-shell>nav>a:hover{padding-left:8px;color:var(--accent2)}
.capability.spotlight-card,.workflow-stage.spotlight-card,.detail-next.spotlight-card,.service-output.spotlight-card{position:relative;isolation:isolate;overflow:hidden}
.capability.spotlight-card>:not([class^="spotlight-card__"]),.workflow-stage.spotlight-card>.phase-panel,.detail-next.spotlight-card>:not([class^="spotlight-card__"]),.service-output.spotlight-card>:not([class^="spotlight-card__"]){position:relative;z-index:2}
.capability:before,.capability:after{content:'';position:absolute;width:10px;height:10px;pointer-events:none;z-index:4;border-color:var(--accent2);border-style:solid;opacity:.28;transition:opacity .3s}
.capability:before{top:11px;left:11px;border-width:1px 0 0 1px}.capability:after{bottom:11px;right:11px;border-width:0 1px 1px 0}.capability:hover:before,.capability:hover:after{opacity:.85}
.rb-decrypt .rb-text-visual{font-variant-ligatures:none}
.rb-word{display:inline-block;transform-origin:50% 100%}
.rb-ready .rb-blur-text:not(.rb-words-visible) .rb-word{opacity:0;filter:blur(var(--rb-text-blur,6px));transform:translateY(var(--rb-text-distance,12px))}
.rb-blur-text.rb-words-visible .rb-word{animation:rb-word-reveal var(--rb-text-duration,620ms) cubic-bezier(.16,1,.3,1) both;animation-delay:var(--rb-word-delay,0ms)}
@keyframes rb-word-reveal{from{opacity:0;filter:blur(var(--rb-text-blur,6px));transform:translateY(var(--rb-text-distance,12px))}to{opacity:1;filter:blur(0);transform:none}}
.rb-ready [data-rb-reveal]{transition:opacity var(--rb-reveal-duration,620ms) ease,transform var(--rb-reveal-duration,620ms) cubic-bezier(.16,1,.3,1),filter var(--rb-reveal-duration,620ms) ease}
.rb-ready [data-rb-reveal]:not(.rb-visible){opacity:0;transform:translateY(var(--rb-reveal-distance,18px));filter:blur(var(--rb-reveal-blur,3px))}
.rb-shiny-text{background-image:linear-gradient(110deg,var(--accent2) 25%,var(--ink) 45%,var(--accent2) 58%);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rb-text-shine var(--rb-shine-duration,6500ms) ease-in-out infinite;animation-play-state:paused}
.rb-shiny-text.rb-in-view{animation-play-state:running}
.footer-wordmark.rb-shiny-text{opacity:1;background-image:linear-gradient(110deg,color-mix(in srgb,var(--ink) 7%,transparent) 28%,color-mix(in srgb,var(--accent2) 20%,transparent) 45%,color-mix(in srgb,var(--ink) 13%,transparent) 53%,color-mix(in srgb,var(--ink) 7%,transparent) 68%)}
@keyframes rb-text-shine{0%,18%{background-position:100% 0}70%,100%{background-position:0% 0}}
.site-footer{position:relative}.site-footer:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:75px 75px;mask-image:linear-gradient(180deg,transparent 8%,#000)}.site-footer>.wrap{position:relative;z-index:1}
.footer-links a,.footer-links button{background-image:linear-gradient(var(--accent2),var(--accent2));background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;padding-bottom:3px;transition:background-size .3s,color .2s,transform .2s}.footer-links a:hover,.footer-links button:hover{background-size:100% 1px}.footer-bottom .footer-motion:disabled{opacity:.6;cursor:default}
.contact-form{padding:25px;border:1px solid var(--line);border-radius:15px;background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--accent2) 3%,transparent),transparent 60%),var(--bg)}
.contact-field:focus-within>span{color:var(--accent2)}.contact-field input,.contact-field textarea,.contact-field select{background:var(--surface)}
.request-steps{position:relative}.request-steps:after{content:'';position:absolute;left:0;bottom:-1px;width:44%;height:1px;background:var(--accent2);transition:width .4s}.request-steps.rb-step-complete:after{width:100%}
.request-steps.rb-step-complete>span:first-child i{position:relative;color:transparent;border-color:var(--accent2)}.request-steps.rb-step-complete>span:first-child i:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:var(--accent2);font:10px 'DM Sans',sans-serif}
.workflow-step[aria-selected="true"]{box-shadow:inset 2px 0 var(--accent2)}.phase-output{position:relative;overflow:hidden}.phase-output:before{content:'';position:absolute;inset:0 auto 0 0;width:2px;background:var(--accent2);opacity:.6}
.detail-heading{background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--accent2) 4%,transparent),transparent 65%)}
.question[open] summary{color:var(--accent2)}.question[open]>p{animation:rb-answer-in .3s ease both}@keyframes rb-answer-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.rb-click-spark{position:fixed;z-index:10000;height:1.5px;border-radius:999px;background:var(--accent2);box-shadow:0 0 5px color-mix(in srgb,var(--accent2) 30%,transparent);pointer-events:none;transform-origin:left center}
html[data-effects="calm"] *,html[data-effects="calm"] *:before,html[data-effects="calm"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-effects="calm"] .rb-magnet{translate:none}html[data-effects="calm"] .rb-tilt{transform:none}
html[data-effects="calm"] .rb-tilt:after,html[data-effects="calm"] .spotlight-card__light,html[data-effects="calm"] .spotlight-card__grain,html[data-effects="calm"] .spotlight-card__edge{opacity:0!important}
html[data-effects="calm"] .rb-word,html[data-effects="calm"] [data-rb-reveal]{opacity:1!important;filter:none!important;transform:none!important}html[data-effects="calm"] .rb-star-border:before{opacity:.35}
@media(max-width:560px){.contact-form{padding:19px;border-radius:13px}.request-steps{gap:9px;font-size:8px}.request-steps>span{gap:5px}.footer-bottom>div{gap:14px 19px}.footer-motion{white-space:nowrap}.rb-tilt{transform:none!important}}
@media(prefers-reduced-motion:reduce){.rb-magnet{translate:none!important}.rb-tilt{transform:none!important}.rb-word,[data-rb-reveal]{opacity:1!important;filter:none!important;transform:none!important}.rb-shiny-text,.rb-star-border:before{animation:none!important}.rb-click-spark{display:none}}
