/* ALASCOM FX — animații & 3D */
.fx-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#f4671a,#ffb066);z-index:200;pointer-events:none}
.site-header{transition:box-shadow .3s,background .3s}.site-header.scrolled{box-shadow:0 8px 30px rgba(7,28,43,.14)}
.hero-3d{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;display:block}
.hero-glow{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(520px circle at var(--mx,70%) var(--my,40%),rgba(244,103,26,.22),transparent 60%)}
.hero-content{position:relative;z-index:2}.hero-lower{position:relative;z-index:2}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}.w>span{display:inline-block;transform:translateY(110%);animation:wup .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*70ms + 150ms)}
@keyframes wup{to{transform:none}}
.hero-content p,.hero-cta,.hero-proof,.hero-content .eyebrow{opacity:0;transform:translateY(18px);animation:fup .8s ease forwards}
.hero-content .eyebrow{animation-delay:.05s}.hero-content p{animation-delay:.65s}.hero-cta{animation-delay:.8s}.hero-proof{animation-delay:.95s}
@keyframes fup{to{opacity:1;transform:none}}
.marquee{background:var(--navy-deep);color:#fff;overflow:hidden;border-block:1px solid rgba(255,255,255,.08)}
.marquee-track{display:flex;width:max-content;animation:mq 38s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}
.marquee span{padding:15px 30px;font-weight:800;font-size:13px;letter-spacing:.16em;white-space:nowrap}.marquee span:nth-child(even){color:var(--orange)}
@keyframes mq{to{transform:translateX(-50%)}}
[data-reveal]{opacity:0;transform:translateY(34px) scale(.98);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
[data-reveal].in{opacity:1;transform:none}
.tilt{transform-style:preserve-3d;will-change:transform}.tilt.tilting{transition:transform .08s linear,box-shadow .2s}
.tilt::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .25s;background:radial-gradient(260px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.28),transparent 60%)}.tilt.tilting::after{opacity:1}
.service-card,.product-card,.industry-card,.process-step{position:relative}
.service-image img,.industry-card img,.gallery-preview-grid img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.service-card:hover .service-image img,.industry-card:hover img,.gallery-preview-grid a:hover img{transform:scale(1.08)}
.btn-primary{position:relative;overflow:hidden}.btn-primary::before{content:"";position:absolute;top:0;left:-70%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:shine 4.5s ease-in-out infinite}
@keyframes shine{0%,60%{left:-70%}100%{left:130%}}
.floating-call{animation:ring 2.6s ease-out infinite}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(244,103,26,.55)}70%,100%{box-shadow:0 0 0 22px rgba(244,103,26,0)}}
/* vizualizator 3D bazine */
.tank-viewer{position:relative;margin:0 0 34px;border-radius:20px;overflow:hidden;background:radial-gradient(circle at 50% 35%,#1c4660,#071c2b 75%);box-shadow:0 24px 60px rgba(7,28,43,.28);min-height:380px}
#tank-3d{display:block;width:100%;height:420px;cursor:grab;touch-action:pan-y}#tank-3d:active{cursor:grabbing}
.tv-ui{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:linear-gradient(0deg,rgba(7,28,43,.92),transparent);color:#fff}
.tv-ui small{opacity:.75;font-size:12px}.tv-btns{display:flex;flex-wrap:wrap;gap:8px}
.tv-btns button{font:inherit;font-weight:800;font-size:14px;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:9px 16px;cursor:pointer;transition:.2s}
.tv-btns button:hover{background:rgba(255,255,255,.22)}.tv-btns button[aria-pressed=true]{background:var(--orange);border-color:var(--orange)}
.tv-hint{position:absolute;top:16px;left:20px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.14em;opacity:.8}
.tv-hint i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--orange);margin-right:8px;animation:ring 2s infinite}
/* drum livrare */
.road{position:relative;height:84px;margin:0 0 26px;overflow:hidden}
.road::before{content:"";position:absolute;left:0;right:0;bottom:12px;height:3px;background:repeating-linear-gradient(90deg,#c5d0d8 0 22px,transparent 22px 40px);animation:dash 1.2s linear infinite}
@keyframes dash{to{background-position:-40px 0}}
.truck{position:absolute;left:0;bottom:8px;width:190px;transform:translateX(var(--tx,0px))}
.truck .wheel{transform-box:fill-box;transform-origin:center;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.truck svg{display:block;width:100%;animation:bump .5s ease-in-out infinite alternate}@keyframes bump{to{transform:translateY(-1.5px)}}
.process-step{transition:transform .5s,box-shadow .5s,border-color .5s}.process-step.active{border-color:var(--orange);box-shadow:0 16px 40px rgba(244,103,26,.18)}
@media(max-width:700px){#tank-3d{height:330px}.truck{width:140px}.hero-glow{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}[data-reveal],.w>span,.hero-content *{opacity:1!important;transform:none!important}}
