/* ProjectTrack AI — light editorial look: warm paper, ink type, one electric-violet accent */
@property --v{syntax:'<number>';inherits:false;initial-value:0}
body.p-project{--ink:#0f1224;--pap:#fbfaf7;--card:#fff;--ln:#0f12241a;--vi:#5b3df5;--vi2:#8a6bff;--vsoft:#5b3df514;--mint:#12b886;--coral:#ff6b57;--amb:#f59f00;--mut:#5a6078;background:#fbfaf7}
body.p-project .foot{
  --t1:#f7f8fd;--t2:#d7deef;--t3:#c3cce2;--line:#ffffff17;--line2:#ffffff29;
  background:var(--wash);background-attachment:fixed;color:var(--t1);border-top:1px solid var(--line);
}
body.p-project .foot .logo,body.p-project .foot .logo b{color:#fff}
body.p-project .foot .logo small,body.p-project .foot h4,body.p-project .legal{color:var(--t3)}
body.p-project .foot p,body.p-project .foot li{color:var(--t2)}
body.p-project .foot li a:hover,body.p-project .legal a:hover{color:#fff}
body.p-project .legal{background:transparent;border-top:1px solid var(--line);color:var(--t3)}
body.p-project .wordmark{color:transparent;-webkit-text-stroke:1.5px #ffffff22;background:linear-gradient(180deg,#ff3b4733,transparent 70%);-webkit-background-clip:text;background-clip:text}
body.p-project .wrap{max-width:var(--wrap)}
body.p-project main>section:not(.cta) .btn-primary{background:var(--vi);box-shadow:0 12px 30px #5b3df54d}
body.p-project main>section:not(.cta) .btn-primary::before{background:#4527d6}
.pt-k{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:99px;background:var(--vsoft);border:1px solid #5b3df533;color:#5b3df5;font:600 .7rem var(--f-m);letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px}
.pt-dark .pt-k,.pt-report .pt-k,.pt-heat .pt-k,.pt-built .pt-k{background:#8a6bff26;border-color:#8a6bff55;color:#c9bcff}
.pt-head{max-width:780px;margin-bottom:clamp(24px,4.4vh,48px)}
.pt-head h2,.pt-report h2,.pt-faq h2{font-size:clamp(1.9rem,3.6vw,3.1rem);line-height:1.04;margin-bottom:14px}.pt-head p:last-child{font-size:1.05rem;margin:0}
.light h2,.light h3{color:var(--ink)}
.pt-sec{position:relative;padding:clamp(56px,9vh,100px) 0;background:var(--card)}
.pt-sec.light{background:var(--pap)}
.pt-note{margin:14px 0 0;font:500 .64rem var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:#8a90a8}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:99px;font:600 .72rem var(--f-b);font-style:normal;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.st-ok{background:#12b88618;color:#0b8a63}.pill.st-warn{background:#f59f0020;color:#b36f00}.pill.st-bad{background:#ff6b5720;color:#d63f2c}
.pt-av{display:grid;place-items:center;flex:none;width:2.1em;height:2.1em;border-radius:50%;color:#fff;font:700 .72em var(--f-d);font-style:normal;padding:0;border:0}

/* ---------- hero ---------- */
.pt-hero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(24px,4vh,50px) 0 clamp(50px,8vh,90px);background:linear-gradient(180deg,#f4f2ff,#fbfaf7 70%)}
.pt-hbg{position:absolute;inset:0;z-index:-1}.pt-hbg .a{position:absolute;right:-6%;top:-18%;width:680px;height:680px;border-radius:50%;background:radial-gradient(circle,#8a6bff40,transparent 65%)}.pt-hbg .b{position:absolute;left:-10%;bottom:-28%;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,#12b88630,transparent 65%)}
.light .crumbs a{color:#4b556f}.light .crumbs a:hover{color:#000}.light .crumbs span{color:var(--vi)}
.pt-hero-in{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,4.5vw,72px);align-items:center;margin-top:24px}.pt-hero-in>*{min-width:0}
.pt-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 8px;border-radius:99px;background:#fff;border:1px solid var(--ln);box-shadow:0 6px 18px #5b3df50f;font:600 .76rem var(--f-b);color:#3b3f5c;margin-bottom:22px}
.pt-eyebrow i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--vi),var(--vi2));color:#fff;font-size:.7rem}
.pt-copy h1{font-size:clamp(3.2rem,6.6vw,6rem);line-height:.96;letter-spacing:-.05em;margin-bottom:16px;color:var(--ink)}
.pt-copy h1 span{background:linear-gradient(120deg,var(--vi),#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}
.pt-tag{font:600 1.05rem var(--f-d);color:var(--vi);margin:0 0 14px}
.pt-lead{font-size:clamp(1rem,1.25vw,1.14rem);max-width:580px;color:#3f4560}
.pt-ghost{background:#fff;border:1px solid var(--ln);color:var(--ink);box-shadow:0 6px 18px #0f12240d}.pt-ghost:hover{border-color:var(--vi);background:#f6f3ff}
.pt-facts{display:flex;flex-wrap:wrap;gap:12px 34px;margin-top:28px;padding-top:22px;border-top:1px solid var(--ln)}
.pt-facts li{display:grid;gap:2px}.pt-facts b{font:700 1.5rem var(--f-d);letter-spacing:-.03em;color:var(--ink)}.pt-facts span{font-size:.8rem;color:var(--mut)}

/* hero stage */
.pt-stage{--u:clamp(.62px,.1vh,1.1px);position:relative;font-size:calc(16 * var(--u));width:36em;max-width:100%;margin-inline:auto;padding:.6em 0 4.8em}
.pt-pcard{padding:1.2em 1.3em 1.3em;border-radius:1.5em;background:#fff;border:1px solid var(--ln);box-shadow:0 2.4em 5em #5b3df51f,0 .4em 1.2em #0f12240d}
.pt-ph{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9em}.pt-ph small{display:block;font:600 .62em var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:#8a90a8}.pt-ph b{font:700 1.25em var(--f-d);letter-spacing:-.02em;color:var(--ink)}
.pt-live{display:inline-flex;align-items:center;gap:.5em;padding:.3em .9em;border-radius:99px;background:#12b88614;color:#0b8a63;font:600 .66em var(--f-m);letter-spacing:.1em;text-transform:uppercase}.pt-live::before{content:"";width:.7em;height:.7em;border-radius:50%;background:var(--mint);animation:ptpulse 1.5s infinite}
@keyframes ptpulse{0%,100%{box-shadow:0 0 0 0 #12b88688}50%{box-shadow:0 0 0 .5em #12b88600}}
.pt-prows{display:grid;gap:.4em}
.pt-prow{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.9em;padding:.7em .9em;border-radius:1em;border:1px solid transparent;cursor:pointer;transition:.35s var(--ease)}
.pt-prow:hover{background:#f7f6fb}.pt-prow.on{background:#f4f1ff;border-color:#5b3df540;box-shadow:0 .5em 1.4em #5b3df51a}
.pt-prow .nm b{display:block;font:600 .92em var(--f-d);color:var(--ink);margin-bottom:.35em}.pt-prow .nm u{display:block;height:.38em;border-radius:99px;background:#e9e8f2;overflow:hidden;text-decoration:none}.pt-prow .nm u::after{content:"";display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--vi),var(--vi2))}
.pt-prow .pt-pct{font:600 .8em var(--f-m);color:#3f4560}.pt-prow .pill{font-size:.7em}
.pt-ins{display:flex;gap:.8em;margin-top:.9em;padding:.9em 1em;border-radius:1em;background:linear-gradient(120deg,#5b3df514,#12b88610);border:1px solid #5b3df52e}
.pt-ins>i{display:grid;place-items:center;flex:none;width:2.2em;height:2.2em;border-radius:.7em;background:linear-gradient(135deg,var(--vi),var(--vi2));color:#fff;font-style:normal;font-size:.9em}
.pt-ins small{display:block;font:600 .6em var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:#5b3df5;margin-bottom:.2em}.pt-ins p{margin:0;font-size:.84em;line-height:1.5;color:#2a2f4c;min-height:3em}
.pt-fcard{position:absolute;right:-.6em;bottom:.2em;width:18em;display:grid;grid-template-columns:1fr 6.4em;grid-template-areas:"s v""b v""e v";align-items:center;column-gap:.8em;padding:.8em 1.1em;border-radius:1.2em;background:#0f1224;color:#fff;box-shadow:0 1.6em 3.4em #0f122455;animation:ptbob 6s ease-in-out infinite alternate}
.pt-fcard small{grid-area:s;display:block;font:600 .58em var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:#a6abcc}.pt-fcard b{grid-area:b;display:block;font:700 1.6em/1.15 var(--f-d);letter-spacing:-.03em}.pt-fcard em{grid-area:e;font:600 .68em var(--f-b);font-style:normal}.pt-fcard em.st-ok{color:#5eead4}.pt-fcard em.st-warn{color:#fcd34d}.pt-fcard em.st-bad{color:#ff9a8c}
.pt-fcard svg{grid-area:v;display:block;width:100%;height:3.6em;overflow:visible}.pt-fcard path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.pt-fcard .pl{stroke:#ffffff44;stroke-width:1.5;stroke-dasharray:4 4}.pt-fcard .sc{stroke:#a78bfa;stroke-width:2.4}
.pt-mchip{position:absolute;left:-.6em;bottom:.8em;display:flex;align-items:baseline;gap:.5em;padding:.7em 1.1em;border-radius:99px;background:#fff;border:1px solid var(--ln);box-shadow:0 1.2em 2.6em #5b3df52a;animation:ptbob 7s ease-in-out infinite alternate;animation-delay:-3s}
.pt-mchip span{font:600 .62em var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:#8a90a8}.pt-mchip b{font:700 1.2em var(--f-d);color:var(--ink)}.pt-mchip em{font:600 .7em var(--f-b);font-style:normal;color:#0b8a63}
@keyframes ptbob{to{transform:translateY(-.6em)}}

/* ---------- portfolio ---------- */
.pt-pf{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;align-items:start}.pt-pf>*{min-width:0}
.pt-flt{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.pt-flt button{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:99px;border:1px solid var(--ln);background:#fff;font:600 .84rem var(--f-b);color:#3f4560;cursor:pointer;transition:.3s}.pt-flt button:hover{border-color:var(--vi)}
.pt-flt button.on{background:var(--ink);border-color:var(--ink);color:#fff}.pt-flt em{font:600 .7rem var(--f-m);font-style:normal;padding:1px 8px;border-radius:99px;background:#0f12240f}.pt-flt button.on em{background:#ffffff26}
.pt-tbl{border-radius:22px;border:1px solid var(--ln);background:#fff;overflow:hidden;box-shadow:0 14px 40px #0f12240a}
.pt-th,.pt-tr{display:grid;grid-template-columns:1.5fr 1.1fr 1.1fr .55fr .9fr;gap:14px;align-items:center;padding:14px 20px}
.pt-th{background:#f6f5fb;border-bottom:1px solid var(--ln)}.pt-th button,.pt-th span{font:600 .66rem var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:#6a7090;background:none;border:0;padding:0;text-align:left;cursor:pointer}.pt-th button:hover{color:var(--vi)}.pt-th button.on{color:var(--vi)}.pt-th button.on::after{content:" " attr(data-d)}
.pt-tr{width:100%;border:0;border-top:1px solid #0f12240d;background:#fff;text-align:left;cursor:pointer;color:var(--ink);transition:background .3s;animation:ptrow .45s var(--ease) both}
@keyframes ptrow{from{opacity:0;transform:translateY(8px)}}
.pt-tr:first-child{border-top:0}.pt-tr:hover{background:#faf9ff}.pt-tr.sel{background:#f4f1ff;box-shadow:inset 3px 0 0 var(--vi)}
.pt-tr .nm{display:flex;align-items:center;gap:12px;min-width:0}.pt-tr .nm b{font:600 .92rem var(--f-d);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-tr .bar{display:flex;align-items:center;gap:10px}.pt-tr .bar u{flex:1;height:7px;border-radius:99px;background:#ebeaf4;overflow:hidden;text-decoration:none}.pt-tr .bar u::after{content:"";display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--vi),var(--vi2))}.pt-tr .bar.b2 u::after{background:linear-gradient(90deg,#0ea5e9,#67e8f9)}.pt-tr .bar em{font:600 .76rem var(--f-m);font-style:normal;color:#3f4560;min-width:2.6em;text-align:right}
.pt-tr .dy{font:600 .8rem var(--f-m);color:#3f4560}
.pt-pf-side{position:sticky;top:110px;padding:clamp(18px,2.2vw,28px);border-radius:24px;background:#fff;border:1px solid var(--ln);box-shadow:0 24px 60px #5b3df514}
.pt-pf-side header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.pt-pf-side header>div{flex:1;min-width:0}.pt-pf-side h3{margin:0;font-size:1.25rem}.pt-pf-side header small{color:#6a7090;font-size:.78rem}
.pt-pf-side .pt-av{width:44px;height:44px;font-size:.78rem}
.pt-k3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pt-k3>div{padding:12px 14px;border-radius:14px;background:#f6f5fb}.pt-k3 small{display:block;font:600 .6rem var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:#6a7090}.pt-k3 b{font:700 1.35rem var(--f-d);letter-spacing:-.02em;color:var(--ink)}.pt-k3 b.neg{color:#d63f2c}.pt-k3 b.pos{color:#0b8a63}
.pt-pf-side h5{margin:18px 0 8px;font:600 .64rem var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:#6a7090}
.pt-big{width:100%;height:88px;overflow:visible}.pt-big path{fill:none;stroke:var(--vi);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pt-big .a{fill:#5b3df51a;stroke:none}
.pt-aip{margin:0;padding:12px 14px;border-radius:14px;background:#f4f1ff;border:1px solid #5b3df52e;font-size:.88rem;line-height:1.55;color:#2a2f4c}
.acts{display:flex;flex-wrap:wrap;gap:8px}.acts button{padding:8px 14px;border-radius:99px;border:1px solid var(--ln);background:#fff;font:600 .78rem var(--f-b);color:var(--ink);cursor:pointer;transition:.3s}.acts button:hover{border-color:var(--vi);color:var(--vi)}.acts button.done{background:#12b8861a;border-color:#12b88655;color:#0b8a63}

/* ---------- heatmap (dark) ---------- */
.pt-heat{background:#0f1224;color:#fff;overflow:hidden;isolation:isolate}
.pt-heat::before{content:"";position:absolute;z-index:-1;right:-10%;top:-20%;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,#8a6bff33,transparent 65%)}
.pt-hm{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;align-items:start}.pt-hm>*{min-width:0}
.pt-hm-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.pt-hm-reset{background:#ffffff0d;border:1px solid #ffffff26;color:#d6d8ee;padding:13px 22px;border-radius:99px;cursor:pointer;font:600 .9rem var(--f-b);transition:.3s}.pt-hm-reset:hover{border-color:#fff;color:#fff}
#hmMsg{font:500 .8rem var(--f-m);color:#a6e3d4;letter-spacing:.03em}
.pt-hmap{display:grid;gap:7px;padding:18px;border-radius:22px;background:#ffffff08;border:1px solid #ffffff14}
.pt-hm-h,.pt-hm-r{display:grid;grid-template-columns:130px repeat(8,1fr);gap:7px;align-items:center}
.pt-hm-h b{font:600 .66rem var(--f-m);letter-spacing:.1em;color:#8e92b4;text-align:center}
.pt-hm-r .who{display:flex;align-items:center;gap:10px;min-width:0}.pt-hm-r .who b{font:600 .88rem var(--f-d)}.pt-hm-r .who small{display:block;color:#8e92b4;font-size:.7rem;margin-top:-2px}.pt-hm-r .pt-av{width:30px;height:30px;font-size:.7rem}
.pt-cell{display:grid;place-items:center;height:42px;border-radius:10px;font:600 .74rem var(--f-m);font-style:normal;color:#fff;transition:background .5s,color .5s,transform .3s;cursor:default}.pt-cell:hover{transform:scale(1.08)}
.pt-cell.pl0,.pt-hm-leg .pl0{background:#2a2f5a;color:#a8aed8}.pt-cell.pl1,.pt-hm-leg .pl1{background:#0d7a5f}.pt-cell.pl2,.pt-hm-leg .pl2{background:#c78a00}.pt-cell.pl3,.pt-hm-leg .pl3{background:#e0492f;box-shadow:0 0 16px #e0492f66}
.pt-hm-leg{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;font-size:.78rem;color:#a7abc9}.pt-hm-leg span{display:flex;align-items:center;gap:8px}.pt-hm-leg i{width:14px;height:14px;border-radius:4px}
.pt-hm-side{display:grid;gap:12px}
.pt-hm-k{padding:18px 20px;border-radius:18px;background:#ffffff0a;border:1px solid #ffffff14}.pt-hm-k small{display:block;font:600 .62rem var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:#8e92b4}.pt-hm-k b{font:700 2.2rem/1.1 var(--f-d);letter-spacing:-.04em;background:linear-gradient(120deg,#fff,#c9bcff);-webkit-background-clip:text;background-clip:text;color:transparent}
.pt-hm-ai{padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,#8a6bff2e,#12b88618);border:1px solid #8a6bff55}.pt-hm-ai small{font:600 .64rem var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:#d6ccff}.pt-hm-ai p{margin:6px 0 0;font-size:.9rem;line-height:1.55;color:#eceaff}

/* ---------- forecast ---------- */
.pt-fc-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:20px;align-items:stretch}.pt-fc-grid>*{min-width:0}
.pt-fc-in{display:grid;gap:22px;align-content:start;padding:clamp(20px,2.6vw,32px);border-radius:24px;background:#fff;border:1px solid var(--ln);box-shadow:0 14px 40px #0f12240a}
.pt-fc-in label span{display:flex;justify-content:space-between;margin-bottom:10px;font-weight:600;font-size:.92rem;color:var(--ink)}.pt-fc-in b{color:var(--vi);font-family:var(--f-m);font-weight:600}
.pt-fc-in input{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:99px;background:#e6e4f2;outline:none;cursor:pointer}
.pt-fc-in input::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:6px solid var(--vi);box-shadow:0 6px 16px #5b3df555;transition:transform .2s}.pt-fc-in input::-webkit-slider-thumb:hover{transform:scale(1.12)}.pt-fc-in input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:6px solid var(--vi)}
.pt-disc{margin:0;font:500 .64rem var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:#8a90a8}
.pt-fc-out{padding:clamp(20px,2.6vw,32px);border-radius:24px;background:#fff;border:1px solid var(--ln);box-shadow:0 24px 60px #5b3df514;display:grid;gap:14px;align-content:start}
.pt-fc-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pt-fc-kpi>div{padding:12px 14px;border-radius:14px;background:#f6f5fb}.pt-fc-kpi small{display:block;font:600 .6rem var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:#6a7090}.pt-fc-kpi b{display:block;font:700 1.5rem/1.15 var(--f-d);letter-spacing:-.03em;color:var(--ink)}.pt-fc-kpi span{font-size:.72rem;color:#6a7090}
.pt-fc-kpi b.st-ok{color:#0b8a63}.pt-fc-kpi b.st-warn{color:#b36f00}.pt-fc-kpi b.st-bad{color:#d63f2c}
.pt-fc-chart{width:100%;height:auto;display:block}
.pt-fc-chart .fc-gl{stroke:#0f12240f}.pt-fc-chart .fc-tx{fill:#8a90a8;font:500 10px var(--f-m)}.pt-fc-chart .fc-dlt{fill:#d63f2c;font-weight:600}
.pt-fc-chart .fc-late{fill:#ff6b5700;transition:fill .4s}.pt-fc-chart .fc-late.on{fill:#ff6b5714}
.pt-fc-chart .fc-scope{stroke:#0f1224;stroke-width:1.6;stroke-dasharray:6 5;opacity:.5}.pt-fc-chart .fc-dl{stroke:#ff6b57;stroke-width:1.6;stroke-dasharray:3 4}
.pt-fc-chart .fc-line{fill:none;stroke:var(--vi);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.pt-fc-chart .fc-line.st-bad{stroke:#ff6b57}.pt-fc-chart .fc-dot{fill:#fff;stroke:var(--vi);stroke-width:3.5}.pt-fc-chart .fc-dot.st-bad{stroke:#ff6b57}
.pt-fc-leg{display:flex;flex-wrap:wrap;gap:18px;font-size:.78rem;color:#4b516c}.pt-fc-leg span{display:flex;align-items:center;gap:8px}.pt-fc-leg i{width:18px;height:3px;border-radius:2px}.pt-fc-leg .a{background:#0f1224;opacity:.5}.pt-fc-leg .b{background:var(--vi)}.pt-fc-leg .c{background:#ff6b57}

/* ---------- report ---------- */
.pt-report{background:linear-gradient(160deg,#171a3d,#0f1224);color:#fff;overflow:hidden;isolation:isolate}
.pt-report::before{content:"";position:absolute;z-index:-1;left:-10%;bottom:-30%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,#5b3df544,transparent 65%)}
.pt-rep-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,70px);align-items:center}.pt-rep-grid>*{min-width:0}
.pt-doc{min-height:340px;padding:28px;border-radius:24px;background:#fff;color:var(--ink);border:1px solid #ffffff33;box-shadow:0 40px 90px #000a,0 0 70px #8a6bff2e;display:grid;align-content:center}
.pt-doc-empty{text-align:center;color:#8a90a8}.pt-doc-empty span{font-size:3rem}.pt-doc-empty p{color:#8a90a8}
.pt-skel{display:grid;gap:14px}.pt-skel i{display:block;height:16px;border-radius:8px;background:linear-gradient(90deg,#ecebfa 25%,#f8f7ff 50%,#ecebfa 75%);background-size:200% 100%;animation:ptsh 1.1s linear infinite}.pt-skel i:nth-child(1){width:60%;height:24px}.pt-skel i:nth-child(3){width:85%}.pt-skel i:nth-child(4){width:45%}
@keyframes ptsh{to{background-position:-200% 0}}
.pt-out{animation:ptrow .6s var(--ease)}
.pt-out-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.pt-out-top b{font:700 1.2rem var(--f-d);color:var(--ink)}.pt-out-top em{font:600 .66rem var(--f-m);font-style:normal;padding:4px 10px;border-radius:99px;background:var(--vsoft);color:#5b3df5}
.pt-kp{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.pt-kp div{padding:12px 14px;border-radius:14px;background:#f4f1ff}.pt-kp small{display:block;font:600 .62rem var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:#6a7090}.pt-kp b{font:700 1.7rem var(--f-d);color:#5b3df5}
.pt-out p{color:#3f4560;font-size:.95rem;min-height:5.6em}
.pt-exp{display:flex;gap:8px;margin-top:6px}.pt-exp span{padding:7px 14px;border-radius:99px;border:1px solid #d9dcec;font:600 .72rem var(--f-m);color:#3f4560}
.pt-skel[hidden],.pt-out[hidden],.pt-doc-empty[hidden]{display:none}

/* ---------- capability panels ---------- */
.pt-acc{display:flex;gap:14px;align-items:stretch;min-height:clamp(380px,52vh,460px)}
.pt-acc article{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;padding:clamp(20px,2.4vw,30px);border-radius:28px;background:#fff;border:1px solid var(--ln);box-shadow:0 14px 40px #0f12240a;overflow:hidden;cursor:pointer;transition:flex .6s var(--ease),box-shadow .5s,border-color .4s,background .4s}
.pt-acc article.open{flex:3.4;background:linear-gradient(160deg,#fff,#f6f3ff);border-color:#5b3df559;box-shadow:0 30px 70px #5b3df522}
.pt-acc header{display:flex;align-items:center;gap:14px}.pt-acc article:not(.open) header{flex-direction:column;align-items:flex-start;gap:20px}
.pt-ico{display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:15px;background:var(--vsoft);color:#5b3df5}.pt-ico svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pt-acc h3{margin:0;font-size:1.3rem;line-height:1.15}
.pt-acc article:not(.open) h3{writing-mode:vertical-rl;transform:rotate(180deg);font-size:1.15rem;color:#3f4560}
.pt-acc-b{margin-top:18px;display:flex;flex-direction:column;gap:14px;opacity:0;max-height:0;overflow:hidden;transition:opacity .4s .15s,max-height .6s var(--ease)}
.pt-acc article.open .pt-acc-b{opacity:1;max-height:600px}
.pt-acc-b p{margin:0;color:#3f4560;font-size:1rem}.pt-acc-b ul{display:grid;gap:9px}.pt-acc-b li{display:flex;gap:10px;font-size:.92rem;font-weight:500;color:var(--ink)}.pt-acc-b li::before{content:"✓";display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;background:var(--vsoft);color:#5b3df5;font-size:.66rem;font-weight:800;margin-top:2px}
.pt-v{display:grid;gap:12px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--ln);margin-top:4px}
.pt-v>div{display:grid;grid-template-columns:90px 1fr 40px;gap:10px;align-items:center;font-size:.82rem;font-weight:600;color:#334155}.pt-v u{display:block;height:9px;border-radius:99px;background:#e6e4f2;overflow:hidden;text-decoration:none}.pt-v u::after{content:"";display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--vi),var(--vi2))}.pt-v b{font:600 .78rem var(--f-m);text-align:right}
.pt-v.c{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;background:none}.pt-v.c em{font-style:normal;padding:8px 14px;border-radius:99px;background:var(--vsoft);border:1px solid #5b3df533;color:#4527d6;font-weight:600;font-size:.82rem}
.pt-v.s{display:flex;align-items:flex-end;gap:7px;height:84px;border:0;padding:0;background:none}.pt-v.s i{flex:1;height:var(--h);border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--vi),#c4b5fd)}.pt-v.s i:last-child{background:linear-gradient(180deg,#12b886,#99f6e4)}
.pt-v.o>div{grid-template-columns:30px 1fr auto}.pt-v.o i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--vi);color:#fff;font:700 .72rem var(--f-d);font-style:normal}.pt-v.o b{font-family:var(--f-b);color:#6a7090}

/* ---------- built / flow (dark) ---------- */
.pt-built{background:#0f1224;color:#fff}
.pt-flow2{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}
.pt-flow2::before{content:"";position:absolute;left:6%;right:6%;top:26px;height:2px;background:linear-gradient(90deg,transparent,#8a6bff77 15%,#12b88677 85%,transparent)}
.pt-flow2 li{position:relative;padding:22px;border-radius:22px;background:#ffffff08;border:1px solid #ffffff1a;transition:.4s var(--ease)}.pt-flow2 li:hover{transform:translateY(-6px);border-color:#8a6bff88;background:#8a6bff14}
.pt-flow2 span{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;margin-bottom:18px;border-radius:50%;background:linear-gradient(135deg,var(--vi),var(--vi2));font:700 .95rem var(--f-d);box-shadow:0 10px 28px #5b3df566}
.pt-flow2 h3{font-size:1.2rem}.pt-flow2 p{margin:0;font-size:.92rem;color:#cfd2ea}
.pt-who{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pt-who b{font:600 .72rem var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:#8e92b4;margin-right:6px}.pt-who span{padding:9px 18px;border-radius:99px;background:#ffffff0d;border:1px solid #ffffff22;font-weight:600;font-size:.88rem;transition:.3s}.pt-who span:hover{border-color:var(--vi2);background:#8a6bff1f}

/* ---------- faq ---------- */
.pt-faq{background:var(--pap)}
.pt-faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,80px);align-items:start}.pt-faq-grid>*{min-width:0}
.pt-faq-l{position:sticky;top:110px;align-self:start}.pt-faq-l>p:not(.pt-k){color:#4b516c}.pt-faq-l .btn{margin:6px 0 22px}
.pt-brochure{display:grid;gap:6px;padding:20px 22px;border-radius:22px;background:linear-gradient(135deg,#1b1457,#0f1b4d);color:#fff;box-shadow:0 20px 50px #1b145744}.pt-brochure b{font:600 1.05rem var(--f-d)}.pt-brochure span{font-size:.86rem;color:#cfd2ea}.pt-brochure a{margin-top:6px;font-weight:700;color:#c9bcff}
.pt-faql{display:grid;gap:12px}
.pt-faql details{border-radius:20px;background:#fff;border:1px solid var(--ln);box-shadow:0 8px 22px #0f12240a;transition:.3s}.pt-faql details[open]{border-color:#5b3df566;box-shadow:0 18px 44px #5b3df51f}
.pt-faql summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;cursor:pointer;list-style:none;font:600 1.05rem var(--f-d);color:var(--ink)}.pt-faql summary::-webkit-details-marker{display:none}
.pt-faql summary i{position:relative;flex:none;width:16px;height:16px}.pt-faql summary i::before,.pt-faql summary i::after{content:"";position:absolute;left:0;right:0;top:7px;height:2px;background:var(--vi);transition:transform .35s var(--ease)}.pt-faql summary i::after{transform:rotate(90deg)}.pt-faql details[open] summary i::after{transform:rotate(0)}
.pt-faql details p{margin:0;padding:0 24px 22px;color:#4b516c;animation:ptrow .5s var(--ease)}

@media(max-width:1100px){.pt-hero-in,.pt-pf,.pt-hm,.pt-fc-grid,.pt-rep-grid,.pt-faq-grid{grid-template-columns:1fr}.pt-stage{--u:1px;width:min(36em,100%)}.pt-pf-side,.pt-faq-l{position:static}.pt-flow2{grid-template-columns:repeat(2,1fr)}.pt-flow2::before{display:none}.pt-fc-kpi{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.pt-acc{flex-direction:column;min-height:0}.pt-acc article,.pt-acc article.open{flex:none}.pt-acc article:not(.open) header{flex-direction:row;align-items:center}.pt-acc article:not(.open) h3{writing-mode:horizontal-tb;transform:none}.pt-acc-b{margin-top:14px}}
@media(max-width:760px){.pt-th{display:none}.pt-tr{grid-template-columns:1fr auto;gap:8px}.pt-tr .bar,.pt-tr .dy{display:none}.pt-hm-h,.pt-hm-r{grid-template-columns:84px repeat(8,1fr);gap:4px}.pt-hm-r .who small,.pt-hm-r .who .pt-av{display:none}.pt-cell{height:32px;font-size:.62rem;border-radius:7px}.pt-hmap{padding:10px}}
@media(max-width:600px){.pt-flow2{grid-template-columns:1fr}.pt-stage{--u:.8px;width:100%}.pt-fcard,.pt-mchip{display:none}.pt-k3{grid-template-columns:1fr 1fr 1fr}.pt-v>div{grid-template-columns:76px 1fr 38px}}
@media(prefers-reduced-motion:reduce){.pt-fcard,.pt-mchip,.pt-skel i,.pt-live::before{animation:none}}
