:root{--acc:#f5b301;--mx:50%;--my:40%}
html{scroll-behavior:smooth}
body{background:#0a0b0e;color:#eceef2;font-family:Inter,sans-serif;overflow-x:hidden;cursor:none}
@media (hover:none){body{cursor:auto}#cur,#curDot{position:fixed;top:0;left:0;width:8px;height:8px;background:#f5b301;border-radius:50%;pointer-events:none;z-index:81;transform:translate(-50%,-50%);box-shadow:0 0 12px rgba(245,179,1,.8);transition:opacity .25s}}
.grid-bg{background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:60px 60px}
.spot{position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px circle at var(--mx) var(--my),rgba(245,179,1,.22),transparent 60%);transition:background .15s}
.acc-text{color:var(--acc)}
.card{background:#14171d;border:1px solid #1e222a;position:relative;overflow:hidden;transform-style:preserve-3d;transition:border-color .3s,box-shadow .3s}
.card::before{content:'';position:absolute;inset:0;background:radial-gradient(400px circle at var(--cx,50%) var(--cy,50%),rgba(245,179,1,.14),transparent 45%);opacity:0;transition:opacity .3s;pointer-events:none}
.card:hover{border-color:rgba(245,179,1,.5);box-shadow:0 20px 50px -20px rgba(245,179,1,.35)}
.card:hover::before{opacity:1}
.reveal{opacity:0;transform:translateY(40px)}
.line-mask{overflow:hidden;display:block;padding-bottom:.14em;margin-bottom:-.14em;padding-right:.1em}
.line-mask>span{display:inline-block;transform:translateY(110%)}
#progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--acc);z-index:70}
#cur{position:fixed;top:0;left:0;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,rgba(245,179,1,.35) 0%,rgba(245,179,1,0) 70%);pointer-events:none;z-index:80;transform:translate(-50%,-50%);transition:width .35s,height .35s,background .35s;display:grid;place-items:center}
#curDot{position:fixed;top:0;left:0;width:8px;height:8px;background:#f5b301;border-radius:50%;pointer-events:none;z-index:81;transform:translate(-50%,-50%);box-shadow:0 0 12px rgba(245,179,1,.8);transition:opacity .25s}
body.hovering #cur{width:56px;height:56px;background:rgba(245,179,1,.92)}
body.hovering #curDot{opacity:0}
.magnet{display:inline-flex;will-change:transform}
.dash{width:36px;height:2px;background:var(--acc);display:inline-block;vertical-align:middle;margin-right:.6rem}
.svc{display:grid;gap:2rem;align-items:start}
@media(min-width:1024px){.svc{grid-template-columns:1fr 1fr}.svc:nth-child(even) .svc-text{order:2}}
.tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}
.chip{border:1px solid #1e222a;border-radius:999px;padding:.35rem .9rem;font-size:13px;color:#c7ccd5}
@media (prefers-reduced-motion:reduce){.reveal,.line-mask>span{opacity:1!important;transform:none!important}}
.spot2{position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px circle at var(--mx) var(--my),rgba(255,255,255,.05),transparent 55%)}
.marquee{display:flex;gap:4.5rem;width:max-content;animation:scroll 30s linear infinite}
.marquee:hover{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}
.star{color:#2fd37a}
.stat b{font-family:'Sora';font-size:3.2rem;line-height:1}
.rev-track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:22px 8px 34px;margin-left:-8px;margin-right:-8px;margin-bottom:-34px;scroll-padding-left:8px}
.rev-track::-webkit-scrollbar{display:none}
.rev-track>*{scroll-snap-align:start;flex:0 0 min(calc(100% - 16px),380px)}
.world{background:radial-gradient(circle at 50% 40%,rgba(245,179,1,.15),transparent 55%)}
.dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 0 rgba(245,179,1,.6);animation:ping 2.4s infinite}
@keyframes ping{70%{box-shadow:0 0 0 14px rgba(245,179,1,0)}100%{box-shadow:0 0 0 0 rgba(245,179,1,0)}}
@media (prefers-reduced-motion:reduce){.reveal,.line-mask>span{opacity:1!important;transform:none!important}.marquee{animation:none}.dot{animation:none}}

/* live order board */
.dot2{width:14px;height:14px;border-radius:50%;background:#0a0b0e;border:2px solid #2a2f38;position:relative;z-index:1;transition:border-color .3s,background .3s,box-shadow .3s}
.b-step.on{color:#eceef2}.b-step.on .dot2{border-color:var(--acc);background:var(--acc);box-shadow:0 0 0 4px rgba(245,179,1,.18)}
.b-step.done .dot2{border-color:var(--acc);background:var(--acc);box-shadow:none}
.b-row{display:flex;gap:.75rem;align-items:flex-start;font-size:12px;line-height:1.35;padding:.6rem .75rem;border-radius:.75rem;background:rgba(255,255,255,.03);border:1px solid transparent;opacity:0;transform:translateY(8px)}
.b-row b{font-family:'Sora';font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);white-space:nowrap;padding-top:2px}
.b-row.hot{border-color:rgba(245,179,1,.35);background:rgba(245,179,1,.06)}
.b-row .ok{margin-left:auto;color:#2fd37a;padding-top:1px}
/* cursor: comet trail */
#cur{position:fixed;top:0;left:0;width:12px;height:12px;border-radius:50%;background:var(--acc);box-shadow:0 0 14px rgba(245,179,1,.9);pointer-events:none;z-index:82;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s,box-shadow .3s,border .3s;border:0 solid rgba(245,179,1,.9)}
body.hovering #cur{width:46px;height:46px;background:rgba(245,179,1,.10);border-width:1.5px;box-shadow:0 0 28px rgba(245,179,1,.35),inset 0 0 18px rgba(245,179,1,.25);backdrop-filter:blur(2px)}
.trail{position:fixed;top:0;left:0;border-radius:50%;background:var(--acc);pointer-events:none;z-index:81;transform:translate(-50%,-50%)}
#curDot{display:none}
@media (hover:none){#cur,.trail{display:none}}

/* floating buttons + assistant */
#fab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
.fab-wa{position:relative;display:flex;align-items:center;gap:.6rem;background:var(--acc);color:#0a0b0e;border-radius:999px;padding:.5rem;box-shadow:0 14px 34px -10px rgba(245,179,1,.7);transition:transform .3s,padding .3s}
.fab-wa .ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#0a0b0e;color:var(--acc);flex-shrink:0}
.fab-wa .lbl{max-width:0;overflow:hidden;white-space:nowrap;font-weight:700;font-size:14px;transition:max-width .4s,padding .4s}
.fab-wa:hover .lbl,.fab-wa.show .lbl{max-width:200px;padding-right:.9rem}
.fab-wa::before{content:'';position:absolute;inset:0;border-radius:999px;border:2px solid var(--acc);animation:waping 2.2s ease-out infinite;pointer-events:none}
@keyframes waping{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.35);opacity:0}}
.fab-wa .ic svg{animation:wawiggle 3.5s ease-in-out infinite}
@keyframes wawiggle{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(-12deg)}90%{transform:rotate(10deg)}95%{transform:rotate(-6deg)}}
.fab-ai{display:flex;align-items:center;gap:.5rem;background:#14171d;border:1px solid #2a2f38;color:#eceef2;border-radius:999px;padding:.55rem .95rem .55rem .55rem;font-size:13px;font-weight:600;box-shadow:0 10px 30px -12px rgba(0,0,0,.8);transition:border-color .3s,transform .3s}
.fab-ai:hover{border-color:var(--acc);transform:translateY(-2px)}
.fab-ai .ic{width:34px;height:34px;border-radius:50%;background:var(--acc);color:#0a0b0e;display:grid;place-items:center;font-weight:800;font-family:'Sora'}
.fab-ai .dotg{width:7px;height:7px;border-radius:50%;background:#2fd37a;box-shadow:0 0 0 0 rgba(47,211,122,.6);animation:ping 2s infinite}
#chat{position:fixed;right:1.25rem;bottom:6.5rem;z-index:65;width:min(92vw,360px);background:#101217;border:1px solid #1e222a;border-radius:1.25rem;box-shadow:0 30px 80px -20px rgba(0,0,0,.9);overflow:hidden;transform:translateY(16px) scale(.98);opacity:0;pointer-events:none;transition:transform .3s,opacity .3s}
#chat.open{transform:none;opacity:1;pointer-events:auto}
#chat header{display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;border-bottom:1px solid #1e222a;background:#14171d}
#chat header .av{width:36px;height:36px;border-radius:50%;background:var(--acc);color:#0a0b0e;display:grid;place-items:center;font-weight:800;font-family:'Sora'}
#chat header b{display:block;font-size:14px}#chat header small{color:#8e96a3;font-size:11px}
#chat header button{margin-left:auto;color:#8e96a3;font-size:18px;line-height:1}
#msgs{height:300px;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem;scrollbar-width:thin}
.m{max-width:85%;padding:.6rem .8rem;border-radius:1rem;font-size:13px;line-height:1.45}
.m.bot{background:#1a1e25;border-bottom-left-radius:.3rem;align-self:flex-start}
.m.me{background:var(--acc);color:#0a0b0e;border-bottom-right-radius:.3rem;align-self:flex-end}
.m a{color:var(--acc);font-weight:600;text-decoration:underline}.m.me a{color:#0a0b0e}
.m.bot .wa{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;background:var(--acc);color:#0a0b0e!important;text-decoration:none!important;border-radius:999px;padding:.4rem .8rem;font-size:12px}
.chips{display:flex;gap:.4rem;flex-wrap:wrap;padding:0 1rem .75rem}
.chips button{font-size:11px;border:1px solid #2a2f38;border-radius:999px;padding:.3rem .7rem;color:#c7ccd5}.chips button:hover{border-color:var(--acc);color:#fff}
#chat form{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid #1e222a;background:#14171d}
#chat input{flex:1;background:#0a0b0e;border:1px solid #1e222a;border-radius:999px;padding:.55rem .9rem;font-size:13px;color:#eceef2}
#chat input:focus{outline:none;border-color:var(--acc)}
#chat form button{background:var(--acc);color:#0a0b0e;border-radius:999px;width:38px;height:38px;display:grid;place-items:center;font-weight:800}
.typing span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8e96a3;margin-right:3px;animation:tp 1s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}

/* review carousel controls */
.rev-btn{position:relative;width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(245,179,1,.6);color:var(--acc);display:grid;place-items:center;overflow:hidden;transition:border-color .3s,color .3s,transform .3s;font-size:20px}
.rev-btn::before{content:'';position:absolute;inset:0;border-radius:50%;background:var(--acc);transform:scale(0);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.rev-btn span{position:relative;z-index:1;transition:transform .3s}
.rev-btn:hover{color:#0a0b0e;border-color:var(--acc)}
.rev-btn:hover::before{transform:scale(1)}
.rev-btn:hover span{transform:translateX(3px)}
#revPrev:hover span{transform:translateX(-3px)}
.rev-btn:active{transform:scale(.94)}
.rev-btn.pulse{animation:revpulse 2.4s ease-out infinite}
@keyframes revpulse{0%{box-shadow:0 0 0 0 rgba(245,179,1,.45)}70%{box-shadow:0 0 0 12px rgba(245,179,1,0)}100%{box-shadow:0 0 0 0 rgba(245,179,1,0)}}
.rev-prog{width:140px;height:3px;border-radius:999px;background:#1e222a;overflow:hidden}
#revBar{height:100%;width:0;background:var(--acc);border-radius:999px;transition:width .4s ease}
.rev-track{scroll-behavior:smooth}

/* proximity glow on form fields */
form input:not([type=hidden]),form textarea,form select{--g:0;border-color:rgba(245,179,1,calc(.12 + var(--g)*.88))!important;box-shadow:0 0 calc(var(--g)*34px) calc(var(--g)*2px) rgba(245,179,1,calc(var(--g)*.45)),inset 0 0 calc(var(--g)*18px) rgba(245,179,1,calc(var(--g)*.12));background-color:rgba(245,179,1,calc(var(--g)*.07))!important;transition:box-shadow .15s,border-color .15s,background-color .15s}
form input:focus,form textarea:focus,form select:focus{--g:1}
form input::placeholder,form textarea::placeholder{transition:color .2s}

/* proximity glow on buttons + cursor */
.prox{--g:0}
a.prox,button.prox{box-shadow:0 0 calc(var(--g)*40px) calc(var(--g)*3px) rgba(245,179,1,calc(var(--g)*.55));transform:scale(calc(1 + var(--g)*.05))}
.fab-wa.prox{box-shadow:0 14px 34px -10px rgba(245,179,1,.7),0 0 calc(var(--g)*46px) calc(var(--g)*4px) rgba(245,179,1,calc(var(--g)*.6))}
.fab-ai.prox{border-color:rgba(245,179,1,calc(.2 + var(--g)*.8));box-shadow:0 10px 30px -12px rgba(0,0,0,.8),0 0 calc(var(--g)*36px) calc(var(--g)*2px) rgba(245,179,1,calc(var(--g)*.45))}
#cur{--p:0;box-shadow:0 0 calc(14px + var(--p)*30px) calc(var(--p)*6px) rgba(245,179,1,calc(.9 - var(--p)*.2))}

/* nav link proximity glow */
#nav nav a{--g:0;position:relative;padding:.35rem .6rem;border-radius:999px;color:rgba(236,238,242,calc(.72 + var(--g)*.28));text-shadow:0 0 calc(var(--g)*14px) rgba(245,179,1,calc(var(--g)*.9));background:rgba(245,179,1,calc(var(--g)*.12));transition:color .15s,background .15s,text-shadow .15s}
#nav nav a::after{content:'';position:absolute;left:.6rem;right:.6rem;bottom:.1rem;height:1.5px;background:var(--acc);transform:scaleX(var(--g));transform-origin:left;transition:transform .15s}
#nav nav a.text-acc{color:var(--acc)}
#nav a.flex.prox{--g:0;border-radius:.75rem;padding:.25rem .5rem;margin-left:-.5rem;box-shadow:0 0 calc(var(--g)*30px) calc(var(--g)*2px) rgba(245,179,1,calc(var(--g)*.35));background:rgba(245,179,1,calc(var(--g)*.08))}
/* golden review cards on hover */
.rev-track .card{transition:border-color .35s,box-shadow .35s,background .35s}
.rev-track .card:hover{background:linear-gradient(160deg,rgba(245,179,1,.07),rgba(245,179,1,.02) 50%,#14171d);border-color:rgba(245,179,1,.45);box-shadow:0 20px 50px -24px rgba(245,179,1,.3)}
.rev-track .card:hover h3{color:#ffd25e;transition:color .3s}
.rev-track .card:hover .star{text-shadow:0 0 8px rgba(47,211,122,.4);transition:text-shadow .3s}
.rev-track .card:hover p{color:#d8dce3;transition:color .3s}
.rev-track .card:hover .border-t{border-color:rgba(245,179,1,.2)}
/* star cursor over reviews */
body.starcur #cur{width:30px;height:30px;border-radius:0;border:0;background:var(--acc);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);box-shadow:none;filter:drop-shadow(0 0 10px rgba(245,179,1,.9))}
@keyframes starspin{to{transform:translate(-50%,-50%) rotate(360deg)}}
body.starcur .trail{opacity:0!important}

/* tracker board */
.dot2.ico{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-size:15px;background:#0a0b0e;border:1.5px solid #2a2f38;filter:grayscale(1);opacity:.5;transition:all .35s}
.b-step.on .dot2.ico,.b-step.done .dot2.ico{filter:none;opacity:1;border-color:var(--acc)}
.b-step.on .dot2.ico{box-shadow:0 0 0 4px rgba(245,179,1,.18),0 0 18px rgba(245,179,1,.4);background:rgba(245,179,1,.12)}
.b-row{display:block;position:relative;font-size:12px;line-height:1.4;padding:.55rem .75rem .55rem .8rem;border-radius:.9rem .9rem .9rem .2rem;background:#1a1e25;border:1px solid transparent;opacity:0;transform:translateY(8px)}
.b-row b{display:block;font-family:'Sora';font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:2px;white-space:nowrap}
.b-row.hot{background:rgba(245,179,1,.1);border-color:rgba(245,179,1,.35)}
.b-row .ok{position:absolute;right:.6rem;bottom:.45rem;font-size:10px;color:#2fd37a}
.b-row .ok::before{content:'✓✓ '}
#b-ship{transition:left .9s ease}

.b-step.on{color:#eceef2}.b-step.done{color:#c7ccd5}

/* reviews side decoration */
.rev-deco{position:absolute;inset:0 0 auto 0;height:420px;pointer-events:none;z-index:0}
.flag{position:absolute;display:inline-flex;align-items:center;gap:.4rem;font-size:12px;font-weight:600;color:#c7ccd5;background:rgba(20,23,29,.85);border:1px solid #1e222a;border-radius:999px;padding:.4rem .8rem;backdrop-filter:blur(4px);box-shadow:0 10px 30px -14px rgba(0,0,0,.8);animation:bob 6s ease-in-out infinite;animation-delay:var(--d);will-change:transform;opacity:0}
.flag.in{opacity:1;transition:opacity 1s}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -14px}}
.sparkle{position:absolute;width:10px;height:10px;background:var(--acc);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);opacity:0;animation:twinkle 4s ease-in-out infinite;animation-delay:var(--d);filter:drop-shadow(0 0 6px rgba(245,179,1,.8))}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:.9;transform:scale(1) rotate(40deg)}}

/* on-the-ground gallery */
.ground .photo{isolation:isolate}
.ground .kb{animation:kenburns 18s ease-in-out infinite alternate;transform-origin:center;will-change:transform}
.ground:nth-child(2n) .kb{animation-duration:22s;animation-direction:alternate-reverse}
.ground:nth-child(3n) .kb{animation-duration:26s}
@keyframes kenburns{0%{transform:scale(1.05) translate(0,0)}100%{transform:scale(1.18) translate(-3%,2%)}}
.ground .photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,11,14,.75),transparent 55%);pointer-events:none}
.ground .scan{position:absolute;left:0;right:0;top:-12%;height:12%;background:linear-gradient(to bottom,transparent,rgba(245,179,1,.55),transparent);opacity:0;pointer-events:none;z-index:2}
.ground:hover .scan{animation:scan 1.4s ease-in-out infinite}
@keyframes scan{0%{top:-12%;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:100%;opacity:0}}
.ground .pin{position:absolute;left:.9rem;bottom:.8rem;z-index:3;display:inline-flex;align-items:center;gap:.45rem;font-size:11px;font-weight:600;color:#fff;background:rgba(10,11,14,.6);border:1px solid rgba(245,179,1,.4);border-radius:999px;padding:.3rem .7rem;backdrop-filter:blur(4px)}
.ground .pin i{width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 0 rgba(245,179,1,.7);animation:ping 2s infinite}
.ground h3{transition:color .3s}.ground:hover h3{color:var(--acc)}
.ground .photo::before{content:'';position:absolute;inset:0;z-index:2;border:1px solid rgba(245,179,1,0);transition:border-color .4s;pointer-events:none}
.ground:hover .photo::before{border-color:rgba(245,179,1,.5);box-shadow:inset 0 0 0 1px rgba(245,179,1,.2)}
.ground[data-side=l].reveal{transform:translateX(-50px)}.ground[data-side=r].reveal{transform:translateX(50px)}

/* services grid */
.svc-card{position:relative;overflow:hidden;isolation:isolate}
.svc-card .wm{position:absolute;right:-6px;bottom:-22px;font-family:'Sora';font-weight:800;font-size:6.5rem;line-height:1;color:rgba(245,179,1,.06);transition:transform .5s cubic-bezier(.2,.8,.2,1),color .5s;pointer-events:none;z-index:0}
.svc-card:hover .wm{transform:translate(-10px,-10px) rotate(-6deg);color:rgba(245,179,1,.14)}
.svc-card .num{transition:transform .3s,letter-spacing .3s}
.svc-card:hover .num{transform:translateX(4px);letter-spacing:.05em}
.svc-card::after{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--a,0deg),transparent 0 70%,rgba(245,179,1,.95) 85%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s;pointer-events:none;z-index:1}
.svc-card:hover::after,.svc-card.lit::after{opacity:1;animation:beam 2.2s linear infinite}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes beam{to{--a:360deg}}
.svc-card.lit{border-color:rgba(245,179,1,.6);box-shadow:0 18px 40px -22px rgba(245,179,1,.5)}
.svc-card.lit .num{color:#ffd25e;text-shadow:0 0 12px rgba(245,179,1,.7)}
.svc-card.reveal{transform:translateY(30px) scale(.94)}

/* services background routes */
.svc-bg{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.svc-bg .routes{position:absolute;inset:0;width:100%;height:100%}
.svc-bg path{fill:none;stroke:rgba(245,179,1,.18);stroke-width:1.2;stroke-dasharray:6 10;animation:dash 40s linear infinite}
.svc-bg path:nth-child(odd){animation-direction:reverse}
@keyframes dash{to{stroke-dashoffset:-800}}
.svc-bg .ship{fill:#ffd25e;filter:drop-shadow(0 0 6px rgba(245,179,1,.9))}
.glow{position:absolute;border-radius:9999px;filter:blur(90px);pointer-events:none}
.svc-glow{animation:drift 16s ease-in-out infinite alternate}.svc-glow2{animation:drift 20s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translate(120px,80px)}}

/* process panel */
.orbit{position:absolute;inset:-14px;animation:orbit 28s linear infinite;pointer-events:none}
.orbit span{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:#14171d;border:1px solid #2a2f38;display:grid;place-items:center;font-size:15px;transform:rotate(calc(var(--i)*72deg)) translateY(-126px) rotate(calc(var(--i)*-72deg));animation:counter 28s linear infinite}
.orbit span:nth-child(1){--i:0}.orbit span:nth-child(2){--i:1}.orbit span:nth-child(3){--i:2}.orbit span:nth-child(4){--i:3}.orbit span:nth-child(5){--i:4}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes counter{to{transform:rotate(calc(var(--i)*72deg)) translateY(-126px) rotate(calc(var(--i)*-72deg - 360deg))}}
.orbit span.on{border-color:var(--acc);background:rgba(245,179,1,.15);box-shadow:0 0 14px rgba(245,179,1,.5)}
#pp-icon{display:inline-block;transition:transform .4s,opacity .4s}
#pp-icon.swap{transform:scale(.6) rotate(-20deg);opacity:0}
.pstep{transition:opacity .4s}.pstep.dim{opacity:.45}
.pstep.active span:first-child{background:var(--acc);color:#0a0b0e;box-shadow:0 0 0 6px rgba(245,179,1,.18)}

/* why: rising particles */
.particles{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.particles i{position:absolute;bottom:-10px;border-radius:50%;background:#ffd25e;opacity:0;animation:rise linear infinite;filter:blur(.3px);box-shadow:0 0 8px rgba(245,179,1,.7)}
@keyframes rise{0%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:var(--o)}90%{opacity:var(--o)}100%{transform:translateY(-110vh) translateX(var(--x));opacity:0}}
.why-glow{animation:drift 22s ease-in-out infinite alternate}
.why-card .why-ic{width:46px;height:46px;border-radius:14px;background:rgba(245,179,1,.12);border:1px solid rgba(245,179,1,.3);display:grid;place-items:center;font-size:22px;transition:transform .4s cubic-bezier(.2,.8,.2,1),background .3s}
.why-card:hover .why-ic{transform:translateY(-4px) rotate(-8deg) scale(1.08);background:rgba(245,179,1,.22)}
.why-card{background:rgba(20,23,29,.92)}

/* industries cards */
.ind-card{position:relative;overflow:hidden;background:linear-gradient(180deg,#14171d,#101217)}
.ind-card::before{background:linear-gradient(160deg,rgba(245,179,1,.18),transparent 60%)!important}
.ind-ic{width:56px;height:56px;border-radius:16px;background:rgba(245,179,1,.1);border:1px solid rgba(245,179,1,.25);display:grid;place-items:center;font-size:28px;animation:bob 5s ease-in-out infinite;animation-delay:var(--d);transition:background .3s,border-color .3s,transform .4s}
.ind-card:hover .ind-ic{background:rgba(245,179,1,.22);border-color:rgba(245,179,1,.6);transform:scale(1.1) rotate(-6deg)}
.ind-card:hover h3{color:var(--acc)}
.ind-arrow{position:absolute;right:1.1rem;top:1.1rem;width:30px;height:30px;border-radius:50%;border:1px solid #2a2f38;display:grid;place-items:center;font-size:13px;color:#8e96a3;opacity:0;transform:translate(-6px,6px);transition:all .35s}
.ind-card:hover .ind-arrow{opacity:1;transform:none;border-color:var(--acc);color:var(--acc);background:rgba(245,179,1,.12)}
.ind-card.reveal{transform:translateY(24px) scale(.95)}

/* world map */
.worldmap{background:linear-gradient(180deg,#1b1f26,#14171d);border:1px solid #2a2f38;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 30px 60px -30px rgba(0,0,0,.8);background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px),linear-gradient(180deg,#1b1f26,#14171d);background-size:48px 48px,48px 48px,100% 100%}
.worldmap path{fill:none;stroke:rgba(245,179,1,.35);stroke-width:1.3;stroke-dasharray:5 8;animation:dash 30s linear infinite}
.worldmap .wdot{fill:#ffd25e;filter:drop-shadow(0 0 6px rgba(245,179,1,1))}
.worldmap .wpin circle{fill:var(--acc)}
.worldmap .wpin .pulse{fill:none;stroke:var(--acc);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:wpulse 2.4s ease-out infinite;animation-delay:var(--d,0s)}
@keyframes wpulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}
.worldmap text{fill:#e5e8ee;font-family:Inter,sans-serif;font-size:13px;font-weight:600}
.worldmap text.eta{fill:#9aa2af;font-size:11px;font-weight:500}
.worldmap .home text{font-size:14px}
.worldmap .cnglow{animation:breathe 4s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.6}50%{opacity:1}}

/* contact cta */
.cta-orb{position:absolute;width:900px;height:900px;left:50%;top:50%;margin:-450px 0 0 -450px;border-radius:50%;background:conic-gradient(from 0deg,rgba(245,179,1,0),rgba(245,179,1,.12),rgba(245,179,1,0) 40%,rgba(245,179,1,.08) 70%,rgba(245,179,1,0));filter:blur(60px);animation:orbit 40s linear infinite;pointer-events:none}
.beam-card{position:relative;background:linear-gradient(#1e222a,#1e222a) padding-box,conic-gradient(from var(--a,0deg),#1e222a 0 72%,#ffd25e 86%,#1e222a 100%) border-box;border:1px solid transparent;animation:beam 5s linear infinite;box-shadow:0 40px 80px -40px rgba(245,179,1,.35)}
.wa-demo{background:#0f1216;border:1px solid #1e222a}
.wm-msg{max-width:88%;padding:.55rem .8rem;border-radius:1rem;font-size:13px;line-height:1.4;opacity:0;transform:translateY(8px)}
.wm-msg.c{background:#1a1e25;border-bottom-left-radius:.3rem;align-self:flex-start}
.wm-msg.t{background:rgba(245,179,1,.9);color:#0a0b0e;border-bottom-right-radius:.3rem;margin-left:auto}
.wm-msg small{display:block;font-size:10px;opacity:.6;margin-top:3px;text-align:right}
#waDemo{display:flex;flex-direction:column}

/* industries conveyor belt */
.belt{position:absolute;inset:auto 0 0 0;height:96px;pointer-events:none;z-index:0;display:flex;align-items:center;opacity:.18;filter:grayscale(.2);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}
.belt-row.b,.belt-row.c{display:none}
#industries{padding-bottom:9rem!important}
.belt-row{display:flex;gap:4rem;width:max-content;font-size:44px;line-height:1;will-change:transform}
.belt-row.a{animation:scroll 70s linear infinite}
.belt-row.b{animation:scroll 90s linear infinite reverse;font-size:44px}
.belt-row.c{animation:scroll 80s linear infinite}
.belt-row span{display:inline-block;animation:bob 7s ease-in-out infinite}
.belt-row span:nth-child(2n){animation-delay:-2s}.belt-row span:nth-child(3n){animation-delay:-4s}
#industries .max-w-\[1480px\]{position:relative;z-index:1}

/* industries showcase */
.showcase{height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;perspective:600px}
.show-item{display:inline-flex;align-items:center;gap:1rem;padding:.7rem 1.4rem .7rem .8rem;border-radius:999px;background:#14171d;border:1px solid rgba(245,179,1,.35);box-shadow:0 20px 50px -20px rgba(245,179,1,.4)}
.show-ic{width:56px;height:56px;border-radius:50%;background:rgba(245,179,1,.14);display:grid;place-items:center;font-size:28px}
.show-lbl{font-family:'Sora';font-weight:700;font-size:18px}
.show-tag{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);border-left:1px solid #2a2f38;padding-left:1rem}
