/* ==============================================
   TRUSTECH — Premium Enterprise Theme
   Dark Hero + Clean White Sections + Rich Depth
   ============================================== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
    --pri:#7b2d8e;--sec:#a855f7;
    --pri-light:#c084fc;--pri-dark:#581c87;
    --accent:#d946ef;--accent2:#c026d3;
    --dk:#0f172a;--dk2:#1e293b;--dk3:#0f0d2e;
    --g50:#f8fafc;--g100:#f1f5f9;--g200:#e2e8f0;--g300:#cbd5e1;--g400:#94a3b8;--g500:#64748b;--g600:#475569;--g700:#334155;--g800:#1e293b;
    --wh:#fff;
    --grad:linear-gradient(135deg,#7b2d8e,#a855f7);
    --grad2:linear-gradient(135deg,#7b2d8e,#d946ef);
    --grad-hero:linear-gradient(160deg,#0f0d2e 0%,#1a1145 40%,#1e1b4b 70%,#172554 100%);
    --r:12px;--rl:16px;--rxl:20px;
    --tr:.3s cubic-bezier(.4,0,.2,1);
    --shadow-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
    --shadow-md:0 4px 16px rgba(0,0,0,.08);
    --shadow-lg:0 12px 40px rgba(0,0,0,.1);
    --shadow-xl:0 20px 60px rgba(0,0,0,.12);
    --shadow-glow:0 0 40px rgba(123,45,142,.2);
}
/* ===== SKIP LINK ===== */
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--pri);color:#fff;padding:12px 24px;border-radius:0 0 8px 8px;font-weight:700;font-size:.88rem;z-index:9999;transition:top .2s ease}
.skip-link:focus{top:0}
/* ===== FOCUS INDICATORS ===== */
:focus-visible{outline:2px solid var(--pri);outline-offset:2px;border-radius:4px}
:focus:not(:focus-visible){outline:none}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--dk);background:var(--wh);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.nav__logo strong,.cl-stats__num,.hero__title,.sect__tag,.btn{font-family:'Space Grotesk','DM Sans',sans-serif}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
a{text-decoration:none;color:inherit;transition:var(--tr)}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:50px;font-weight:600;font-size:.88rem;border:2px solid transparent;cursor:pointer;transition:all .3s ease;white-space:nowrap;font-family:inherit;letter-spacing:.01em;position:relative;overflow:hidden}
.btn::before{content:'';position:absolute;inset:0;border-radius:50px;opacity:0;transition:opacity .3s}
.btn--solid{background:var(--grad);color:#fff;box-shadow:0 4px 16px rgba(123,45,142,.25)}
.btn--solid::before{background:linear-gradient(135deg,#6366f1,#818cf8)}
.btn--solid:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(123,45,142,.4)}
.btn--solid:hover::before{opacity:1}
.btn--glass{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.18);backdrop-filter:blur(8px)}
.btn--glass:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);transform:translateY(-2px)}
.btn--white{background:#fff;color:var(--pri);box-shadow:0 4px 20px rgba(0,0,0,.1)}
.btn--white:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.15)}
.btn--outline{background:transparent;color:var(--pri);border-color:var(--g200)}
.btn--outline:hover{border-color:var(--pri);background:rgba(123,45,142,.04);transform:translateY(-2px)}
.btn--outline-w{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.btn--outline-w:hover{background:rgba(255,255,255,.08);border-color:#fff;transform:translateY(-2px)}
.btn--full{width:100%;justify-content:center}

/* ===== SECTION HEAD ===== */
.sec-head{text-align:center;margin-bottom:52px}
.tag{display:inline-flex;align-items:center;gap:6px;padding:6px 18px;background:rgba(123,45,142,.06);border:1px solid rgba(123,45,142,.1);border-radius:50px;font-size:.72rem;font-weight:700;color:var(--pri);margin-bottom:14px;letter-spacing:.8px;text-transform:uppercase;position:relative}
.sec-head h2{font-size:2.2rem;font-weight:800;letter-spacing:-.03em;color:var(--dk);position:relative;display:inline-block}
.sec-head h2::after{content:'';position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:48px;height:3px;background:var(--grad);border-radius:3px}
.sec-head p{font-size:.95rem;color:var(--g500);margin-top:18px;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.7}
.sec-head__sub{font-size:1.05rem;color:var(--g500);margin-top:10px;font-weight:400;letter-spacing:-.01em}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.06);transition:all .4s ease;box-shadow:0 1px 12px rgba(0,0,0,.04)}
.nav.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 1px 20px rgba(0,0,0,.06)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.nav__logo{display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .3s ease}
.nav__logo-img{width:42px;height:42px;border-radius:10px;object-fit:contain;transition:all .35s ease;filter:drop-shadow(0 2px 8px rgba(168,85,247,.25))}
.nav__logo:hover .nav__logo-img{transform:scale(1.06);filter:drop-shadow(0 4px 14px rgba(168,85,247,.35))}
.nav__logo.logo-pulse .nav__logo-img{animation:logoPulse .6s ease}
@keyframes logoPulse{0%{transform:scale(1)}25%{transform:scale(1.2) rotate(-5deg)}50%{transform:scale(.95) rotate(2deg)}75%{transform:scale(1.08) rotate(-1deg)}100%{transform:scale(1) rotate(0)}}
.nav__logo strong{display:block;font-size:1.3rem;line-height:1.1;color:var(--dk);letter-spacing:.02em;transition:color .4s}
.nav__logo small{display:block;font-size:.7rem;color:var(--g400);font-weight:500;letter-spacing:.5px;transition:color .4s}
.nav__links{display:flex;list-style:none;gap:2px}
.nav__links a{padding:8px 16px;font-size:.85rem;font-weight:500;color:var(--g600);border-radius:8px;transition:var(--tr);position:relative}
.nav__links a::after{content:'';position:absolute;bottom:2px;left:50%;width:0;height:2px;background:var(--grad);border-radius:2px;transition:all .3s ease;transform:translateX(-50%)}
.nav__links a:hover{color:var(--pri);background:rgba(123,45,142,.05)}
.nav__links a:hover::after{width:60%}
.nav__cta{padding:10px 24px;background:var(--grad);color:#fff!important;border-radius:50px;font-weight:600;font-size:.82rem;border:1px solid transparent;transition:var(--tr);box-shadow:0 3px 16px rgba(123,45,142,.25)}
.nav__cta:hover{box-shadow:0 6px 24px rgba(123,45,142,.35);transform:translateY(-1px)}
.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.nav__burger span{width:22px;height:2px;background:var(--dk);border-radius:2px;transition:var(--tr)}

/* ===== HERO — Clean White ===== */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--g50);overflow:hidden;padding:100px 24px 60px}
.hero__content{position:relative;z-index:2;max-width:650px;margin-bottom:20px}
.hero__badge{display:inline-block;background:rgba(123,45,142,.08);color:var(--pri);padding:6px 18px;border-radius:50px;font-size:.82rem;font-weight:600;margin-bottom:1.5rem;letter-spacing:.01em;animation:fadeUp .6s ease both}
.hero h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:800;color:var(--dk);line-height:1.1;margin-bottom:1rem;letter-spacing:-.03em;animation:fadeUp .6s ease .1s both}
.hero__sub{font-size:1.15rem;color:var(--g500);max-width:540px;margin:0 auto 2rem;line-height:1.7;animation:fadeUp .6s ease .2s both}
.hero__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:fadeUp .6s ease .3s both;position:relative;z-index:3;margin-top:24px}
.btn--pri{background:var(--grad);color:#fff;box-shadow:0 4px 20px rgba(123,45,142,.3);border:none;padding:15px 34px;border-radius:14px;font-weight:700;font-size:.88rem}
.btn--pri:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(123,45,142,.45)}
.btn--ghost{background:transparent;color:var(--dk);border:1.5px solid var(--g200);padding:15px 34px;border-radius:14px;font-weight:600;font-size:.88rem}
.btn--ghost:hover{border-color:var(--pri);color:var(--pri);background:rgba(123,45,142,.04);transform:translateY(-2px)}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}

/* ===== ORBITAL SHOWCASE ===== */
.orbit{position:relative;width:100%;max-width:1100px;height:440px;margin:0 auto}
.orbit__paths{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.orbit__ring{fill:none;stroke:var(--pri);stroke-width:1.8;opacity:.4}
.orbit__ring--2{stroke-width:2;opacity:.5}
.orbit__ring--3{stroke-width:1.5;opacity:.3}
.orbit__hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3}
.orbit__hub-glow{position:absolute;inset:-30px;border-radius:50%;background:radial-gradient(circle,rgba(123,45,142,.18),transparent 70%);animation:hubPulse 3s ease-in-out infinite;pointer-events:none}
@keyframes hubPulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.3);opacity:1}}
.orbit__hub-core{width:80px;height:80px;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.orbit__hub-logo{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 16px rgba(168,85,247,.35))}
.orbit__hub-core small{font-size:.52rem;font-weight:600;opacity:.8;letter-spacing:.3px;margin-top:2px}
.orbit__cards{position:absolute;inset:0;z-index:2}
.orbit__card{position:absolute;width:130px;padding:10px 10px 10px;background:rgba(255,255,255,.97);border-radius:14px;box-shadow:0 4px 20px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04);text-align:center;cursor:pointer;will-change:transform;transition:background .25s ease,box-shadow .25s ease,border-color .25s ease;z-index:1;user-select:none;overflow:hidden;touch-action:manipulation;border:1.5px solid transparent}
.orbit__card:hover{box-shadow:0 12px 36px rgba(0,0,0,.15),0 2px 6px rgba(0,0,0,.06);z-index:10}
.orbit__shape{position:relative;width:100%;height:56px;margin-bottom:4px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.orbit__shape svg{position:absolute;inset:0;width:100%;height:100%}
.orbit__icon{position:relative;z-index:2;font-size:1.1rem;transition:color .25s ease;line-height:1;margin-top:-28px;margin-bottom:6px}
.orbit__title{font-size:.7rem;font-weight:700;color:var(--dk);display:block;line-height:1.3;transition:color .25s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orbit__caption{font-size:.55rem;font-weight:500;color:var(--muted);display:block;line-height:1.3;margin-top:2px;transition:color .25s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orbit__card.active{z-index:10;box-shadow:0 12px 40px rgba(0,0,0,.2)}
.orbit__card.active .orbit__shape svg{color:rgba(255,255,255,.5)!important}
.orbit__card.active .orbit__icon{color:#fff!important}
.orbit__card.active .orbit__title{color:#fff}
.orbit__card.active .orbit__caption{color:rgba(255,255,255,.8)}

/* ===== MOBILE PRODUCT STRIP ===== */
.mobile-products{display:flex;flex-wrap:nowrap;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:16px 20px;scrollbar-width:none;width:100%;-ms-overflow-style:none}
.mobile-products::-webkit-scrollbar{display:none}
.mobile-products__card{flex:0 0 160px;scroll-snap-align:start;background:rgba(255,255,255,.97);border-radius:14px;padding:20px 14px;text-align:center;box-shadow:0 2px 12px rgba(123,45,142,.08);border:1px solid rgba(123,45,142,.08);cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;touch-action:manipulation}
.mobile-products__icon{font-size:1.5rem;margin-bottom:8px}
.mobile-products__card h4{font-size:13px;font-weight:600;color:var(--dk);margin-bottom:4px}
.mobile-products__card p{font-size:11px;color:var(--g500);line-height:1.3;margin:0}

/* ==========================================================
   PRODUCT CARDS — with CSS Art Animated Illustrations
   ========================================================== */
.products{padding:90px 0 100px;background:var(--wh);position:relative}
.products::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g200),transparent)}
.products__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

.prod{position:relative;background:var(--wh);border-radius:var(--rxl);padding:0 0 24px;text-align:center;border:1px solid var(--g200);cursor:pointer;transition:all .45s cubic-bezier(.4,0,.2,1);overflow:hidden;touch-action:manipulation}
.prod:hover{border-color:color-mix(in srgb,var(--c) 25%,transparent);box-shadow:0 20px 60px rgba(0,0,0,.1),0 0 0 1px color-mix(in srgb,var(--c) 10%,transparent);transform:translateY(-10px)}
.prod__glow{position:absolute;inset:0;background:linear-gradient(160deg,rgba(123,45,142,.03),rgba(217,70,239,.02));pointer-events:none}
.prod h4{font-size:.9rem;font-weight:700;margin:14px 20px 6px;color:var(--dk);transition:color .3s}
.prod:hover h4{color:var(--c,var(--dk))}
.prod__desc{font-size:.76rem;color:var(--g500);line-height:1.5;margin:0 20px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:0 4px}
.prod__divider{height:2px;margin:14px 20px 10px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--c) 20%,transparent),transparent);border-radius:2px;transition:all .4s ease}
.prod:hover .prod__divider{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--c) 50%,transparent),transparent)}
.prod__tap{font-size:.76rem;font-weight:600;color:var(--g400);opacity:0;transform:translateY(6px);transition:var(--tr);display:inline-flex;align-items:center;gap:6px}
.prod:hover .prod__tap{opacity:1;transform:translateY(0);color:var(--c,var(--pri))}
.prod:hover .prod__tap i{animation:arrowBounce 1s ease infinite}
@keyframes arrowBounce{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}

/* Hero product highlight */
.prod--hero{border-color:rgba(123,45,142,.1);background:linear-gradient(135deg,rgba(123,45,142,.02),rgba(217,70,239,.02))}

/* Card press-and-hold — uses @keyframes so it overrides inline tilt transforms via cascade */
@keyframes cardSqueezeIn{from{transform:var(--press-from,none)}to{transform:scale(0.92)}}
.card--pressing{animation:cardSqueezeIn .2s cubic-bezier(.4,0,.2,1) forwards!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 30%,transparent),0 4px 20px color-mix(in srgb,var(--c) 20%,transparent);border-color:var(--c)}
.card--pressing .prod-scene__icon{background:var(--c)!important;color:#fff!important;transform:scale(1.1)!important}

/* Product click flash (legacy — kept for .prod grid cards) */
.prod.prod--clicking{animation:prodClickFlash .5s ease-out;pointer-events:none}
.prod.prod--clicking .prod-scene__icon{background:var(--c)!important;color:#fff!important;transform:scale(1.15)!important;box-shadow:0 8px 32px color-mix(in srgb,var(--c) 40%,transparent)!important}
@keyframes prodClickFlash{
    0%{transform:scale(1);box-shadow:var(--shadow-lg)}
    30%{transform:scale(1.04);border-color:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 15%,transparent),0 12px 40px color-mix(in srgb,var(--c) 20%,transparent)}
    60%{transform:scale(.98);box-shadow:0 0 0 8px color-mix(in srgb,var(--c) 8%,transparent),0 12px 40px color-mix(in srgb,var(--c) 15%,transparent)}
    100%{transform:scale(1);box-shadow:none;border-color:var(--c)}
}
.prod__ripple{position:absolute;border-radius:50%;transform:scale(0);opacity:.2;animation:prodRipple .6s ease-out forwards;pointer-events:none;z-index:0}
@keyframes prodRipple{to{transform:scale(3);opacity:0}}

/* Universal card click flash + ripple (all card types) */
.card--clicking{animation:cardClickFlash .5s ease-out!important;pointer-events:none}
@keyframes cardClickFlash{
    0%{transform:scale(1);box-shadow:0 4px 12px rgba(0,0,0,.1)}
    25%{transform:scale(1.06);box-shadow:0 0 0 6px var(--click-color,#7b2d8e),0 12px 40px rgba(0,0,0,.15)}
    50%{transform:scale(0.97);box-shadow:0 0 0 10px transparent,0 8px 24px rgba(0,0,0,.08)}
    100%{transform:scale(1);box-shadow:0 4px 12px rgba(0,0,0,.1)}
}
.card__ripple{position:absolute;border-radius:50%;transform:scale(0);opacity:.25;animation:cardRipple .6s ease-out forwards;pointer-events:none;z-index:0}
@keyframes cardRipple{to{transform:scale(3);opacity:0}}

/* ==========================================================
   PRODUCT SCENE — SVG Illustrations
   ========================================================== */
.prod-scene{position:relative;height:180px;overflow:hidden;border-radius:var(--rxl) var(--rxl) 0 0;margin:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 4%,#fafbff),color-mix(in srgb,var(--c) 10%,#f0f0ff));transition:background .4s ease}
.prod-scene__svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.prod-scene__illus{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.prod-scene__icon{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--c) 12%,white);display:flex;align-items:center;justify-content:center;color:var(--c);font-size:1.3rem;position:relative;z-index:3;transition:all .45s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 20px color-mix(in srgb,var(--c) 15%,transparent);border:2px solid color-mix(in srgb,var(--c) 8%,white)}
.prod:hover .prod-scene__icon{background:var(--c);color:#fff;transform:scale(1.15) rotate(-5deg);box-shadow:0 8px 32px color-mix(in srgb,var(--c) 35%,transparent);border-color:var(--c)}

/* SVG Scene Animations */
.prod-scene__beam{animation:svgBeamFade 1.5s ease-in-out infinite}
@keyframes svgBeamFade{0%,100%{opacity:.15}50%{opacity:.5}}
.prod-scene__float{animation:svgFloat 4s ease-in-out infinite}
@keyframes svgFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(3px,-6px)}}
.prod-scene__dash{animation:svgDash 3s linear infinite}
@keyframes svgDash{to{stroke-dashoffset:-20}}
.prod-scene__ping{animation:svgPing 2.5s ease-out infinite}
.prod-scene__ping2{animation:svgPing 2.5s ease-out infinite .8s}
.prod-scene__ping3{animation:svgPing 2.5s ease-out infinite 1.6s}
@keyframes svgPing{0%{r:0;opacity:.5}100%{r:14;opacity:0}}
.prod-scene__radar{animation:svgRadar 3s ease-out infinite}
@keyframes svgRadar{0%{r:8;opacity:.3}100%{r:22;opacity:0}}
.prod-scene__dot{animation:svgDot 6s linear infinite}
@keyframes svgDot{0%{cx:60}25%{cx:120}50%{cx:180}75%{cx:140}100%{cx:60}}
.prod-scene__arm{animation:svgArm 4s ease-in-out infinite;transform-origin:center bottom}
@keyframes svgArm{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
.prod-scene__gear{animation:svgGear 6s linear infinite}
.prod-scene__gear2{animation:svgGear 4s linear infinite reverse}
@keyframes svgGear{to{transform:rotate(360deg)}}
.prod-scene__dataflow{animation:svgDataflow 1.5s linear infinite}
@keyframes svgDataflow{to{stroke-dashoffset:-16}}
.prod-scene__label{animation:svgLabel 4s ease-in-out infinite}
@keyframes svgLabel{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.prod-scene__convey{animation:svgConvey 8s linear infinite}
@keyframes svgConvey{0%{transform:translateX(0)}100%{transform:translateX(160px)}}
.prod-scene__float2{animation:svgFloat2 4s ease-in-out infinite .5s}
.prod-scene__float3{animation:svgFloat2 4s ease-in-out infinite 1s}
@keyframes svgFloat2{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.prod-scene__truck{animation:svgTruck 7s linear infinite}
@keyframes svgTruck{0%{transform:translateX(-40px);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateX(240px);opacity:0}}
.prod-scene__pulse{animation:svgPulse 2.5s ease-in-out infinite}
@keyframes svgPulse{0%,100%{opacity:.2;r:7}50%{opacity:.5;r:9}}
.prod-scene__press{animation:svgPress 4s ease-in-out infinite;transform-origin:center top}
@keyframes svgPress{0%,100%{transform:translateY(0)}50%{transform:translateY(12px)}}
.prod-scene__temp{animation:svgTemp 3s ease-in-out infinite}
@keyframes svgTemp{0%,100%{height:15px;y:45}50%{height:30px;y:30}}
.prod-scene__check1{animation:svgCheck 3s ease-in-out infinite}
.prod-scene__check2{animation:svgCheck 3s ease-in-out infinite .5s}
.prod-scene__check3{animation:svgCheck 3s ease-in-out infinite 1s}
@keyframes svgCheck{0%,30%{opacity:0;transform:scale(0)}40%,100%{opacity:1;transform:scale(1)}}

/* Hover intensification */
.prod:hover .prod-scene{background:linear-gradient(160deg,color-mix(in srgb,var(--c) 8%,#fafbff),color-mix(in srgb,var(--c) 16%,#f0f0ff))}
.prod:hover .prod-scene__svg{filter:saturate(1.4) brightness(1.05)}
.prod:hover .prod-scene__svg *[class*="prod-scene__"]{animation-duration:1s!important}

/* Scene-rich styles for illustrations.js */
.scene-rich{position:relative;width:100%;height:100%;overflow:hidden}
.scene-rich__bg{position:absolute;inset:0;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--sr-color) 6%,transparent),transparent 70%)}
.scene-rich__grid{position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--sr-color) 8%,transparent) 1px,transparent 1px);background-size:28px 28px;opacity:.4}
.scene-rich__composition{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.scene-rich__connectors{position:absolute;inset:0;width:100%;height:100%}
.scene-rich__connector{stroke:var(--sr-color);stroke-opacity:.15;stroke-width:1.5;stroke-dasharray:6 4;fill:none}
.scene-rich__hero-icon{width:56px;height:56px;border-radius:16px;background:var(--sr-color);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;position:relative;z-index:2;box-shadow:0 8px 28px color-mix(in srgb,var(--sr-color) 30%,transparent)}
.scene-rich__node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:1}
.scene-rich__node-icon{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--sr-color) 12%,white);border:2px solid color-mix(in srgb,var(--sr-color) 20%,transparent);display:flex;align-items:center;justify-content:center;color:var(--sr-color);font-size:.8rem;transition:all .3s ease}
.scene-rich__node-label{font-size:.58rem;font-weight:600;color:var(--g500);white-space:nowrap}
.scene-rich__particle{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--sr-color);opacity:.15}
.scene-rich__status{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);font-size:.6rem;font-weight:600;color:var(--sr-color);white-space:nowrap;display:flex;align-items:center;gap:4px;background:color-mix(in srgb,var(--sr-color) 6%,white);padding:4px 12px;border-radius:50px;border:1px solid color-mix(in srgb,var(--sr-color) 12%,transparent)}
.scene-rich__status i{font-size:.55rem}

/* Scene fallback */
.scene-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative}
.scene-fallback__icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;box-shadow:0 8px 28px color-mix(in srgb,var(--fb-color) 30%,transparent)}
.scene-fallback__ripple{position:absolute;width:80px;height:80px;border-radius:50%;border:2px solid var(--fb-color);opacity:.2;animation:svgPing 2.5s ease-out infinite}

/* Scene animation container (detail overlay) */
.scene-wrapper{position:relative;width:100%;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--scene-color) 4%,#fafbff),color-mix(in srgb,var(--scene-color) 10%,#f0f0ff))}
.scene-container{width:100%;display:flex;flex-direction:column}
.scene-container .scene-svg{width:100%;display:block;flex-shrink:0}
.scene-info{padding:12px 24px 14px;display:flex;align-items:center;gap:16px;background:color-mix(in srgb,var(--scene-color) 4%,#f8f9ff);border-top:1px solid color-mix(in srgb,var(--scene-color) 8%,transparent);border-radius:0 0 12px 12px}
.scene-caption{flex:1;font-size:.8rem;font-weight:600;color:var(--g600);min-height:1.2em}
.scene-progress{width:120px;height:4px;border-radius:4px;background:rgba(0,0,0,.06);overflow:hidden;flex-shrink:0}
.scene-bar{height:100%;width:0%;border-radius:4px;transition:width .7s ease}

/* Process flow animation cards */
.wms-pf{position:relative;width:100%;height:100%;overflow:hidden;padding:16px 12px}
.wms-pf__zones{display:flex;gap:8px;margin-bottom:12px;padding:0 4px;flex-wrap:wrap}
.wms-pf__zone{font-size:.6rem;font-weight:700;padding:3px 10px;border-radius:50px;background:color-mix(in srgb,var(--zc) 10%,white);color:var(--zc);border:1px solid color-mix(in srgb,var(--zc) 18%,transparent);display:flex;align-items:center;gap:4px}
.wms-pf__zone i{font-size:.55rem}
.wms-pf__track{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:12px 4px 16px;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}
.wms-pf__track::-webkit-scrollbar{display:none}
.wms-pf__card{min-width:140px;max-width:160px;padding:14px 12px;border-radius:12px;background:rgba(255,255,255,.85);border:1.5px solid rgba(0,0,0,.06);text-align:center;cursor:pointer;flex-shrink:0;transition:all .35s ease;backdrop-filter:blur(6px)}
.wms-pf__card.pf-active{border-color:color-mix(in srgb,var(--sc) 25%,transparent);box-shadow:0 6px 24px color-mix(in srgb,var(--sc) 15%,transparent)}
.wms-pf__num{font-size:.55rem;font-weight:800;color:var(--sc);opacity:.5;margin-bottom:4px}
.wms-pf__icon{width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--sc) 12%,white);color:var(--sc);display:flex;align-items:center;justify-content:center;font-size:.85rem;margin:0 auto 6px}
.wms-pf__title{font-size:.7rem;font-weight:700;color:var(--dk);margin-bottom:2px}
.wms-pf__desc{font-size:.58rem;color:var(--g500);line-height:1.3}
.wms-pf__ztag{font-size:.48rem;font-weight:700;color:var(--sc);opacity:.5;margin-top:6px;text-transform:uppercase;letter-spacing:.5px}
.wms-pf__conn{font-size:.75rem;color:var(--g400);flex-shrink:0;transition:all .3s ease}
.wms-pf__conn.pf-lit{color:var(--pri)}

/* ===== ANIMATED DETAIL OVERLAY ===== */
.detail{position:fixed;inset:0;z-index:200;background:var(--wh);overflow-y:auto;opacity:0;visibility:hidden;transform:scale(1.02);transition:opacity .4s ease,transform .4s ease,visibility .4s;will-change:transform,opacity}
.detail.open{opacity:1;visibility:visible;transform:scale(1)}
.detail__topbar{position:sticky;top:0;z-index:210;padding:14px 24px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--g200)}
.detail__back{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border-radius:50px;border:1.5px solid var(--g200);background:var(--wh);cursor:pointer;font-family:inherit;font-size:.84rem;font-weight:600;color:var(--dk);transition:var(--tr)}
.detail__back:hover{border-color:var(--pri);color:var(--pri);background:rgba(123,45,142,.04);transform:translateX(-3px)}
.detail__back i{font-size:.78rem}

.detail__hero{position:relative;padding:48px 24px 60px;text-align:center;overflow:hidden}
.detail__hero-bg{position:absolute;inset:0;opacity:.1;background:radial-gradient(ellipse at 50% 0%,var(--detail-color,#7b2d8e) 0%,transparent 65%)}
.detail__hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.03) 0%,transparent 40%)}
.detail__hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,var(--wh),transparent)}
.detail__hero-content{position:relative;z-index:1;max-width:600px;margin:0 auto}
.detail__bigicon{width:88px;height:88px;margin:0 auto 22px;border-radius:22px;display:flex;align-items:center;justify-content:center;font-size:2.1rem;color:#fff;opacity:0;transform:scale(0) rotate(-20deg);transition:opacity .6s ease,transform .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 12px 36px rgba(0,0,0,.15)}
.detail.open .detail__bigicon{opacity:1;transform:scale(1) rotate(0)}
.detail__title{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;opacity:0;transform:translateY(20px);transition:opacity .5s ease .15s,transform .5s ease .15s}
.detail.open .detail__title{opacity:1;transform:translateY(0)}
.detail__tagline{font-size:1rem;color:var(--g500);margin-top:8px;line-height:1.6;opacity:0;transform:translateY(16px);transition:opacity .5s ease .3s,transform .5s ease .3s}
.detail.open .detail__tagline{opacity:1;transform:translateY(0)}

.detail__section{max-width:960px;margin:0 auto;padding:0 24px 48px}
.detail__label{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:var(--g400);margin-bottom:24px;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px}
.detail__label i{font-size:.7rem}

/* Animated Timeline Flow */
.timeline{position:relative;padding:20px 0}
.timeline__track{position:absolute;top:52px;left:10%;right:10%;height:3px;background:var(--g200);border-radius:3px;z-index:0}
.timeline__fill{height:100%;width:0;border-radius:3px;background:var(--detail-color,var(--pri));transition:width .6s ease;box-shadow:0 0 12px color-mix(in srgb,var(--detail-color,var(--pri)) 30%,transparent)}
.timeline__nodes{display:flex;justify-content:space-between;position:relative;z-index:1;padding:0 5%}

.tnode{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;max-width:140px;opacity:0;transform:translateY(24px) scale(.85);transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}
.tnode.show{opacity:1;transform:translateY(0) scale(1)}
.tnode__num{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;color:#fff;background:var(--g300);transition:background .4s ease,box-shadow .4s ease}
.tnode.show .tnode__num{background:var(--detail-color,var(--pri));box-shadow:0 2px 8px color-mix(in srgb,var(--detail-color,var(--pri)) 25%,transparent)}
.tnode__icon{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.35rem;color:#fff;position:relative;box-shadow:0 8px 24px rgba(0,0,0,.1);transition:box-shadow .4s ease,transform .4s ease}
.tnode.show .tnode__icon{animation:tnodePulse 2.8s ease-in-out infinite}
.tnode:hover .tnode__icon{transform:scale(1.1) rotate(-5deg);box-shadow:0 10px 32px rgba(0,0,0,.15)}
.tnode__icon::before{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px dashed color-mix(in srgb,var(--detail-color,var(--pri)) 15%,transparent);animation:spin 10s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes tnodePulse{0%,100%{box-shadow:0 8px 24px rgba(0,0,0,.1)}50%{box-shadow:0 8px 28px color-mix(in srgb,var(--detail-color,var(--pri)) 25%,transparent),0 0 40px color-mix(in srgb,var(--detail-color,var(--pri)) 10%,transparent)}}
.tnode__label{font-size:.78rem;font-weight:700;color:var(--dk);text-align:center;line-height:1.3}
.tnode__icon::after{content:'';position:absolute;inset:-12px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--detail-color,var(--pri)) 8%,transparent) 0%,transparent 70%);opacity:0;transition:opacity .5s ease}
.tnode.show .tnode__icon::after{opacity:1}

/* Benefit Cards */
.detail__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bcard{background:var(--wh);border-radius:var(--rl);padding:24px 20px;border:1px solid var(--g200);opacity:0;transform:translateY(24px);transition:opacity .4s ease,transform .4s ease,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}
.bcard.show{opacity:1;transform:translateY(0)}
.bcard:hover{border-color:color-mix(in srgb,var(--bcard-color,var(--pri)) 25%,transparent);box-shadow:0 8px 28px rgba(0,0,0,.06);transform:translateY(-4px)}
.bcard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--bcard-color,var(--pri));opacity:0;transition:opacity .3s}
.bcard:hover::before{opacity:1}
.bcard__icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;margin-bottom:14px;transition:var(--tr)}
.bcard:hover .bcard__icon{transform:scale(1.08) rotate(-4deg)}
.bcard__title{font-size:.88rem;font-weight:700;color:var(--dk);margin-bottom:6px}
.bcard__desc{font-size:.78rem;color:var(--g500);line-height:1.6}

.detail__cta{text-align:center;padding:0 24px 64px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;opacity:0;transform:translateY(16px);transition:opacity .5s ease 1.5s,transform .5s ease 1.5s}
.detail.open .detail__cta{opacity:1;transform:translateY(0)}

/* ===== SERVICES ===== */
.services{padding:90px 0;background:var(--g50);position:relative}
.services::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(123,45,142,.03),transparent 60%),radial-gradient(ellipse at 80% 50%,rgba(217,70,239,.02),transparent 60%);pointer-events:none}
.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative}
.svc{padding:0 24px 28px;background:var(--wh);border-radius:var(--rxl);border:1px solid var(--g200);transition:all .45s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}
.svc__accent{height:4px;background:var(--grad);border-radius:0;margin:0 -24px 24px;opacity:.4;transition:opacity .4s ease}
.svc:hover .svc__accent{opacity:1}
.svc__line{height:2px;margin:16px 0 0;background:linear-gradient(90deg,transparent,rgba(123,45,142,.06),transparent);border-radius:2px;transition:all .4s ease}
.svc:hover .svc__line{background:linear-gradient(90deg,transparent,rgba(123,45,142,.15),transparent)}
.svc:hover{border-color:rgba(123,45,142,.12);box-shadow:0 20px 60px rgba(0,0,0,.06);transform:translateY(-8px)}
.svc__icon{width:56px;height:56px;margin:0 auto 16px;border-radius:16px;background:rgba(123,45,142,.06);display:flex;align-items:center;justify-content:center;color:var(--pri);font-size:1.3rem;transition:all .45s cubic-bezier(.34,1.56,.64,1);position:relative}
.svc__icon::after{content:'';position:absolute;inset:-4px;border-radius:20px;background:var(--grad);opacity:0;filter:blur(12px);transition:opacity .4s;z-index:-1}
.svc:hover .svc__icon{background:var(--grad);color:#fff;transform:scale(1.15) rotate(-5deg);box-shadow:0 8px 28px rgba(123,45,142,.25)}
.svc:hover .svc__icon::after{opacity:.3}
.svc h4{font-size:.95rem;font-weight:700;margin-bottom:6px}
.svc p{font-size:.82rem;color:var(--g500);line-height:1.55}

/* ===== TRUST ===== */
.trust{padding:32px 0;background:var(--wh);border-top:1px solid var(--g200);border-bottom:1px solid var(--g200)}
.trust__inner{display:flex;justify-content:center;gap:44px;flex-wrap:wrap}
.trust__item{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.84rem;color:var(--g600);transition:all .3s ease}
.trust__item:hover{color:var(--pri);transform:translateY(-2px)}
.trust__item i{color:var(--pri);font-size:.9rem;transition:transform .3s ease}
.trust__item:hover i{transform:scale(1.2)}

/* ===== ABOUT ===== */
.about{padding:90px 0;background:var(--g50);position:relative;overflow:hidden}
.about::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(123,45,142,.04),transparent 70%);border-radius:50%;pointer-events:none;animation:float1 12s ease-in-out infinite}
@keyframes float1{0%,100%{transform:translate(0,0)}50%{transform:translate(-20px,20px)}}
.about__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.about__left .tag{margin-bottom:10px;margin-left:0;margin-right:0}
.about__left h2{font-size:1.9rem;font-weight:800;margin-bottom:16px;letter-spacing:-.02em}
.about__left p{font-size:.9rem;color:var(--g500);line-height:1.75;margin-bottom:20px}
.about__checks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.about__checks div{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:500;color:var(--dk2);transition:all .3s ease}
.about__checks div:hover{color:var(--pri);transform:translateX(4px)}
.about__checks i{color:var(--pri);font-size:.8rem}
.about__right{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.about__stat{background:var(--wh);backdrop-filter:blur(12px);border-radius:var(--rxl);padding:32px 20px;text-align:center;border:1px solid var(--g200);transition:all .45s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}
.about__stat::before{content:'';position:absolute;inset:0;background:var(--grad);opacity:0;transition:opacity .4s ease}
.about__stat::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(123,45,142,.2),transparent);opacity:0;transition:opacity .4s}
.about__stat:hover{transform:translateY(-8px);box-shadow:0 16px 48px rgba(123,45,142,.1);border-color:rgba(123,45,142,.15)}
.about__stat:hover::before{opacity:.04}
.about__stat:hover::after{opacity:1}
.about__num{font-size:2.4rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}
.about__lbl{font-size:.8rem;color:var(--g500);font-weight:500;margin-top:4px;position:relative}

/* ===== CTA — Animated Gradient ===== */
.cta{padding:72px 0;background:var(--grad);background-size:200% 200%;animation:ctaGradient 6s ease-in-out infinite;position:relative;overflow:hidden}
@keyframes ctaGradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(255,255,255,.08),transparent 60%)}
.cta::after{content:'';position:absolute;top:-50%;right:-20%;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,.03);animation:ctaFloat 8s ease-in-out infinite}
@keyframes ctaFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-30px,20px) scale(1.1)}}

.cta__particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.cta__particle{position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}
.cta__particle--1{width:6px;height:6px;top:20%;left:10%;animation:ctaParticle1 8s ease-in-out infinite}
.cta__particle--2{width:4px;height:4px;top:60%;left:20%;animation:ctaParticle2 10s ease-in-out infinite .5s}
.cta__particle--3{width:8px;height:8px;top:30%;right:15%;animation:ctaParticle1 12s ease-in-out infinite 1s}
.cta__particle--4{width:5px;height:5px;bottom:25%;left:40%;animation:ctaParticle2 9s ease-in-out infinite 1.5s}
.cta__particle--5{width:3px;height:3px;top:15%;right:30%;animation:ctaParticle1 11s ease-in-out infinite 2s}
.cta__particle--6{width:7px;height:7px;bottom:20%;right:25%;animation:ctaParticle2 7s ease-in-out infinite 2.5s}
@keyframes ctaParticle1{0%,100%{transform:translate(0,0);opacity:.3}25%{transform:translate(20px,-30px);opacity:.8}50%{transform:translate(-10px,-60px);opacity:.4}75%{transform:translate(15px,-20px);opacity:.6}}
@keyframes ctaParticle2{0%,100%{transform:translate(0,0);opacity:.2}33%{transform:translate(-25px,-40px);opacity:.7}66%{transform:translate(10px,-80px);opacity:.3}}

.cta__inner{text-align:center;position:relative;z-index:1}
.cta__inner h2{font-size:1.9rem;font-weight:800;color:#fff;margin-bottom:10px;letter-spacing:-.02em}
.cta__inner>p{font-size:.92rem;color:rgba(255,255,255,.55);margin-bottom:28px}
.cta__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ===== CLIENTS ===== */
.clients{padding:90px 0;background:linear-gradient(160deg,#f0f0ff 0%,#f5f3ff 40%,#f0f7ff 100%);position:relative;overflow:hidden}
.clients::before{content:'';position:absolute;top:-100px;left:-100px;width:380px;height:380px;background:radial-gradient(circle,rgba(123,45,142,.07),transparent 70%);border-radius:50%;pointer-events:none}
.clients::after{content:'';position:absolute;bottom:-80px;right:-80px;width:320px;height:320px;background:radial-gradient(circle,rgba(217,70,239,.05),transparent 70%);border-radius:50%;pointer-events:none}
.cl-stats{display:flex;justify-content:center;align-items:center;gap:0;margin-bottom:52px;background:linear-gradient(135deg,rgba(123,45,142,.04),rgba(168,85,247,.03));border:1px solid rgba(123,45,142,.1);border-radius:16px;padding:28px 16px;box-shadow:var(--shadow-sm)}
.cl-stats__item{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;gap:2px}
.cl-stats__item i{font-size:1rem;color:var(--pri);margin-bottom:6px;opacity:.7}
.cl-stats__num{font-size:2rem;font-weight:800;display:inline;line-height:1;background:linear-gradient(135deg,#7b2d8e,#d946ef);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.cl-stats__item span{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#7b2d8e,#d946ef);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.cl-stats__label{font-size:.68rem;color:var(--g500);text-transform:uppercase;letter-spacing:1.2px;font-weight:600;margin-top:2px}
.cl-stats__sep{width:1px;height:48px;background:rgba(123,45,142,.1);flex-shrink:0}
.cl-industries{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cl-ind{position:relative;background:rgba(255,255,255,.85);border:1px solid var(--g200);border-radius:var(--rxl);padding:28px 22px 24px;cursor:default;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}
.cl-ind::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--c);border-radius:20px 20px 0 0;transform:scaleX(0);transition:transform .4s cubic-bezier(.4,0,.2,1)}
.cl-ind:hover{border-color:color-mix(in srgb,var(--c) 25%,transparent);box-shadow:0 16px 48px rgba(0,0,0,.08),0 0 0 1px color-mix(in srgb,var(--c) 8%,transparent);transform:translateY(-6px)}
.cl-ind:hover::before{transform:scaleX(1)}
.cl-ind__icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--c);background:color-mix(in srgb,var(--c) 8%,white);margin-bottom:16px;transition:all .4s cubic-bezier(.34,1.56,.64,1)}
.cl-ind:hover .cl-ind__icon{background:var(--c);color:#fff;transform:scale(1.1) rotate(-5deg);box-shadow:0 6px 20px color-mix(in srgb,var(--c) 30%,transparent)}
.cl-ind__name{font-size:1rem;font-weight:700;color:var(--dk);margin-bottom:4px}
.cl-ind__count{font-size:.72rem;font-weight:600;color:var(--c);margin-bottom:14px;display:inline-flex;align-items:center;gap:4px}
.cl-ind__tags{display:flex;flex-wrap:wrap;gap:6px}
.cl-ind__tag{font-size:.62rem;font-weight:500;color:var(--g500);background:var(--g100);padding:4px 10px;border-radius:50px;line-height:1;border:1px solid var(--g200);transition:all .3s ease}
.cl-ind:hover .cl-ind__tag{border-color:color-mix(in srgb,var(--c) 15%,transparent);background:color-mix(in srgb,var(--c) 5%,white);color:color-mix(in srgb,var(--c) 70%,var(--dk))}

/* ===== CONTACT ===== */
.contact{padding:90px 0;background:var(--g50);position:relative;overflow:hidden}
.contact::before{content:'';position:absolute;top:-120px;right:-120px;width:400px;height:400px;background:radial-gradient(circle,rgba(123,45,142,.08),transparent 70%);border-radius:50%;pointer-events:none}
.contact::after{content:'';position:absolute;bottom:-100px;left:-100px;width:350px;height:350px;background:radial-gradient(circle,rgba(217,70,239,.06),transparent 70%);border-radius:50%;pointer-events:none}
.contact__grid{display:grid;grid-template-columns:1fr 1.5fr;gap:36px;align-items:flex-start;position:relative;z-index:1}
.contact__left{display:flex;flex-direction:column;gap:20px}
.contact__info{display:flex;flex-direction:column;gap:12px}
.contact__card{display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--wh);border-radius:14px;border:1px solid var(--g200);transition:all .35s ease;box-shadow:var(--shadow-sm)}
.contact__card:hover{border-color:rgba(123,45,142,.15);box-shadow:0 8px 28px rgba(0,0,0,.07);transform:translateY(-2px)}
.contact__card>i{color:#fff;font-size:1rem;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#7b2d8e,#a855f7);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 16px rgba(123,45,142,.2)}
.contact__card small{font-size:.65rem;color:var(--g400);text-transform:uppercase;font-weight:600;letter-spacing:.8px;display:block;margin-bottom:2px}
.contact__card a,.contact__card p{font-size:.88rem;font-weight:600;color:var(--dk)}
.contact__card a:hover{color:var(--pri)}
.contact__map{border-radius:14px;overflow:hidden;border:1px solid var(--g200);box-shadow:var(--shadow-md)}
.contact__form{background:var(--wh);padding:32px;border-radius:20px;border:1px solid var(--g200);display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-md);transition:box-shadow .3s ease}
.contact__form:focus-within{box-shadow:0 12px 40px rgba(123,45,142,.1)}
.contact__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact__form input,.contact__form select,.contact__form textarea{padding:13px 16px;border:1.5px solid var(--g200);border-radius:10px;font-family:inherit;font-size:.88rem;color:var(--dk);background:var(--g50);transition:all .3s ease;outline:none;width:100%}
.contact__form input:focus,.contact__form select:focus,.contact__form textarea:focus{border-color:var(--pri);box-shadow:0 0 0 3px rgba(123,45,142,.08);background:#fff;transform:translateY(-1px)}
.contact__form input::placeholder,.contact__form textarea::placeholder{color:var(--g400)}
.contact__form textarea{resize:vertical;min-height:80px}
.form__group{display:flex;flex-direction:column;gap:4px}
.form__label{font-size:.78rem;font-weight:600;color:var(--g600)}
.contact__form .btn--solid{background:var(--grad);box-shadow:0 4px 16px rgba(123,45,142,.3)}
.contact__form .btn--solid:hover{box-shadow:0 8px 28px rgba(123,45,142,.4)}
.form__req{color:#ef4444}
.form__error{font-size:.72rem;font-weight:500;color:#ef4444;min-height:16px;transition:var(--tr)}
.contact__form input.invalid,.contact__form select.invalid,.contact__form textarea.invalid{border-color:#ef4444;background:rgba(239,68,68,.02)}
.contact__form input.invalid:focus,.contact__form select.invalid:focus,.contact__form textarea.invalid:focus{box-shadow:0 0 0 3px rgba(239,68,68,.08)}
.contact__form input.valid,.contact__form select.valid,.contact__form textarea.valid{border-color:#22c55e}
.form__success{display:none;text-align:center;padding:40px 20px}
.form__success.show{display:block;animation:scaleIn .5s ease both}
.form__success i{font-size:2.5rem;color:#22c55e;margin-bottom:12px}
.form__success h4{font-size:1.1rem;font-weight:700;margin-bottom:6px}
.form__success p{font-size:.85rem;color:var(--g500)}

/* ===== FOOTER ===== */
.footer{background:#140e28;padding:0;color:rgba(255,255,255,.55);position:relative}
.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#7b2d8e,#a855f7,#d946ef,#a855f7,#7b2d8e);background-size:200% 100%;animation:footerShimmer 4s linear infinite}
@keyframes footerShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Main Grid */
.footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:36px;padding:40px 0 28px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer__brand .nav__logo{margin-bottom:10px}
.footer__brand .nav__logo strong{color:#fff}
.footer__brand .nav__logo small{color:rgba(255,255,255,.4)}
.footer__brand>p{font-size:.8rem;line-height:1.7;margin-bottom:18px}

/* Social Icons */
.footer__socials{display:flex;gap:10px}
.footer__social{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:.88rem;transition:all .3s ease}
.footer__social:hover{background:var(--grad);color:#fff;transform:translateY(-3px);box-shadow:0 6px 20px rgba(123,45,142,.35)}

/* Columns */
.footer__col{display:flex;flex-direction:column;gap:10px}
.footer__col h5{color:#fff;font-size:.84rem;font-weight:700;margin-bottom:6px;position:relative;padding-bottom:10px}
.footer__col h5::after{content:'';position:absolute;bottom:0;left:0;width:24px;height:2.5px;background:var(--grad);border-radius:2px}
.footer__col a{font-size:.82rem;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:8px;transition:all .3s ease;position:relative}
.footer__col a:hover{color:#fff;transform:translateX(4px)}
.footer__col a i{font-size:.74rem;width:16px;color:var(--sec)}

/* Address */
.footer__address{font-size:.8rem;color:rgba(255,255,255,.55);line-height:1.7;display:flex;gap:8px}
.footer__address i{color:var(--sec);flex-shrink:0;margin-top:4px;font-size:.74rem}
.footer__address p{margin:0}
.footer__directions{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--sec);font-weight:600;margin-top:6px;transition:all .3s ease}
.footer__directions:hover{color:#fff;transform:translateX(4px)}
.footer__directions i{font-size:.8rem}

/* Badges */
.footer__badges{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;background:linear-gradient(135deg,rgba(123,45,142,.12),rgba(168,85,247,.08),rgba(217,70,239,.06))}
.footer__badges-row{display:flex;justify-content:center;gap:28px;flex-wrap:wrap}
.footer__badge{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#fff;padding:6px 14px;border-radius:50px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);transition:all .3s ease}
.footer__badge:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(123,45,142,.2);background:rgba(255,255,255,.1)}
.footer__badge i{font-size:.82rem;background:linear-gradient(135deg,#7b2d8e,#d946ef);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.footer__badge span{font-weight:600;letter-spacing:.3px}

/* Bottom Bar */
.footer__bottom{padding:18px 0;font-size:.75rem}
.footer__bottom-inner{display:flex;align-items:center;justify-content:space-between}
.footer__legal{display:flex;align-items:center;gap:8px}
.footer__legal a{color:rgba(255,255,255,.55);transition:color .3s}
.footer__legal a:hover{color:#fff}
.footer__legal-sep{color:rgba(255,255,255,.2)}

.totop{position:fixed;bottom:24px;right:24px;width:42px;height:42px;background:var(--grad);border:none;border-radius:50%;color:#fff;font-size:.85rem;cursor:pointer;z-index:99;opacity:0;visibility:hidden;transform:translateY(12px);transition:var(--tr);box-shadow:0 4px 20px rgba(123,45,142,.3)}
.totop.show{opacity:1;visibility:visible;transform:translateY(0)}
.totop:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(123,45,142,.4)}

/* ===== DOT NAVIGATION ===== */
.dot-nav{position:fixed;right:28px;top:50%;transform:translateY(-50%);z-index:98;display:flex;flex-direction:column;align-items:center;gap:0;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.dot-nav.show{opacity:1;visibility:visible}
.dot-nav__track{position:absolute;top:0;bottom:0;width:2px;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,rgba(123,45,142,.08),rgba(123,45,142,.2),rgba(123,45,142,.08));border-radius:2px;z-index:0}
.dot-nav__item{position:relative;display:flex;align-items:center;padding:14px 0;cursor:pointer;text-decoration:none;z-index:1}
.dot-nav__dot{width:12px;height:12px;border-radius:50%;background:var(--wh);border:2px solid var(--g300);transition:all .35s cubic-bezier(.34,1.56,.64,1);position:relative;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.dot-nav__item:hover .dot-nav__dot{border-color:var(--pri);transform:scale(1.25);box-shadow:0 0 0 4px rgba(123,45,142,.08)}
.dot-nav__item.active .dot-nav__dot{background:var(--pri);border-color:var(--pri);transform:scale(1.3);box-shadow:0 0 0 6px rgba(123,45,142,.1),0 0 20px rgba(123,45,142,.15)}
.dot-nav__item.active .dot-nav__dot::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1.5px solid rgba(123,45,142,.15);animation:dotNavPulse 2s ease-in-out infinite}
@keyframes dotNavPulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.4);opacity:0}}
.dot-nav__label{position:absolute;right:24px;background:var(--dk);color:#fff;padding:5px 14px;border-radius:6px;font-size:.7rem;font-weight:600;white-space:nowrap;opacity:0;transform:translateX(8px);transition:all .25s ease;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.dot-nav__label::after{content:'';position:absolute;right:-4px;top:50%;transform:translateY(-50%);border:4px solid transparent;border-left-color:var(--dk)}
.dot-nav__item:hover .dot-nav__label{opacity:1;transform:translateX(0)}

/* ===== SCROLL ANIMATIONS ===== */
.anim{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.anim.show{opacity:1;transform:translateY(0)}

/* ===== GLOBAL OVERFLOW PREVENTION ===== */
html,body{overflow-x:hidden;max-width:100vw}
*{max-width:100%}
img,svg,video,iframe{max-width:100%;height:auto}

/* ===== RESPONSIVE ===== */

/* --- Tablet landscape --- */
@media(max-width:1024px){
    .wrap{padding:0 20px}
    .orbit{height:360px}
    .orbit__card{width:105px;padding:8px 8px 8px}
    .orbit__shape{height:44px;margin-bottom:2px}
    .orbit__icon{font-size:.95rem;margin-top:-22px;margin-bottom:4px}
    .orbit__title{font-size:.58rem}
    .orbit__caption{font-size:.46rem}
    .hero h1{font-size:2.2rem}
    .products__grid{grid-template-columns:repeat(3,1fr);gap:16px}
    .services__grid{grid-template-columns:repeat(2,1fr)}
    .about__grid{grid-template-columns:1fr;gap:36px}
    .footer__inner{grid-template-columns:1fr 1fr}
    .cl-industries{grid-template-columns:repeat(3,1fr)}
    .detail__cards{grid-template-columns:repeat(2,1fr)}
    .contact__grid{grid-template-columns:1fr 1.3fr;gap:28px}
}

/* --- Tablet portrait / Large phones --- */
@media(max-width:768px){
    .wrap{padding:0 16px}
    .dot-nav{display:none!important}

    /* Nav */
    .nav{backdrop-filter:blur(16px)}
    .nav__inner{height:60px}
    .nav__links,.nav__cta{display:none}
    .nav__burger{display:flex}
    .nav__logo-img{width:32px;height:32px;border-radius:8px}
    .nav__logo strong{font-size:1.05rem}
    .nav__logo small{font-size:.58rem}
    .nav__logo{gap:8px}
    .nav__links.open{display:flex;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);padding:8px 0;box-shadow:0 16px 48px rgba(0,0,0,.12);border-top:1px solid var(--g200);z-index:100;gap:0}
    .nav__links.open li{border-bottom:1px solid var(--g100)}
    .nav__links.open li:last-child{border-bottom:none}
    .nav__links.open a{display:flex;align-items:center;padding:15px 20px;font-size:.95rem;font-weight:500;color:var(--dk);border-radius:0}
    .nav__links.open a::after{display:none}
    .nav__links.open a:hover,.nav__links.open a:active{color:var(--pri);background:rgba(123,45,142,.04)}

    /* Hero */
    html{scroll-padding-top:60px}
    .hero{padding:76px 16px 24px;min-height:auto}
    .hero h1{font-size:1.65rem;line-height:1.15}
    .hero h1 br{display:none}
    .hero__content{margin-bottom:10px}
    .hero__sub{font-size:.88rem;margin-bottom:1rem;max-width:100%}
    .hero__badge{font-size:.72rem;padding:5px 14px;margin-bottom:.8rem}
    .hero__actions{gap:10px;margin-top:14px}
    .hero__actions .btn{padding:11px 22px;font-size:.82rem}

    /* Orbit — replaced by mobile product strip on phones */
    .orbit{height:auto!important;min-height:0;margin-top:0;max-width:100%;overflow:hidden}
    .orbit__paths,.orbit__hub{display:none}
    .orbit__card{display:none}

    /* Section headings + spacing */
    .products,.services,.about,.clients,.contact{padding:56px 0}
    .sec-head{margin-bottom:32px}
    .sec-head h2{font-size:1.45rem}
    .sec-head h2::after{width:40px;bottom:-8px}
    .sec-head p{font-size:.84rem;padding:0 8px}
    .sec-head__sub{font-size:.9rem}

    /* Products grid */
    .products__grid{grid-template-columns:repeat(2,1fr);gap:12px}
    .prod{border-radius:14px}
    .prod-scene{height:115px;border-radius:14px 14px 0 0}
    .prod-scene__icon{width:42px;height:42px;font-size:1.1rem;border-radius:11px}
    .prod h4{font-size:.82rem;margin:10px 12px 4px}
    .prod__desc{font-size:.7rem;margin:0 12px;-webkit-line-clamp:2}
    .prod__divider{margin:10px 12px 8px}
    .prod__tap{font-size:.68rem;padding:0 12px}

    /* Detail overlay - full mobile */
    .detail__topbar{padding:10px 16px}
    .detail__hero{padding:28px 16px 32px}
    .detail__title{font-size:1.35rem}
    .detail__tagline{font-size:.85rem;line-height:1.55}
    .detail__bigicon{width:68px;height:68px;font-size:1.6rem;border-radius:18px}
    .detail__back{font-size:.78rem;padding:7px 14px}
    .detail__cards{grid-template-columns:1fr;gap:12px}
    .detail__section{padding:0 16px 32px;max-width:100%}
    .detail__cta{padding:0 16px 44px;gap:10px}
    .detail__label{font-size:.7rem;margin-bottom:16px}
    .bcard{padding:18px 16px}
    .bcard__icon{width:38px;height:38px;font-size:.95rem;border-radius:10px;margin-bottom:10px}
    .bcard__title{font-size:.84rem}
    .bcard__desc{font-size:.74rem}

    /* Timeline / flow - horizontal scroll */
    .timeline{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:16px 16px 20px;scrollbar-width:none}
    .timeline::-webkit-scrollbar{display:none}
    .timeline__track{top:40px;left:5%;right:5%}
    .timeline__nodes{min-width:480px;padding:0 4%}
    .tnode{max-width:110px}
    .tnode__icon{width:44px;height:44px;font-size:.95rem}
    .tnode__icon::before{display:none}
    .tnode__num{width:18px;height:18px;font-size:.55rem}
    .tnode__label{font-size:.64rem}

    /* Scene wrapper in detail */
    .scene-wrapper{border-radius:12px}
    .scene-container .scene-svg{max-height:280px}
    .scene-info{padding:10px 16px 12px}
    .scene-caption{font-size:.72rem}

    /* Services */
    .services__grid{grid-template-columns:1fr 1fr;gap:12px}
    .svc{padding:0 16px 20px;border-radius:14px}
    .svc__accent{margin:0 -16px 18px}
    .svc__icon{width:44px;height:44px;font-size:1rem;margin-bottom:12px;border-radius:12px}
    .svc h4{font-size:.86rem}
    .svc p{font-size:.76rem}

    /* Trust */
    .trust{padding:22px 0}
    .trust__inner{gap:8px 18px;justify-content:center}
    .trust__item{font-size:.74rem}
    .trust__item i{font-size:.78rem}

    /* About */
    .about__grid{grid-template-columns:1fr;gap:28px}
    .about__left h2{font-size:1.35rem}
    .about__left p{font-size:.84rem}
    .about__checks{grid-template-columns:1fr 1fr;gap:8px}
    .about__checks div{font-size:.78rem}
    .about__right{gap:12px}
    .about__stat{padding:22px 14px;border-radius:14px}
    .about__num{font-size:1.9rem}
    .about__lbl{font-size:.72rem}

    /* Clients */
    .cl-stats{padding:20px 10px;border-radius:12px;gap:0}
    .cl-stats__num{font-size:1.4rem}
    .cl-stats__item span{font-size:1rem}
    .cl-stats__label{font-size:.56rem}
    .cl-stats__sep{height:40px}
    .cl-industries{grid-template-columns:repeat(2,1fr);gap:12px}
    .cl-ind{padding:18px 14px 16px;border-radius:14px}
    .cl-ind__icon{width:42px;height:42px;font-size:1rem;border-radius:11px;margin-bottom:10px}
    .cl-ind__name{font-size:.88rem}
    .cl-ind__count{font-size:.68rem;margin-bottom:10px}
    .cl-ind__tag{font-size:.58rem;padding:3px 8px}

    /* CTA */
    .cta{padding:48px 0}
    .cta__inner h2{font-size:1.35rem}
    .cta__inner>p{font-size:.84rem;margin-bottom:22px}
    .cta__btns{gap:10px}

    /* Contact */
    .contact__grid{grid-template-columns:1fr;gap:20px}
    .contact__row{grid-template-columns:1fr}
    .contact__form{padding:22px 16px;border-radius:16px;gap:12px}
    .contact__form input,.contact__form select,.contact__form textarea{padding:12px 14px;font-size:.86rem;border-radius:10px}
    .contact__card{padding:14px 16px;gap:14px}
    .contact__card>i{width:36px;height:36px;font-size:.88rem;border-radius:10px}
    .contact__card small{font-size:.62rem}
    .contact__card a,.contact__card p{font-size:.84rem}
    .contact__map{border-radius:12px}

    /* Footer */
    .footer__inner{grid-template-columns:1fr;gap:24px;padding:28px 0 18px}
    .footer__brand>p{font-size:.76rem}
    .footer__socials{justify-content:center}
    .footer__col h5{font-size:.8rem}
    .footer__col a{font-size:.78rem}
    .footer__badges{padding:14px 0}
    .footer__badges-row{gap:8px 14px}
    .footer__badge{font-size:.7rem;padding:5px 10px}
    .footer__badge i{font-size:.68rem}
    .footer__bottom{font-size:.66rem;padding:12px 0}
    .footer__bottom-inner{flex-direction:column;gap:8px;text-align:center}

    /* Buttons */
    .btn{padding:11px 22px;font-size:.82rem}
    .btn--pri,.btn--ghost{padding:12px 24px;font-size:.82rem}

    /* Totop */
    .totop{bottom:16px;right:16px;width:38px;height:38px;font-size:.75rem}
}

/* --- Phones (480px) --- */
@media(max-width:480px){
    .wrap{padding:0 14px}

    /* Nav */
    .nav__inner{height:56px}
    .nav__logo-img{width:30px;height:30px}
    .nav__logo strong{font-size:1rem}
    .nav__logo small{font-size:.55rem}
    .nav__links.open{top:56px}
    .nav__links.open a{padding:13px 18px;font-size:.9rem}

    /* Hero */
    .hero{padding:68px 14px 16px}
    .hero h1{font-size:1.35rem;line-height:1.2}
    .hero__sub{font-size:.82rem;line-height:1.55}
    .hero__badge{font-size:.68rem;padding:4px 12px}
    .hero__actions{flex-direction:column;align-items:stretch;gap:8px;margin-top:12px;padding:0 10px}
    .hero__actions .btn{width:100%;justify-content:center;padding:12px 20px;font-size:.82rem}

    /* Mobile strip refinements */
    .mobile-products__card{flex:0 0 140px;padding:16px 12px}
    .mobile-products__icon{font-size:1.3rem;margin-bottom:6px}
    .mobile-products__card h4{font-size:12px}
    .mobile-products__card p{font-size:10px}

    /* Sections */
    .products,.services,.about,.clients,.contact{padding:40px 0}
    .sec-head{margin-bottom:24px}
    .sec-head h2{font-size:1.2rem}
    .sec-head h2::after{width:32px;height:2px;bottom:-7px}
    .sec-head p{font-size:.78rem;margin-top:12px}
    .sec-head__sub{font-size:.82rem}

    /* Products */
    .products__grid{grid-template-columns:1fr 1fr;gap:8px}
    .prod{border-radius:12px;padding-bottom:16px}
    .prod-scene{height:90px;border-radius:12px 12px 0 0}
    .prod-scene__icon{width:34px;height:34px;font-size:.9rem;border-radius:8px;border-width:1.5px}
    .prod h4{font-size:.74rem;margin:7px 8px 2px}
    .prod__desc{font-size:.64rem;margin:0 8px;-webkit-line-clamp:1}
    .prod__divider{margin:6px 8px 5px;height:1px}
    .prod__tap{font-size:.6rem;padding:0 8px}

    /* Detail */
    .detail__topbar{padding:8px 12px}
    .detail__back{font-size:.74rem;padding:6px 12px;gap:6px}
    .detail__hero{padding:20px 14px 24px}
    .detail__title{font-size:1.15rem}
    .detail__tagline{font-size:.78rem;line-height:1.5}
    .detail__bigicon{width:56px;height:56px;font-size:1.3rem;border-radius:14px;margin-bottom:14px}
    .detail__section{padding:0 12px 24px}
    .detail__cta{padding:0 12px 36px}
    .detail__cta .btn{width:100%}
    .detail__label{font-size:.65rem;margin-bottom:14px;letter-spacing:1.2px}
    .bcard{padding:14px 12px;border-radius:12px}
    .bcard__icon{width:34px;height:34px;font-size:.85rem;border-radius:8px;margin-bottom:8px}
    .bcard__title{font-size:.78rem;margin-bottom:4px}
    .bcard__desc{font-size:.7rem;line-height:1.5}

    /* Timeline */
    .timeline{margin:0 -14px;padding:14px 14px 18px}
    .timeline__nodes{min-width:400px;padding:0 3%}
    .timeline__track{top:32px}
    .tnode__icon{width:36px;height:36px;font-size:.82rem}
    .tnode__num{width:16px;height:16px;font-size:.48rem}
    .tnode__label{font-size:.56rem}
    .tnode{gap:5px;max-width:90px}

    /* Scene */
    .scene-container .scene-svg{max-height:220px}
    .scene-info{padding:8px 12px 10px;gap:10px}
    .scene-caption{font-size:.68rem}
    .scene-progress{width:80px;height:3px}

    /* Services */
    .services__grid{grid-template-columns:1fr;gap:10px}
    .svc{padding:0 14px 18px;border-radius:12px}
    .svc__accent{margin:0 -14px 14px}
    .svc__icon{width:42px;height:42px;font-size:.95rem;border-radius:11px;margin-bottom:10px}
    .svc h4{font-size:.84rem;margin-bottom:4px}
    .svc p{font-size:.74rem}

    /* Trust */
    .trust{padding:16px 0}
    .trust__inner{flex-direction:column;align-items:center;gap:6px}
    .trust__item{font-size:.72rem}

    /* About */
    .about__left .tag{font-size:.65rem;padding:4px 12px}
    .about__left h2{font-size:1.15rem}
    .about__left p{font-size:.8rem;margin-bottom:14px}
    .about__checks{grid-template-columns:1fr;gap:6px}
    .about__checks div{font-size:.76rem;gap:6px}
    .about__right{grid-template-columns:1fr 1fr;gap:8px}
    .about__stat{padding:18px 10px;border-radius:12px}
    .about__num{font-size:1.6rem}
    .about__lbl{font-size:.65rem}

    /* Clients */
    .cl-stats{padding:14px 6px;border-radius:10px;flex-wrap:nowrap}
    .cl-stats__num{font-size:1.1rem}
    .cl-stats__item span{font-size:.85rem}
    .cl-stats__label{font-size:.48rem;letter-spacing:.5px}
    .cl-stats__sep{height:28px}
    .cl-stats__item i{font-size:.65rem;margin-bottom:2px}
    .cl-industries{grid-template-columns:1fr 1fr;gap:8px}
    .cl-ind{padding:14px 10px 12px;border-radius:10px}
    .cl-ind__icon{width:36px;height:36px;font-size:.88rem;border-radius:9px;margin-bottom:6px}
    .cl-ind__name{font-size:.8rem}
    .cl-ind__count{font-size:.62rem;margin-bottom:6px}
    .cl-ind__tags{display:none}

    /* CTA */
    .cta{padding:36px 0}
    .cta__inner h2{font-size:1.15rem}
    .cta__inner>p{font-size:.78rem;margin-bottom:18px}
    .cta__btns{flex-direction:column;align-items:stretch;padding:0 20px;gap:8px}
    .cta__btns .btn{width:100%;justify-content:center}

    /* Contact */
    .contact__form{padding:18px 12px;border-radius:12px;gap:8px}
    .contact__form input,.contact__form select,.contact__form textarea{padding:11px 12px;font-size:.82rem;border-radius:8px}
    .contact__form textarea{min-height:60px}
    .contact__card{gap:10px;padding:12px;border-radius:12px}
    .contact__card>i{width:34px;height:34px;font-size:.82rem;border-radius:9px}
    .contact__card small{font-size:.58rem}
    .contact__card a,.contact__card p{font-size:.8rem}
    .form__label{font-size:.72rem}
    .form__error{font-size:.65rem;min-height:14px}

    /* Footer */
    .footer__inner{gap:18px;padding:24px 0 14px}
    .footer__brand .nav__logo-img{width:28px;height:28px}
    .footer__brand .nav__logo strong{font-size:.95rem}
    .footer__brand>p{font-size:.72rem}
    .footer__socials{justify-content:center}
    .footer__social{width:32px;height:32px;font-size:.78rem;border-radius:8px}
    .footer__col h5{font-size:.76rem}
    .footer__col a{font-size:.74rem}
    .footer__address{font-size:.74rem}
    .footer__directions{font-size:.74rem}
    .footer__badges{padding:12px 0}
    .footer__badges-row{flex-direction:column;align-items:center;gap:6px}
    .footer__badge{font-size:.66rem;padding:4px 10px}
    .footer__bottom{font-size:.62rem;padding:10px 0}
    .footer__bottom-inner{flex-direction:column;gap:6px;text-align:center}

    /* Buttons */
    .btn{padding:10px 18px;font-size:.78rem;border-radius:10px}
    .btn--solid{padding:11px 20px}
    .btn--pri,.btn--ghost{padding:12px 20px;font-size:.8rem;border-radius:10px}

    /* Totop */
    .totop{bottom:14px;right:14px;width:36px;height:36px;font-size:.72rem}
}

/* --- Extra small (360px and below) --- */
@media(max-width:360px){
    .wrap{padding:0 12px}
    .hero h1{font-size:1.2rem}
    .hero__sub{font-size:.78rem}
    .mobile-products{gap:10px;padding:12px 14px}
    .mobile-products__card{flex:0 0 130px;padding:14px 10px;border-radius:12px}
    .mobile-products__card h4{font-size:11px}
    .mobile-products__card p{font-size:10px}
    .products__grid{grid-template-columns:1fr;gap:10px}
    .prod{padding-bottom:14px}
    .prod-scene{height:130px}
    .prod h4{font-size:.82rem;margin:8px 12px 3px}
    .prod__desc{-webkit-line-clamp:2;margin:0 12px}
    .services__grid{gap:8px}
    .cl-industries{grid-template-columns:1fr;gap:8px}
    .cl-ind__tags{display:flex}
    .cl-stats{flex-direction:column;gap:14px;padding:18px 12px}
    .cl-stats__sep{width:50%;height:1px;margin:0 auto}
    .cl-stats__num{font-size:1.3rem}
    .cl-stats__item span{font-size:1rem}
    .about__right{grid-template-columns:1fr}
    .about__stat{padding:16px 10px}
    .contact__form{padding:16px 10px}
    .footer__badges-row{gap:5px}
}

/* ===== PREFERS REDUCED MOTION ===== */
/* Only suppress scroll-triggered & transition animations, preserve SVG scene illustrations */
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{transition-duration:.01ms!important;scroll-behavior:auto!important}
    .prod--clicking,.card--clicking,.card--pressing,.orbital-card,.hero *,.about *,.contact *,.footer *,.detail *{animation-duration:.01ms!important;animation-iteration-count:1!important}
}
