: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}
