/* THALYRON visual + motion layer */
@keyframes up{from{opacity:0;transform:translateY(18px)}}@keyframes sc{to{transform:translateY(380px)}}@keyframes sl{from{opacity:0;transform:translateY(-12px)}}
.hero,.pg{position:relative;overflow:hidden}.hero::before,.pg::before{content:"";position:absolute;inset:-25% -10% auto;height:75%;background:radial-gradient(55% 60% at 50% 0,#9db8d62e,transparent);pointer-events:none}.hero .w,.pg .w{position:relative}

h1{background:linear-gradient(180deg,#fff 35%,var(--ac));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .eb,.hero h1,.hero p.l,.pg .eb,.pg h1,.pg p.l,.pg .btn{animation:up .9s cubic-bezier(.2,.7,.2,1) both}.hero h1,.pg h1{animation-delay:.12s}.hero p.l,.pg p.l{animation-delay:.24s}.pg .btn{animation-delay:.36s}.hero .vid{animation:up 1.1s .4s cubic-bezier(.2,.7,.2,1) both}
.vid{box-shadow:0 60px 120px -40px #000,0 0 0 1px #ffffff0a}.alt{background-image:radial-gradient(#ffffff0b 1px,transparent 1px);background-size:28px 28px}
.eb::before{content:"";display:inline-block;width:24px;height:1px;background:currentColor;margin-right:12px;vertical-align:middle;opacity:.6}footer .eb::before{display:none}
.btn.p::after{content:" →";display:inline-block;transition:transform .25s}.btn.p:hover::after{transform:translateX(4px)}.btn{transition:.25s}
#invoice-guard{--ac:#9db8d6}#flow{--ac:#8fcfc0}#sentinel{--ac:#d1b48a}
.g3>div,.dv>div{position:relative;overflow:hidden}.g3>div::after,.dv>div::after{content:"";position:absolute;inset:0;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),#ffffff12,transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}.g3>div:hover::after,.dv>div:hover::after{opacity:1}
.ui{position:relative}.ui::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--ac),transparent);opacity:.6}
.ui.rv{transform:translateY(40px) perspective(1200px) rotateX(7deg)}.ui.rv.in{transform:none}
.row{transition:background .3s}svg.fl rect{transition:fill .5s,stroke .5s}svg.fl rect.on{fill:#1b1f24;stroke:var(--ac)}svg.fl text{transition:fill .5s}
#invd{position:relative;overflow:hidden}#invd.scan::after{content:"";position:absolute;left:0;right:0;top:-40px;height:40px;background:linear-gradient(transparent,#9db8d63d,transparent);animation:sc 1.2s ease-out 1;pointer-events:none}#invd>*:nth-child(n+2){animation:up .5s both}#invd>:nth-child(3){animation-delay:.2s}#invd>:nth-child(4){animation-delay:.4s}#invd>:nth-child(5){animation-delay:.6s}
.tl .new{animation:sl .6s both}.tl div:first-child:before{background:var(--ac)}
.steps div{opacity:.45;transition:opacity .5s}.steps div.on{opacity:1}.steps div.on:before{background:var(--ok);box-shadow:0 0 0 5px #6fbf9a22}.steps div:before{transition:.5s}
.chain b{transition:background .4s,color .4s}.chain b.on{background:var(--ac);color:#0b0c0e}.shop .ch span{transition:.3s}.shop .ch span.sel{background:var(--ac);color:#0b0c0e;border-color:var(--ac)}
.map i{transition:opacity .6s,background .6s}.map.rv:not(.in) i,.rv:not(.in) .map i{opacity:0}.sw i{transform-origin:bottom;transition:transform .8s}.rv:not(.in) .sw i{transform:scaleY(0)}.sw i:nth-child(2){transition-delay:.12s}.sw i:nth-child(3){transition-delay:.24s}.sw i:nth-child(4){transition-delay:.36s}
@media(prefers-reduced-motion:reduce){*{animation:none!important}.ui.rv{transform:none}}
/* logo */.lg{display:inline-flex;align-items:center;gap:12px}.lm{width:34px;height:26px;background:url(logo-mark.png) center/contain no-repeat;flex:none}footer .lm{width:44px;height:34px}
.hero .w,.pg .w{z-index:1}.hero::after,.pg::after{content:"";position:absolute;right:-3%;top:70px;width:min(44vw,540px);aspect-ratio:1.29;background:url(logo-large.png) center/contain no-repeat;opacity:.07;pointer-events:none}.pg::after{opacity:.05;width:min(34vw,420px)}
@media(max-width:900px){.hero::after,.pg::after{opacity:.04;width:70vw;right:-20%}}
/* fx2: cleaner layout + more motion */
:root{--ln:#1e2125;--mu:#9aa1ab}@keyframes pgin{from{opacity:0;transform:translateY(14px)}}@keyframes vr{from{opacity:0;transform:scale(.95);clip-path:inset(10% 7% 10% 7% round 22px)}}@keyframes pd{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ac) 45%,transparent)}100%{box-shadow:0 0 0 9px transparent}}
section{position:relative;padding:130px 0;border-top:1px solid #ffffff0a}.alt{background:#0f1114;background-image:none}.pr{gap:84px}.hero{padding:170px 0 100px}.hero::before,.pg::before{opacity:.7}
h1{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#f4f6f8;font-size:clamp(40px,6vw,84px);letter-spacing:-.035em}h2{letter-spacing:-.03em}p.l{color:var(--mu);font-size:19px;line-height:1.65}
.btn{border-radius:999px;padding:13px 28px}.tag,.st,.chain b{border-radius:999px}.vid{border-radius:20px}.hero .vid{animation-name:vr}input,textarea,select{border-radius:10px}.mis{border-radius:6px}.hb,.hb i{border-radius:3px}.map i{border-radius:3px}.shop .im{border-radius:10px}.fun div{border-radius:4px}svg.fl rect{rx:9px}.steps div:before{border-radius:50%}
.g3,.dv{background:none;border:0;gap:18px}.g3>div,.alt .g3>div,.dv>div{background:#101317;border:1px solid var(--ln);border-radius:18px;padding:36px}.dv .cm{background:#101317}
.g3>div.rv.in,.dv>div.rv.in{transition:transform .4s,border-color .4s,opacity .8s}.g3>div:hover,.dv>div:hover{transform:translateY(-5px);border-color:#ffffff30}
.ui{border-radius:16px;overflow:hidden;box-shadow:0 50px 90px -40px #000;transition:border-color .4s,box-shadow .4s}.ui:hover{border-color:#ffffff2c;box-shadow:0 60px 100px -40px #000}.ui::after{content:"";position:absolute;inset:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),#ffffff0b,transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}.ui:hover::after{opacity:1}
.ui .bar span:first-child::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ac);margin-right:10px;animation:pd 2.4s infinite}
nav ul a{position:relative;padding:4px 0}nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--ac);transform:scaleX(0);transform-origin:left;transition:transform .35s}nav ul a:hover::after,nav ul a.act{color:#fff}nav ul a.act::after{transform:scaleX(1)}
.fxbar{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--ac),#fff);transform:scaleX(0);transform-origin:left;z-index:30}
section::before{content:"";position:absolute;top:-1px;left:50%;width:0;height:1px;background:linear-gradient(90deg,transparent,var(--ac),transparent);transition:width 1.5s cubic-bezier(.2,.7,.2,1),left 1.5s cubic-bezier(.2,.7,.2,1)}section.in::before{left:0;width:100%}
.wd{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}.wd>span{display:inline-block;transform:translateY(112%);transition:transform .95s cubic-bezier(.2,.7,.2,1)}.wr.in .wd>span{transform:none}
.sl{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),background .25s,color .25s,border-color .25s;transition-delay:var(--d,0ms),var(--d,0ms),0s,0s,0s}.sl.in{opacity:1;transform:none}
summary{list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary::after{content:"+";transition:transform .3s;color:var(--ac)}details[open] summary::after{transform:rotate(45deg)}details[open] p{animation:pgin .45s both}
.sp,body>main{animation:pgin .6s both}footer a{transition:color .25s}footer a:hover{color:#fff}
@media(max-width:900px){section{padding:84px 0}.pr{gap:48px}.hero{padding:130px 0 70px}.g3>div,.dv>div{padding:28px}}
@media(prefers-reduced-motion:reduce){.wd>span{transform:none!important}.sl{opacity:1;transform:none}section::before{left:0;width:100%}.fxbar{display:none}.hero::after{transform:none!important}}
.hero::after{transform:translateY(calc(var(--py,0)*1px))}
