/* Small, progressive enhancements: the page remains readable without JavaScript. */
header{position:sticky;top:0;z-index:20;background:rgba(16,19,16,.94);backdrop-filter:blur(16px);transition:box-shadow .25s,border-color .25s}
header.scrolled{box-shadow:0 12px 36px #0003;border-color:#526343}
.links a{position:relative;padding:8px 0}
.links a:after{content:'';position:absolute;left:0;bottom:1px;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.links a:hover:after,.links a:focus-visible:after,.links a[aria-current='location']:after{transform:scaleX(1)}
.hero{position:relative;isolation:isolate}
.hero:before{content:'';position:absolute;inset:0 -15px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 88% 32%,#a4ee2915,transparent 56%)}
.hero h1 span{background:linear-gradient(115deg,#c1ff5c 12%,#e7ffbe 47%,#a5e844 85%);background-clip:text;-webkit-background-clip:text;color:transparent}
.visual{overflow:hidden;border-color:#536846;box-shadow:0 30px 85px #0005,0 0 55px #b7ff4510}
.visual:after{content:'';position:absolute;inset:-80%;pointer-events:none;background:linear-gradient(110deg,transparent 45%,#dcffa912 50%,transparent 55%);transform:translateX(-70%) rotate(-10deg);animation:studio-sheen 3.8s ease-out both}
@keyframes studio-sheen{to{transform:translateX(70%) rotate(-10deg)}}
.journey-step{position:relative;transition:background .3s,border-color .3s;padding-left:10px;padding-right:10px;border-radius:5px}
.journey-step:hover{background:#c1ff5c09;border-color:#78944e}
.step-icon{transition:background .3s,color .3s,box-shadow .3s}
.journey-step:hover .step-icon{background:var(--accent);color:#101310;box-shadow:0 0 24px #c1ff5c22}
.service,.plan,.demo-tile{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.service{position:relative;overflow:hidden}
.service:after{content:'';position:absolute;left:26px;right:26px;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.service:hover:after{transform:scaleX(1)}
.demo-cover img{transition:transform .65s cubic-bezier(.2,.65,.3,1)}
.demo-details>span{display:inline-block;transition:transform .3s}
.demo-tile:focus-visible .demo-details>span{transform:translateX(5px)}
.btn{transition:background .2s,transform .2s,box-shadow .2s}
.btn span{display:inline-block;transition:transform .2s}
.btn:hover span{transform:translate(3px,-3px)}
.btn:active{transform:translateY(0) scale(.98)}
.sector span{transition:color .2s}.sector span:hover{color:var(--accent)}
.contact{position:relative;overflow:hidden;background:linear-gradient(115deg,#c1ff5c,#d5ff8b 70%,#b4f250)}
.person-actions a,.social-contact a{transition:background .2s,color .2s,transform .2s}
@media(hover:hover) and (pointer:fine){
 .service:hover{transform:translateY(-6px);border-color:#6e8a4f;box-shadow:0 18px 35px #0003}
 .plan:hover{transform:translateY(-6px);box-shadow:0 18px 35px #14240e15}
 .demo-tile:hover{transform:translateY(-7px);border-color:#7a9953;box-shadow:0 20px 40px #0004}
 .demo-tile:hover img{transform:scale(1.055)}
 .demo-tile:hover .demo-details>span{transform:translateX(5px)}
 .btn:hover{box-shadow:0 7px 25px #c1ff5c18}
 .person-actions a:hover,.social-contact a:hover{transform:translateY(-2px)}
}
@media(max-width:500px){header{backdrop-filter:none;background:#101310}.hero:before{inset:0}.hero h1{font-size:clamp(38px,10.5vw,48px)}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation:none!important;transition:none!important}
 .service:hover,.plan:hover,.demo-tile:hover,.demo-tile:hover img,.demo-tile:hover .demo-details>span,.btn:hover,.btn:hover span,.person-actions a:hover,.social-contact a:hover{transform:none}
 .visual:after{display:none}
}
