/* FEBUS — Premium Motion 2026 | progressive enhancement */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
body{overflow-x:clip}header{position:relative;z-index:20}header nav a{position:relative;transition:color .35s ease}header nav a::after{content:"";position:absolute;inset-inline:0;bottom:-7px;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:inline-start;transition:transform .55s var(--motion-ease)}header nav a:hover::after,header nav a:focus-visible::after{transform:scaleX(1)}
.languages button{transition:color .3s,transform .45s var(--motion-ease)}.languages button:hover{transform:translateY(-2px)}
.hero-image{will-change:transform;transform:scale(1.085);transition:transform 2.5s var(--motion-ease)}.motion-ready .hero-image{transform:scale(1.085)}.motion-ready.motion-loaded .hero-image{transform:scale(1.025)}
.motion-ready .hero h1,.motion-ready .hero-description,.motion-ready .hero-bottom{opacity:0;transform:translateY(30px);filter:blur(8px)}.motion-ready.motion-loaded .hero h1,.motion-ready.motion-loaded .hero-description,.motion-ready.motion-loaded .hero-bottom{opacity:1;transform:translateY(0);filter:blur(0);transition:opacity 1s var(--motion-ease),transform 1.25s var(--motion-ease),filter 1.1s ease}.motion-ready.motion-loaded .hero h1{transition-delay:.2s}.motion-ready.motion-loaded .hero-description{transition-delay:.42s}.motion-ready.motion-loaded .hero-bottom{transition-delay:.75s}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(145,222,192,.055) 50%,transparent 80%);z-index:1;pointer-events:none;transform:translateX(-110%)}.motion-loaded .hero::before{animation:hero-light 2.4s 1.1s both var(--motion-ease)}@keyframes hero-light{to{transform:translateX(110%)}}
.motion-ready .motion-reveal{opacity:0;transform:translate3d(0,45px,0);filter:blur(5px);transition:opacity .95s var(--motion-ease),transform 1.15s var(--motion-ease),filter .95s ease;transition-delay:var(--reveal-delay,0ms)}.motion-ready .motion-reveal.is-visible{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.section-heading h2,.intro h2,.operations h2,.contact h2{text-wrap:balance}.services article{position:relative;isolation:isolate;overflow:hidden;transition:background .6s var(--motion-ease),transform .7s var(--motion-ease)}.services article::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(360px circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(145,222,192,.13),transparent 65%);opacity:0;transition:opacity .6s}.services article::after{content:"";position:absolute;inset-inline:30px;bottom:0;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:inline-start;transition:transform .65s var(--motion-ease)}.services article:hover{background:rgba(145,222,192,.045)}.services article:hover::before{opacity:1}.services article:hover::after{transform:scaleX(1)}.services article .number{display:inline-block;transition:transform .6s var(--motion-ease)}.services article:hover .number{transform:translateY(-4px)}
.stage-tabs{position:relative}.stage-tabs button{position:relative;transition:color .4s ease,background .45s ease}.stage-tabs button:hover{background:rgba(7,61,48,.045)}.stage-tabs button::after{content:"";position:absolute;inset-inline:15px;bottom:-2px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:inline-start;transition:transform .65s var(--motion-ease)}.stage-tabs button[aria-selected=true]::after{transform:scaleX(1)}.stage-tabs button[aria-selected=true]{border-bottom-color:transparent}.stage-detail h3,.stage-detail p,.stage-detail>span{transition:opacity .36s ease,transform .55s var(--motion-ease)}.stage-detail.motion-changing h3,.stage-detail.motion-changing p,.stage-detail.motion-changing>span{animation:stage-arrive .65s both var(--motion-ease)}.stage-detail.motion-changing p{animation-delay:.09s}@keyframes stage-arrive{from{opacity:0;transform:translateY(16px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.op-list p{position:relative;transition:padding .55s var(--motion-ease),color .4s}.op-list p:hover{padding-inline-start:14px;color:var(--lime)}.email{display:inline-block;position:relative;overflow-wrap:anywhere;transition:color .3s}.email::after{content:"";display:block;height:1px;background:currentColor;transform:scaleX(0);transform-origin:inline-start;transition:transform .6s var(--motion-ease)}.email:hover::after{transform:scaleX(1)}.messenger{transition:transform .55s var(--motion-ease),box-shadow .55s ease}.messenger:hover{transform:translateY(-6px) scale(1.06);box-shadow:0 14px 30px #073d3030}
@media(hover:none){.services article::before{display:none}}@media(max-width:520px){.motion-ready .motion-reveal{transform:translateY(25px)}.services article:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.motion-ready .motion-reveal,.motion-ready .hero h1,.motion-ready .hero-description,.motion-ready .hero-bottom{opacity:1!important;transform:none!important;filter:none!important}.hero-image,.motion-ready .hero-image{transform:none!important}}
