:root{--ink:#0F2A43;--steel:#5B6B7A;--bg:#F5F7F8;--card:#fff;--teal:#0E7C86;--signal:#F2B705;--line:#D9E0E5}
@media(prefers-color-scheme:dark){:root{--ink:#E8EEF3;--steel:#9FB0BF;--bg:#0C1822;--card:#13232F;--line:#22384A}}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:17px/1.7 'IBM Plex Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:'Archivo',system-ui,sans-serif;line-height:1.15;letter-spacing:-.01em}
a{color:var(--teal)}a:focus-visible,button:focus-visible{outline:3px solid var(--signal);outline-offset:2px}
.wrap{max-width:1100px;margin:auto;padding:0 22px}
header{position:sticky;top:0;z-index:9;background:var(--bg);border-bottom:2px solid var(--ink)}
nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;flex-wrap:wrap}
.logo{font:800 22px 'Archivo',sans-serif;color:var(--ink);text-decoration:none}.logo b{background:var(--signal);color:#0F2A43;padding:0 6px;margin-left:2px}
nav ul{display:flex;gap:18px;list-style:none;padding:0;flex-wrap:wrap}nav ul a{color:var(--ink);text-decoration:none;font-size:15px;font-weight:500}nav ul a:hover{color:var(--teal)}
.btn{display:inline-block;background:var(--signal);color:#0F2A43;font-weight:600;padding:12px 24px;text-decoration:none;border:2px solid #0F2A43;box-shadow:4px 4px 0 #0F2A43;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #0F2A43}.btn.alt{background:transparent;color:var(--ink);border-color:var(--ink)}
.hero{padding:64px 0 56px;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/100% 40px}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(34px,5vw,56px);font-weight:800;margin-bottom:18px}.hero p{max-width:60ch;color:var(--steel);margin-bottom:24px}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap}.hero svg{width:100%;height:auto}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:2px solid var(--ink);background:var(--card);margin:-28px auto 0;position:relative}
.stats div{padding:20px;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats strong{display:block;font:800 30px 'Archivo',sans-serif;color:var(--teal)}.stats span{font-size:14px;color:var(--steel)}
section{padding:60px 0}h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:16px}
.prose{max-width:72ch}.prose p{margin-bottom:16px}.prose h2{margin-top:36px}.prose h3{font-size:21px;margin:24px 0 8px}
.prose ul{padding-left:22px;margin-bottom:16px}.prose li{margin-bottom:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:24px}
.card{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--teal);padding:24px}
.card:nth-child(even){border-top-color:var(--signal)}.card h3{font-size:20px;margin-bottom:8px}.card p{font-size:15.5px;color:var(--steel);margin-bottom:10px}
.band{background:var(--ink);color:#F5F7F8}.band h2,.band p{color:#F5F7F8}.band .btn{border-color:var(--signal)}
.path{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:24px;border:2px solid var(--ink)}
.path div{padding:20px;background:var(--card);border-right:1px solid var(--line)}.path div:last-child{border:0}.path h3{font-size:18px;margin-bottom:6px}.path p{font-size:15px;color:var(--steel)}
details{border:1px solid var(--line);background:var(--card);padding:14px 18px;margin-bottom:10px}summary{cursor:pointer;font-weight:600}
.crumb{font-size:14px;color:var(--steel);margin-bottom:12px}
.pagehead{padding:48px 0 36px;border-bottom:1px solid var(--line);background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/100% 40px}.pagehead h1{font-size:clamp(30px,4.4vw,48px);font-weight:800;max-width:20ch}
.layout{display:grid;grid-template-columns:1fr 300px;gap:48px}aside .card{position:sticky;top:92px}
footer{background:var(--ink);color:#C9D5DF;padding:44px 0 24px;font-size:15px}footer a{color:#fff}footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;margin-bottom:24px}footer h3{color:#fff;font-size:16px;margin-bottom:8px}footer li{list-style:none;margin-bottom:4px}footer ul{padding:0}
@media(max-width:820px){.hero .wrap,.layout{grid-template-columns:1fr}.stats,.path{grid-template-columns:1fr 1fr}aside .card{position:static}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.js .rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease var(--d,0ms),transform .6s ease var(--d,0ms)}.js .rv.in{opacity:1;transform:none}
.spin{transform-box:fill-box;transform-origin:center;animation:spin 9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.draw{stroke-dasharray:400;stroke-dashoffset:400;animation:draw 2.6s ease .4s forwards}@keyframes draw{to{stroke-dashoffset:0}}
.bar{transform-box:fill-box;transform-origin:bottom;animation:grow .9s cubic-bezier(.2,.8,.2,1) calc(var(--i)*.18s) both}@keyframes grow{from{transform:scaleY(0)}}
.ph{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center}.ph svg{width:100%;max-width:300px;justify-self:end}.pagehead p.lead{color:var(--steel);max-width:56ch;margin-top:14px}
.blk{padding:56px 0}.blk.alt{background:var(--card);border-block:1px solid var(--line)}.blk .inner>p,.blk .inner>ul,.blk .inner>details{max-width:76ch}.blk h2{border-left:8px solid var(--signal);padding-left:14px}
.blk .inner>p{margin-bottom:14px}.blk ul{list-style:none;padding:0;margin-bottom:14px}.blk li{padding-left:30px;position:relative;margin-bottom:10px}.blk li::before{content:"";position:absolute;left:0;top:.5em;width:14px;height:14px;background:var(--teal);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}
.blk .grid{margin-top:20px}.blk .card h3{margin-top:0}
.band.cta{text-align:center;padding:64px 0}.band.cta p{max-width:56ch;margin:0 auto 22px}.band .btn.alt{color:#fff;border-color:#fff;box-shadow:none;margin-left:10px}
.btn{font:600 16px 'IBM Plex Sans',sans-serif;cursor:pointer}
.modal{position:fixed;inset:0;z-index:99;background:rgba(8,20,32,.7);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}.modal[hidden]{display:none}
.mbox{position:relative;background:var(--card);color:var(--ink);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--signal);width:100%;max-width:520px;padding:28px;max-height:94vh;overflow:auto;animation:pop .25s ease}@keyframes pop{from{transform:translateY(16px) scale(.97);opacity:0}}
.mbox h2{font-size:26px;margin-bottom:6px}.mbox .sub{color:var(--steel);font-size:15px;margin-bottom:16px}.mbox label{display:block;font-size:14px;font-weight:600;margin-bottom:12px}
.mbox input,.mbox select,.mbox textarea{display:block;width:100%;margin-top:4px;padding:10px 12px;font:16px 'IBM Plex Sans',sans-serif;border:2px solid var(--line);background:var(--bg);color:var(--ink)}.mbox input:focus,.mbox select:focus,.mbox textarea:focus{outline:3px solid var(--signal);border-color:var(--ink)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.x{position:absolute;top:8px;right:12px;background:none;border:0;font-size:32px;line-height:1;cursor:pointer;color:var(--ink)}
@media(max-width:820px){.ph{grid-template-columns:1fr}.ph svg{justify-self:start;max-width:220px}.two{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}.spin,.draw,.bar{animation:none}.draw{stroke-dashoffset:0}}

.tr{transition:opacity .7s ease var(--d,0ms),transform .7s ease var(--d,0ms)}.pre{opacity:0;transform:translateY(34px)}
.grid.g2{grid-template-columns:repeat(2,1fr)}.grid.g3,.grid.g6{grid-template-columns:repeat(3,1fr)}.grid.g4{grid-template-columns:repeat(4,1fr)}
.grid.g5{grid-template-columns:repeat(6,1fr)}.grid.g5>.card{grid-column:span 2}.grid.g5>.card:nth-child(n+4){grid-column:span 3}
.grid.g7{grid-template-columns:repeat(12,1fr)}.grid.g7>.card{grid-column:span 3}.grid.g7>.card:nth-child(n+5){grid-column:span 4}
.card{transition:transform .25s,box-shadow .25s,opacity .7s ease var(--d,0ms)}.card:hover{transform:translateY(-6px);box-shadow:0 14px 0 -6px var(--signal)}.card.pre:hover{transform:translateY(34px)}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}.sl{position:sticky;top:96px}.sl .ring{width:84px;margin-top:18px;display:block}
.sr>p,.sr>ul,.sr>details{max-width:none}.cols2{columns:2;column-gap:56px}.cols2>p{break-inside:avoid;margin-bottom:16px}
.blk{padding:72px 0}.blk .inner>p{max-width:80ch}
.ticker{overflow:hidden;background:var(--ink);color:#fff;padding:14px 0;margin-top:40px}.ticker div{display:flex;gap:44px;width:max-content;animation:tick 28s linear infinite;font:700 17px 'Archivo',sans-serif}.ticker span::after{content:"";display:inline-block;width:10px;height:10px;background:var(--signal);margin-left:44px}@keyframes tick{to{transform:translateX(-50%)}}
.hero .gfx{animation:float 5s ease-in-out infinite}@keyframes float{50%{transform:translateY(-12px)}}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:2px solid var(--ink);margin-top:24px}.why>div{padding:26px;background:var(--card);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.why h3{font-size:19px;margin-bottom:8px}.why p{font-size:15.5px;color:var(--steel)}
.ind{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.ind>div{padding:22px;border:2px solid var(--ink);background:var(--card);box-shadow:5px 5px 0 var(--teal)}.ind h3{font-size:18px;margin-bottom:6px}.ind p{font-size:15px;color:var(--steel)}
.flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0}.flow b{background:var(--ink);color:#fff;padding:12px 18px;font-family:'Archivo',sans-serif}.flow i{font-style:normal;color:var(--teal);font-weight:800;animation:nudge 1.4s ease-in-out infinite}.flow b:nth-child(odd){background:var(--teal)}@keyframes nudge{50%{transform:translateX(7px)}}
.btn{position:relative;overflow:hidden}.btn.pulse{animation:pls 2.4s infinite}@keyframes pls{0%{box-shadow:4px 4px 0 #0F2A43,0 0 0 0 rgba(242,183,5,.7)}70%,100%{box-shadow:4px 4px 0 #0F2A43,0 0 0 16px rgba(242,183,5,0)}}
@media(max-width:900px){.grid.g4,.grid.g3,.grid.g6,.ind,.why{grid-template-columns:1fr 1fr}.grid.g5,.grid.g7{grid-template-columns:1fr 1fr}.grid.g5>.card,.grid.g7>.card{grid-column:auto!important}.split{grid-template-columns:1fr;gap:20px}.sl{position:static}.cols2{columns:1}}
@media(max-width:600px){.grid.g2,.grid.g3,.grid.g4,.grid.g5,.grid.g6,.grid.g7,.ind,.why{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ticker div,.hero .gfx,.flow i,.btn.pulse{animation:none}.pre{transform:none}.card.pre:hover{transform:none}}
.cols2>p:only-child{column-span:all;font-size:21px;line-height:1.65;max-width:none;margin-bottom:0}.flow{gap:6px}.flow b{padding:10px 12px;font-size:15px}/* v4: heroes, tiles, pipeline, per-page themes */
.hv{width:100%}.ph{grid-template-columns:1fr 1fr}.hv svg{max-width:none;width:100%}
.dash{border:3px solid var(--ink);background:var(--card);box-shadow:8px 8px 0 var(--signal);font-size:13px;width:100%}
.dh{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--ink);color:var(--bg)}.dh i{width:10px;height:10px;border-radius:50%;background:var(--signal)}.dh span{margin-left:8px;font-weight:600}
.db{display:grid;grid-template-columns:104px 1fr}.dm{list-style:none;padding:10px;margin:0;border-right:1px solid var(--line)}.dm li{padding:7px 9px;margin-bottom:4px;animation:hl 8s infinite}.dm li:nth-child(2){animation-delay:2s}.dm li:nth-child(3){animation-delay:4s}.dm li:nth-child(4){animation-delay:6s}
@keyframes hl{0%,22%{background:var(--signal);color:#0F2A43}26%,100%{background:transparent}}
.dc{padding:12px;min-width:0}.kp{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kp div{border:1px solid var(--line);padding:8px}.kp small{display:block;color:var(--steel);font-size:11px}.kp b{font:800 22px 'Archivo',sans-serif;color:var(--teal)}
.bars{display:flex;align-items:flex-end;gap:6px;height:84px;margin:12px 0;border-bottom:2px solid var(--ink)}.bars span{flex:1;background:var(--teal);height:var(--a);animation:bh 2.4s ease-in-out infinite;animation-delay:var(--d)}@keyframes bh{50%{height:var(--b)}}
.feed{position:relative;height:30px}.feed p{position:absolute;inset:0;margin:0;padding:6px 10px;background:var(--bg);border-left:4px solid var(--signal);opacity:0;animation:fd 12s infinite;font-size:13px}.feed p:nth-child(2){animation-delay:3s}.feed p:nth-child(3){animation-delay:6s}.feed p:nth-child(4){animation-delay:9s}
@keyframes fd{0%{opacity:0;transform:translateX(24px)}4%,22%{opacity:1;transform:none}26%,100%{opacity:0}}
.orbit{position:relative;width:min(100%,400px);aspect-ratio:1;margin:auto;--r:min(150px,34vw)}.orbit::before{content:"";position:absolute;inset:calc(50% - var(--r));border:2px dashed rgba(255,255,255,.45);border-radius:50%}
.core{position:absolute;left:calc(50% - 46px);top:calc(50% - 46px);width:92px;height:92px;border-radius:50%;background:#FF9F1C;color:#1B1F4B;display:grid;place-items:center;font:800 24px 'Archivo',sans-serif;animation:pls2 2.4s infinite}@keyframes pls2{0%{box-shadow:0 0 0 0 rgba(255,159,28,.6)}100%{box-shadow:0 0 0 30px rgba(255,159,28,0)}}
.rr{position:absolute;inset:0;animation:rot 26s linear infinite}.rr>span{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(calc(var(--a)*1deg)) translateY(calc(var(--r)*-1)) rotate(calc(var(--a)*-1deg))}
.rr b{position:absolute;left:0;top:0;translate:-50% -50%;background:#fff;color:#1B1F4B;border-radius:20px;padding:7px 12px;font:600 13px 'IBM Plex Sans',sans-serif;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.25);animation:rot 26s linear infinite reverse}@keyframes rot{to{transform:rotate(360deg)}}
.belt{border:3px solid var(--ink);background:var(--card);padding:18px;box-shadow:8px 8px 0 var(--signal)}.row{display:grid;grid-template-columns:120px 1fr 44px;align-items:center;gap:10px;margin-bottom:12px;font-size:14px}.track{height:14px;background:var(--line)}.track i{display:block;height:100%;width:var(--w);background:var(--teal);animation:fl 4.5s ease-in-out infinite alternate}@keyframes fl{from{width:12%}}
.lane{position:relative;height:60px;border-bottom:6px solid var(--ink);overflow:hidden;margin-top:18px}.lane i{position:absolute;bottom:0;width:40px;height:36px;background:var(--signal);border:3px solid var(--ink);animation:ship 6s linear infinite;animation-delay:calc(var(--i)*-1.5s)}@keyframes ship{from{left:-50px}to{left:100%}}.gauge{margin:12px 0 0;font-weight:600}.gauge strong{font:800 26px 'Archivo',sans-serif;color:var(--teal)}
.scan{padding:26px;background:#101923;border:2px solid #263445;box-shadow:0 0 44px rgba(255,122,26,.3);min-height:270px}.code{position:relative;display:flex;justify-content:center;gap:3px;height:124px;background:#fff;padding:10px 14px}.code span{background:#000;height:100%}.beam{position:absolute;left:0;right:0;top:6px;height:3px;background:#ff3b30;box-shadow:0 0 14px 4px rgba(255,59,48,.7);animation:sw 2.2s ease-in-out infinite alternate}@keyframes sw{to{top:116px}}
.tag{margin-top:10px;padding:9px 12px;background:#0B1118;border-left:4px solid #00D1B2;color:#EAF1F6;font-size:14px;opacity:0;animation:tg 9s infinite}@keyframes tg{0%{opacity:0;transform:translateY(10px)}6%,70%{opacity:1;transform:none}80%,100%{opacity:0}}
.funwrap{position:relative}.fdot{animation:fall 3.6s linear infinite;animation-delay:var(--d);opacity:0}@keyframes fall{0%{transform:translate(0,0);opacity:0}10%{opacity:1}100%{transform:translate(var(--dx),230px);opacity:0}}
.leadc{position:absolute;right:0;bottom:0;background:#fff;color:#2A1252;border-radius:16px;padding:10px 16px;box-shadow:0 10px 30px rgba(0,0,0,.25)}.leadc small{display:block;font-size:12px}.leadc b{font:800 28px 'Poppins',sans-serif;color:#7B2FF7}
.serp{background:var(--card);border:2px solid var(--line);padding:20px;box-shadow:0 14px 40px rgba(16,42,36,.15)}.sbox{border:2px solid var(--ink);border-radius:30px;padding:10px 18px;font-size:16px;margin-bottom:16px;white-space:nowrap}.typed{display:inline-block;overflow:hidden;vertical-align:bottom;width:0;border-right:2px solid var(--ink);animation:ty 5s steps(31) infinite}@keyframes ty{0%{width:0}60%,100%{width:31ch}}
.rc{display:flex;gap:14px;align-items:center;padding:14px;margin-bottom:10px;background:var(--bg)}.rc.me{animation:gl 5s infinite}@keyframes gl{0%,75%{box-shadow:0 0 0 2px var(--line)}85%,100%{box-shadow:0 0 0 3px var(--teal),0 0 22px rgba(15,139,109,.4)}}
.rk{height:30px;overflow:hidden;width:50px;background:var(--teal);color:#fff;font:800 20px 'Archivo',sans-serif;text-align:center}.rn{animation:cl 5s steps(8) infinite}.rn b{display:block;height:30px;line-height:30px}@keyframes cl{0%{transform:translateY(0)}80%,100%{transform:translateY(-240px)}}
.rc u{color:var(--teal);font-weight:600}.rc p{margin:2px 0 0;font-size:14px;color:var(--steel)}.sk{height:56px;background:linear-gradient(90deg,var(--line) 25%,var(--card) 50%,var(--line) 75%);background-size:200% 100%;animation:shm 1.6s linear infinite}@keyframes shm{to{background-position:-200% 0}}
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:24px}.tiles>div{background:var(--card);border:2px solid var(--ink);padding:18px 8px;text-align:center;font-weight:600;font-size:14.5px;line-height:1.3;transition:transform .25s,background .25s,opacity .7s ease var(--d,0ms)}.tiles>div:hover{transform:translateY(-6px) rotate(-1deg);background:var(--signal);color:#0F2A43}.tiles>div.pre:hover{transform:translateY(34px)}
.tiles span{display:block;font-size:32px;margin-bottom:6px;animation:bob 3s ease-in-out infinite;animation-delay:calc(var(--i)*.18s)}@keyframes bob{50%{transform:translateY(-6px)}}
.pipe{position:relative;display:flex;justify-content:space-between;margin:34px 0 26px}.pipe::before{content:"";position:absolute;left:9%;right:9%;top:30px;height:4px;background:var(--line)}.pipe .n{position:relative;z-index:1;text-align:center;width:18%}.pipe .n b{display:block;font-size:14px;margin-top:8px}
.pipe .n span{display:grid;place-items:center;width:62px;height:62px;margin:auto;border:3px solid var(--ink);background:var(--card);font-size:26px;border-radius:50%;animation:nd 9.4s infinite;animation-delay:calc(var(--i)*1.875s)}@keyframes nd{0%,14%{background:var(--signal);transform:scale(1.18)}20%,100%{background:var(--card);transform:none}}
.pipe .dot{position:absolute;z-index:2;top:24px;left:9%;margin-left:-8px;width:16px;height:16px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 6px rgba(14,124,134,.3);animation:tv 9.4s linear infinite}@keyframes tv{0%{left:9%}80%,100%{left:91%}}
.blk.alt{background-image:radial-gradient(var(--line) 1.4px,transparent 1.5px);background-size:28px 28px;animation:drift 18s linear infinite}@keyframes drift{to{background-position:28px 28px}}
.sl h2{transition:border-color .6s}.sl.pre h2{border-left-color:transparent}.blk li::before{transition:transform .45s cubic-bezier(.3,1.6,.5,1) .15s}.blk li.pre::before{transform:scale(0)}details[open] p{animation:fi .4s}@keyframes fi{from{opacity:0;transform:translateY(-6px)}}
@media(max-width:900px){.ph{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(3,1fr)}.pipe .n b{font-size:12px}.orbit{--r:min(120px,30vw);width:300px}}
@media(max-width:520px){.tiles{grid-template-columns:repeat(2,1fr)}.db{grid-template-columns:1fr}.dm{display:none}.pipe .n span{width:46px;height:46px;font-size:20px}.pipe::before{top:22px}.pipe .dot{top:16px}}
@media(prefers-reduced-motion:reduce){.dm li,.bars span,.feed p,.rr,.rr b,.core,.track i,.lane i,.beam,.tag,.fdot,.typed,.rn,.rc.me,.sk,.tiles span,.pipe .dot,.pipe .n span,.blk.alt{animation:none}.feed p:first-child,.tag{opacity:1}.typed{width:31ch}.rn{transform:translateY(-240px)}}
/* ERP: indigo, soft rounded */
.t-erp{--ink:#1B1F4B;--teal:#4C5BD4;--signal:#FF9F1C;--bg:#F3F4FB;--card:#fff;--line:#DDE0F3;--steel:#59607F}
.ph-erp{background:linear-gradient(135deg,#1B1F4B,#3441B8);color:#fff}.ph-erp h1,.ph-erp .crumb,.ph-erp .crumb a,.ph-erp .lead{color:#fff}.ph-erp .btn{border-color:#fff;box-shadow:4px 4px 0 #fff}
.t-erp .card{border:0;border-radius:18px;box-shadow:0 10px 28px rgba(27,31,75,.1)}.t-erp .tiles>div,.t-erp .btn{border-radius:14px}.t-erp .blk h2{border-left:0;padding-left:0}.t-erp .blk h2::after{content:"";display:block;width:80px;height:5px;margin-top:10px;border-radius:3px;background:linear-gradient(90deg,var(--teal),var(--signal));animation:wd 3s ease-in-out infinite alternate}@keyframes wd{from{width:30px}to{width:120px}}
/* Inventory: green, condensed, reversed split */
.t-inv{--ink:#13342B;--teal:#1F9D6B;--signal:#FFC857;--bg:#F3F8F5;--line:#D3E3DA;--steel:#52685F;font-family:'Barlow',sans-serif}.t-inv :is(h1,h2,h3,.logo){font-family:'Barlow Condensed',sans-serif}.t-inv h1{font-size:clamp(38px,5.4vw,60px)}.t-inv h2{font-size:clamp(30px,4vw,44px)}
.ph-inv{background:linear-gradient(90deg,rgba(31,157,107,.12) 1px,transparent 1px) 0 0/48px 100%}.t-inv .split{grid-template-columns:1.2fr .8fr}.t-inv .sl{order:2;text-align:right}.t-inv .sl .ring{margin-left:auto}.t-inv .blk h2{border-left:0;padding:0 0 8px;border-bottom:5px solid var(--signal);display:inline-block}
.t-inv .card{border-top:1px solid var(--line);border-left:7px solid var(--teal)}.t-inv .card:nth-child(even){border-left-color:var(--signal);border-top-color:var(--line)}
/* Stock: dark, orange/teal */
.t-stk{--ink:#EAF1F6;--steel:#9FB0BF;--bg:#0E141B;--card:#16202B;--line:#263445;--teal:#FF7A1A;--signal:#00D1B2;font-family:'Inter',sans-serif}.t-stk :is(h1,h2,h3,.logo){font-family:'Space Grotesk',sans-serif}
.t-stk footer,.t-stk .band{background:#070B10}.t-stk .band h2,.t-stk .band p{color:#EAF1F6}.ph-stk{background:repeating-linear-gradient(0deg,rgba(255,122,26,.07) 0 2px,transparent 2px 6px)}.t-stk .blk.alt{background-color:#111A24}
.t-stk .blk h2{border-left:0;padding-left:0}.t-stk .blk h2::before{content:"> ";color:var(--teal)}.t-stk .blk h2::after{content:"_";color:var(--signal);animation:bl 1s steps(1) infinite}@keyframes bl{50%{opacity:0}}
.t-stk .card{border:1px solid var(--line);animation:gw 4s ease-in-out infinite}@keyframes gw{50%{box-shadow:0 0 22px rgba(255,122,26,.28);border-color:rgba(255,122,26,.6)}}.t-stk .tiles>div,.t-stk .belt{border-color:var(--line)}.t-stk .btn{color:#06201C}.t-stk .logo b{color:#06201C}
/* Marketing: purple/pink, centred, pill */
.t-mkt{--ink:#2A1252;--teal:#7B2FF7;--signal:#FF3D8B;--bg:#FBF8FF;--card:#fff;--line:#E6DAF7;--steel:#6A5A86;font-family:'Poppins',sans-serif}.t-mkt :is(h1,h2,h3,.logo){font-family:'Poppins',sans-serif;font-weight:700}.t-mkt .btn{border-radius:999px;color:#fff;border-color:var(--ink)}.t-mkt .logo b{color:#fff}
.ph-mkt{background:linear-gradient(120deg,#2A1252,#7B2FF7 55%,#FF3D8B);color:#fff;background-size:200% 200%;animation:gr 10s ease infinite}@keyframes gr{50%{background-position:100% 50%}}.ph-mkt h1,.ph-mkt .crumb,.ph-mkt .crumb a,.ph-mkt .lead{color:#fff}.ph-mkt .btn{box-shadow:none;border-color:#fff}
.t-mkt .split{grid-template-columns:1fr;text-align:center;gap:14px}.t-mkt .sl{position:static}.t-mkt .sl .ring{margin:12px auto 0}.t-mkt .sr{max-width:780px;margin:auto;text-align:left}.t-mkt .blk h2{border-left:0;padding-left:0}.t-mkt .inner>h2{text-align:center}.t-mkt .inner>p{margin-inline:auto}
.t-mkt .card{border:0;border-radius:28px;box-shadow:0 12px 34px rgba(123,47,247,.14);border-top:8px solid var(--teal)}.t-mkt .card:nth-child(even){border-top-color:var(--signal)}.t-mkt .tiles>div{border-radius:24px}
/* SEO: green, serif, flat */
.t-seo{--ink:#102A24;--teal:#0F8B6D;--signal:#E4572E;--bg:#F6FAF8;--line:#D4E5DE;--steel:#53675F;font-family:'Inter',sans-serif}.t-seo :is(h1,h2,h3,.logo){font-family:'Fraunces',serif}.t-seo .btn{color:#fff}.t-seo .logo b{color:#fff}
.ph-seo{background:radial-gradient(circle at 85% 20%,rgba(15,139,109,.18),transparent 45%)}.t-seo .blk h2{border-left:0;padding-left:0;text-decoration:underline wavy var(--signal);text-underline-offset:10px;text-decoration-thickness:2px}
.t-seo .card{border:0;border-bottom:4px solid var(--teal);border-radius:0;background:transparent;padding-inline:4px}.t-seo .card:nth-child(even){border-bottom-color:var(--signal)}.t-seo .sr ul{columns:2;column-gap:36px}.t-seo .sr li{break-inside:avoid}
.pagehead.ph-erp p.lead,.pagehead.ph-mkt p.lead{color:#fff;opacity:.92}
/* v5: one palette (purple / pink), movable graphics */
body,body.t-erp,body.t-inv,body.t-stk,body.t-seo,body.t-mkt{--ink:#2A1252;--teal:#7B2FF7;--signal:#FF3D8B;--bg:#FBF8FF;--card:#fff;--line:#E6DAF7;--steel:#6A5A86;font-family:'Poppins',system-ui,sans-serif}
body :is(h1,h2,h3,.logo,.stats strong,.kp b,.core,.gauge strong,.rk,.leadc b,.dc b,.btn){font-family:'Poppins',system-ui,sans-serif}
body .logo b,body .btn{color:#fff}body .btn{border:0;border-radius:999px;box-shadow:0 8px 22px rgba(255,61,139,.35);padding:13px 28px}body .btn:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(255,61,139,.45)}
body .btn.alt{background:transparent;color:var(--ink);border:2px solid var(--ink);box-shadow:none}body .band .btn.alt{color:#fff;border-color:#fff}
@keyframes pls{0%{box-shadow:0 8px 22px rgba(255,61,139,.35),0 0 0 0 rgba(255,61,139,.6)}70%,100%{box-shadow:0 8px 22px rgba(255,61,139,.35),0 0 0 18px rgba(255,61,139,0)}}
.hero,.pagehead[class*=ph-]{position:relative;overflow:hidden;color:#fff;background:linear-gradient(120deg,#2A1252,#7B2FF7 55%,#FF3D8B);background-size:200% 200%;animation:gr 10s ease infinite}
.hero h1,.hero p,.pagehead[class*=ph-] h1,.pagehead[class*=ph-] .crumb,.pagehead[class*=ph-] .crumb a,.pagehead[class*=ph-] p.lead{color:#fff}.hero p,.pagehead[class*=ph-] p.lead{opacity:.92}
.hero .btn.alt{color:#fff;border-color:#fff}.hero .wrap,.pagehead .wrap{position:relative;z-index:1}
.hero::before,.pagehead[class*=ph-]::before,.hero::after,.pagehead[class*=ph-]::after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px);animation:blob 14s ease-in-out infinite alternate}
.hero::before,.pagehead[class*=ph-]::before{width:300px;height:300px;left:-80px;top:-90px;background:rgba(255,255,255,.12);translate:calc(var(--px,0)*-34px) calc(var(--py,0)*-24px + var(--sy,0)*-.08px)}
.hero::after,.pagehead[class*=ph-]::after{width:200px;height:200px;right:8%;bottom:-70px;background:rgba(255,61,139,.35);animation-duration:10s;translate:calc(var(--px,0)*40px) calc(var(--py,0)*28px)}
@keyframes blob{to{transform:translate(60px,40px) scale(1.25)}}
.band,.cta{position:relative;overflow:hidden}.band::before,.band::after{content:"";position:absolute;border-radius:50%;animation:blob 12s ease-in-out infinite alternate;pointer-events:none}.band::before{width:240px;height:240px;right:-60px;top:-80px;background:rgba(123,47,247,.45)}.band::after{width:160px;height:160px;left:6%;bottom:-60px;background:rgba(255,61,139,.35);animation-duration:9s}.band .wrap{position:relative;z-index:1}
.dash,.belt,.scan,.funwrap,.serp,.orbit{cursor:grab;touch-action:pan-y;user-select:none;rotate:calc(var(--px,0)*2deg);transition:translate .6s cubic-bezier(.2,1.4,.4,1)}.dragging{cursor:grabbing!important;transition:none!important}
.hero .gfx{box-shadow:0 20px 50px rgba(0,0,0,.35)}
.scan{background:#1d0f3a;border-color:#4a2a80;box-shadow:0 0 44px rgba(255,61,139,.45)}.tag{background:#12072a;border-left-color:var(--signal)}.beam{background:#FF3D8B;box-shadow:0 0 14px 4px rgba(255,61,139,.7)}
@keyframes gl{0%,75%{box-shadow:0 0 0 2px var(--line)}85%,100%{box-shadow:0 0 0 3px var(--teal),0 0 22px rgba(123,47,247,.45)}}
@keyframes gw{50%{box-shadow:0 0 22px rgba(123,47,247,.3);border-color:rgba(123,47,247,.6)}}
body.t-stk footer,body.t-stk .band,body footer,body .band{background:var(--ink)}body.t-stk .blk.alt{background-color:var(--card)}body.t-stk .btn,body.t-stk .logo b{color:#fff}
.ph-erp .btn,.ph-mkt .btn{box-shadow:0 8px 22px rgba(255,61,139,.35)}.pipe .dot{box-shadow:0 0 0 6px rgba(123,47,247,.3)}.core{background:#FFD23F}
@media(prefers-reduced-motion:reduce){.hero,.pagehead[class*=ph-]{animation:none}.hero::before,.hero::after,.pagehead::before,.pagehead::after,.band::before,.band::after{animation:none}}
body[class] :is(h1,h2,h3,.logo){font-family:'Poppins',system-ui,sans-serif}body[class] h1{font-size:clamp(32px,4.6vw,52px)}body.t-seo .blk h2{text-decoration-color:var(--signal)}

.topbar{background:var(--ink);color:#fff;font-size:14px}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:7px;padding-bottom:7px}.topbar a{color:#fff;text-decoration:none}.topbar .cat{background:var(--signal);padding:5px 16px;border-radius:999px;font-weight:600;animation:bnc 2.6s ease-in-out infinite}.topbar .cat:hover{filter:brightness(1.1)}@keyframes bnc{0%,80%,100%{transform:none}88%{transform:translateY(-4px)}94%{transform:translateY(0)}}
@media(max-width:700px){.topbar span{display:none}}
.fstack{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:430px;margin:auto;cursor:grab;touch-action:pan-y;user-select:none;transition:translate .6s cubic-bezier(.2,1.4,.4,1)}.fc{background:#fff;color:var(--ink);padding:22px 18px;border-radius:24px;box-shadow:0 14px 34px rgba(0,0,0,.28);animation:float 5s ease-in-out infinite;animation-delay:calc(var(--i)*-1.3s)}.fc:nth-child(even){margin-top:28px}.fc b{display:block;font:800 34px 'Poppins',sans-serif;color:var(--teal);line-height:1.1}.fc span{font-size:14px;color:var(--steel)}
.card ul{margin:10px 0 12px}.card li{font-size:15px;margin-bottom:6px}
@media print{.topbar,header,footer,.modal,.band,.hv,.noprint,.ticker{display:none!important}*{animation:none!important;transition:none!important}.pre,.tr{opacity:1!important;transform:none!important}body{background:#fff!important}.pagehead[class*=ph-]{background:none!important;color:#2A1252!important;padding:10px 0!important}.pagehead h1,.pagehead .crumb,.pagehead p.lead{color:#2A1252!important}.blk{padding:18px 0!important;background:none!important}.card{break-inside:avoid;box-shadow:none!important;border:1px solid #ccc!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.sr>p{margin-bottom:16px}.card h3 a{text-decoration:none}
