:root{--bg: #05071f;--bg-2: #0a0e2e;--card: #10153f;--card-2: #151b4d;--vr-violet: #6131f9;--vr-violet-2: #7347f5;--vr-violet-light: #ad8afe;--vr-pink: #fbcdff;--ink: #e9e7f9;--heading: #f6f4ff;--muted: #a3a0cf;--line: rgba(233, 231, 249, .12);--grad: linear-gradient(92deg, #7347f5 0%, #fbcdff 70%);--grad-text: linear-gradient(92deg, #9a7cff 0%, #fbcdff 70%);--warn: #fbbf24;--font-display: "Bai Jamjuree", sans-serif;--font-body: "Be Vietnam Pro", system-ui, sans-serif;--pad: clamp(1.25rem, 4vw, 3rem);--max: 1180px;--ease: cubic-bezier(.16, 1, .3, 1);--c: var(--vr-violet-light)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-body);font-weight:400;font-size:17px;line-height:1.65;color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;background:radial-gradient(900px 500px at 85% -10%,rgba(97,49,249,.22),transparent 60%),radial-gradient(700px 400px at -10% 30%,rgba(251,205,255,.06),transparent 60%)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--heading);line-height:1.2;font-weight:600}h1{font-size:clamp(2.4rem,5.6vw,4.4rem);font-weight:700;letter-spacing:-.01em}h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}h3{font-size:1.25rem}h4{font-size:1.12rem}a{color:inherit;text-decoration:none}b,strong{font-weight:600;color:var(--heading)}img{display:block;max-width:100%}ul,ol{list-style:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}:focus-visible{outline:2px solid var(--vr-violet-light);outline-offset:3px;border-radius:6px}.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}.grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.kicker{font-family:var(--font-display);font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--vr-violet-light);margin-bottom:.6rem}.lead{font-size:1.12rem;color:var(--ink);max-width:62ch;margin-top:.9rem}.muted{color:var(--muted)}.ico{width:1.25em;height:1.25em;flex:none}.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:600;background:var(--vr-violet);color:#fff;padding:.75rem 1.3rem;border-radius:999px;transition:background .2s}.btn:hover{background:var(--vr-violet-2)}.btn--sm{padding:.4rem 1rem;font-size:.9rem}.btn--lg{padding:1rem 1.6rem;font-size:1.05rem}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1.5rem;padding:.8rem var(--pad);background:#05071fdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand-logo{display:block;height:22px;width:auto;filter:drop-shadow(0 1px 6px rgba(5,7,31,.55))}@media(max-width:599px){.brand-logo{height:18px}}.topnav{display:flex;gap:.3rem;margin-left:auto;overflow-x:auto;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}.topnav a{padding:.35rem .8rem;border-radius:999px;font-size:.92rem;color:var(--muted);white-space:nowrap;transition:color .2s,background .2s}.topnav a:hover,.topnav a.is-active{color:var(--heading);background:#ad8afe24}.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal.is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}@media(max-width:760px){body{font-size:16px}.topbar{gap:.8rem}.topnav{margin-left:0;flex:1}}.progress{position:fixed;left:0;right:0;top:57px;z-index:45;background:#05071feb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.progress[hidden]{display:none}.progress__inner{display:flex;align-items:center;gap:1.5rem;padding-top:.55rem;padding-bottom:.55rem}.progress__label{flex:0 1 auto;min-width:0;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress__label b{font-family:var(--font-display);color:var(--vr-violet-light)}.progress__bar{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;min-width:260px}.progress__bar a{display:block;padding:6px 0}.progress__bar a{position:relative}.progress__bar a:before{content:"";display:block;height:4px;border-radius:2px;background:#e9e7f91f}.progress__bar a:after{content:"";position:absolute;left:0;right:0;top:6px;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--vr-violet),var(--vr-violet-light));transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease),opacity .4s}.progress__bar a.is-done:after{transform:scaleX(1);opacity:.7}.progress__bar a.is-current:after{transform:scaleX(1)}.progress__bar span{display:block;font-size:.72rem;color:var(--muted);text-align:center;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress__bar a.is-current span{color:var(--heading)}.step{min-height:92vh;display:flex;align-items:center;padding:clamp(4.5rem,7vw,6rem) 0 clamp(3.5rem,6vw,5rem);scroll-margin-top:60px}.step--alt{background:linear-gradient(180deg,#10153f8c,#10153f40)}.step__in{width:100%;max-width:1140px}.step__head{text-align:center;max-width:760px;margin:0 auto}.step__head .lead{margin:.8rem auto 0;font-size:1.2rem;color:var(--muted)}.step__num{font:600 .95rem var(--font-display);letter-spacing:.06em;color:var(--muted);margin-bottom:.6rem}.step__num b{color:var(--vr-violet-light)}.step{overflow-x:clip}.step__hero{--ar: 2.4;--hw: min(92vw, 1600px, calc(66vh * var(--ar)));position:relative;isolation:isolate;width:var(--hw);max-width:none;margin:clamp(2.4rem,4.5vw,3.6rem) calc((100% - var(--hw)) / 2)}.step__hero--gantt{--ar: 2}.step__hero--scene{--ar: 1.79}.step__hero:before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-2.5rem calc(50% - 50vw);background:linear-gradient(180deg,transparent,rgba(97,49,249,.07) 30%,rgba(97,49,249,.07) 70%,transparent)}.step__hero+.kcards,.step__hero~.panel>.kcards:first-child{--kw: min(92vw, 1400px);width:var(--kw);margin-inline:calc((100% - var(--kw)) / 2)}.vis{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 18px 40px rgba(97,49,249,.14))}.vis-legend{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.9rem;color:var(--muted);margin-top:.8rem}.vis-legend .ico{width:16px;height:16px}.v-t{font:500 19px var(--font-body);fill:var(--ink)}.v-s{font:400 16px var(--font-body);fill:var(--muted)}.v-b{font:500 22px var(--font-display);fill:var(--heading)}.v-xl{font:500 32px var(--font-display);fill:var(--heading);letter-spacing:.02em}.v-huge{font:400 108px var(--font-display);fill:var(--vr-violet-light)}.v-ok{font:500 22px var(--font-display);fill:#34d399}.v-wm{font:500 19px var(--font-display);fill:#fff;opacity:.35}.g-t{font:400 17px var(--font-body);fill:var(--ink)}.gantt--narrow{display:none}.gantt--narrow .g-t{font-size:15px}.gantt--narrow .v-s{font-size:13px}.gantt--narrow .v-b{font-size:17px}.kcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.kcard{position:relative;padding:1.5rem 1.3rem 1.3rem;border-radius:18px;background:var(--card);border:1px solid var(--line);text-align:center;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s,opacity .3s}.kcard:hover{transform:translateY(-3px);border-color:#ad8afe73;box-shadow:0 14px 34px -18px #6131f98c}.kcard .spot{width:60px;height:60px;color:var(--vr-violet-light);margin:0 auto .8rem;display:block}.kcard h3{font-size:1.15rem;margin-bottom:.25rem}.kcard p{font-size:.97rem;color:var(--muted);line-height:1.5}.kcard--warn{border-color:#fbbf2459;background:#fbbf240f}.kcard--warn .spot{color:var(--warn)}.kcard__n{position:absolute;top:.8rem;left:.8rem;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:700 .9rem var(--font-display);background:var(--vr-violet);color:#fff}.kcards--flow .kcard:not(:last-child):after{content:"";position:absolute;right:-.85rem;top:50%;width:.7rem;height:1px;background:var(--vr-violet-light);opacity:.6}.kcard--round{display:grid;gap:.5rem;align-content:center}.kcard__v{font:700 2rem/1 var(--font-display);color:var(--heading);margin-bottom:.3rem}.rpill{display:inline-block;justify-self:center;padding:.25rem .8rem;border-radius:999px;font-size:.92rem;font-weight:600}.rpill--tech{background:#e11d742e;color:#ff8cc0}.rpill--aes{background:#0d948833;color:#5eead4}.rpill.is-off{background:transparent;color:var(--muted);text-decoration:line-through;opacity:.6}.small-note{display:flex;gap:.5rem;align-items:flex-start;justify-content:center;font-size:.92rem;color:var(--muted);margin-top:1.2rem;text-align:center}.small-note .ico{margin-top:.15rem;color:var(--vr-violet-light)}.more{margin-top:1.4rem}.more>summary{list-style:none;cursor:pointer;width:fit-content;margin:0 auto;display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:999px;border:1px solid var(--line);font:600 .95rem var(--font-display);color:var(--vr-violet-light);transition:border-color .2s,background .2s}.more>summary::-webkit-details-marker{display:none}.more>summary:after{content:"+";font-size:1.2rem;line-height:1}.more[open]>summary:after{content:"–"}.more>summary:hover{border-color:var(--vr-violet-light);background:#ad8afe14}.more__body{margin-top:1.4rem;padding:clamp(1.2rem,3vw,2rem);border-radius:18px;background:var(--bg-2);border:1px solid var(--line)}.tasks{display:grid;gap:.7rem;margin:1rem 0 .4rem}.task{display:flex;gap:.9rem;align-items:flex-start;padding:.9rem 1.1rem;border-radius:14px;background:var(--card);border:1px solid var(--line)}.task--confirm{border-left:4px solid var(--c)}.task__n{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;font:700 .9rem var(--font-display);color:var(--bg);background:var(--c)}.task h4{font-size:1.05rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.task p{font-size:.97rem}.task small{font-size:.86rem;color:var(--muted)}.tag{display:inline-flex;align-items:center;gap:.3rem;font:500 .8rem var(--font-body);padding:.1rem .55rem;border-radius:8px;background:color-mix(in srgb,var(--c) 20%,transparent);color:var(--heading)}.tag .ico{width:14px;height:14px;color:var(--c)}@media(max-width:900px){.step{min-height:0;padding:4.5rem 0 3.5rem}.step__head .lead{font-size:1.05rem}.step__hero{margin-block:2rem}.gantt--wide{display:none}.gantt--narrow{display:block}.progress{top:53px}.progress__inner{flex-direction:column;align-items:stretch;gap:.2rem;padding-top:.4rem;padding-bottom:.3rem}.progress__bar{min-width:0}.progress__bar span{display:none}.progress__bar a{padding:4px 0}.progress__bar a:after{top:4px}.progress__label{font-size:.85rem}}@media(max-width:760px){.step__hero,.step__hero--gantt,.step__hero--scene{--hw: 100vw}.step__hero:before{inset-block:-1.5rem}.step__hero .fb__scene{border-radius:0}.step__hero .pinlist,.step__hero .vis-legend,.step__hero .gantt{padding-inline:var(--pad)}.step__hero+.kcards,.step__hero~.panel>.kcards:first-child{--kw: 100%}.kcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.kcard{padding:1.1rem .8rem 1rem;border-radius:14px}.kcard .spot{width:44px;height:44px;margin-bottom:.5rem}.kcard h3{font-size:1rem}.kcard p{font-size:.88rem}.kcards>.kcard:last-child:nth-child(odd){grid-column:span 2}.kcards--flow .kcard:after{display:none}.kcard__v{font-size:1.6rem}}.notes{display:grid;gap:.7rem;margin-top:1.3rem}.note{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1.1rem;border-radius:12px;background:#ad8afe14;border:1px solid rgba(173,138,254,.2);font-size:.97rem}.note .ico{margin-top:.15rem;color:var(--vr-violet-light)}.note--warn{background:#fbbf2412;border-color:#fbbf244d}.note--warn .ico{color:var(--warn)}.intro{min-height:calc(100vh - 57px);display:flex;flex-direction:column;justify-content:center;padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(3rem,6vw,4rem)}.intro__head{text-align:center;max-width:820px;margin:0 auto}.intro__head .lead{margin:1rem auto 0;font-size:1.25rem;color:var(--muted)}.overview{display:grid;grid-template-columns:repeat(7,1fr);gap:.6rem;margin:clamp(2rem,5vw,3.5rem) 0}.overview a{position:relative;display:grid;justify-items:center;gap:.3rem;padding:1.1rem .5rem 1rem;text-align:center;border-radius:16px;background:var(--card);border:1px solid var(--line);height:100%;transition:border-color .2s,transform .2s}.overview a:hover{border-color:var(--vr-violet-light);transform:translateY(-2px)}.overview .spot{width:52px;height:52px;color:var(--vr-violet-light);margin-bottom:.2rem}.overview b{font:700 .85rem/1 var(--font-display);color:var(--muted)}.overview span{font:600 .98rem var(--font-display);color:var(--heading);line-height:1.25}.overview li:not(:last-child) a:after{content:"";position:absolute;right:-.5rem;top:50%;width:.4rem;height:2px;background:var(--vr-violet-light);opacity:.6}.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;max-width:1080px;width:100%;margin:clamp(2rem,5vw,3rem) auto 0}.stages li{position:relative;display:flex;align-items:center;gap:.9rem;padding:1.1rem 1.2rem;border-radius:18px;background:linear-gradient(135deg,rgba(97,49,249,.18),var(--card) 70%);border:1px solid rgba(173,138,254,.3)}.stages li:not(:last-child):after{content:"";position:absolute;right:-1.25rem;top:50%;width:.9rem;height:2px;background:var(--vr-violet-light);opacity:.7}.stages .spot{width:56px;height:56px;flex:none;color:var(--vr-violet-light)}.stages h3{font-size:1.08rem;margin-bottom:.15rem}.stages p{font-size:.92rem;color:var(--muted);line-height:1.4}.scroll-cue{display:inline-flex;align-items:center;gap:.5rem;margin:2.4rem auto 0;font:600 1rem var(--font-display);color:var(--vr-violet-light)}.scroll-cue .ico{transform:rotate(90deg)}.lane__h{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:1.15rem;margin-bottom:.7rem}.lane__h .ico{width:24px;height:24px;color:var(--c)}.lane__h em{font:400 .88rem var(--font-body);color:var(--muted);margin-left:auto}.lane+.lane{margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--line)}.svc-intro{margin-bottom:.4rem}.svc-intro a{display:inline-flex;align-items:center;gap:.3rem;color:var(--c);font-weight:500}.svc-intro a .ico{width:16px;height:16px}.cols2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.label{font:600 .78rem var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.4rem}.label--req{color:var(--c)}.checks li label{display:flex;gap:.7rem;align-items:flex-start;padding:.35rem 0;cursor:pointer}.checks input{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:20px;height:20px;margin-top:.2rem;border:1.5px solid var(--c);border-radius:5px;display:grid;place-items:center;cursor:pointer}.checks input:checked{background:var(--c)}.checks input:checked:after{content:"";width:9px;height:5px;border:2px solid var(--bg);border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}.checks input:checked+span{color:var(--muted);text-decoration:line-through}.checks--opt input{border-style:dashed;border-color:var(--muted)}.bullets{display:grid;gap:.6rem}.bullets li{position:relative;padding-left:1.3rem}.bullets li:before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;border-radius:50%;background:var(--vr-violet-light)}.fb__switch{display:flex;padding:5px;border-radius:999px;background:var(--card);border:1px solid var(--line);margin:1.8rem auto 0;width:fit-content;max-width:100%}.fb__switch button{padding:.65rem 1.4rem;border-radius:999px;font-family:var(--font-display);font-weight:600;color:var(--muted);transition:background .2s,color .2s}.fb__switch button[data-mode=technical][aria-selected=true]{background:#e11d74;color:#fff}.fb__switch button[data-mode=aesthetic][aria-selected=true]{background:#0d9488;color:#fff}.fb__def{display:none;max-width:640px;margin:.9rem auto 0;text-align:center;color:var(--muted);font-size:.98rem}.step[data-mode=technical] .fb__def--technical,.step[data-mode=aesthetic] .fb__def--aesthetic{display:block}.fb__scene{position:relative;border-radius:18px;overflow:hidden;margin:0 auto}.scene{display:block;width:100%;height:auto}.pins{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity .3s}.step[data-mode=technical] .pins--aesthetic,.step[data-mode=aesthetic] .pins--technical{opacity:0;pointer-events:none}.pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-15px,-15px);display:flex;align-items:center;gap:.4rem}.pin--left{flex-direction:row-reverse;transform:translate(calc(-100% + 15px),-15px)}.pin__n{width:30px;height:30px;flex:none;border-radius:50% 50% 50% 0;display:grid;place-items:center;font:700 .9rem var(--font-display);color:#fff;background:#e11d74;box-shadow:0 3px 10px #00000059}.pin--aesthetic .pin__n{background:#0d9488}.pin__t{font-size:.9rem;font-weight:500;line-height:1.3;color:#0b0d2a;background:#fffffff2;padding:.25rem .6rem;border-radius:8px;max-width:200px;box-shadow:0 3px 10px #00000040}.pinlist{display:none;gap:.35rem;margin-top:.9rem}.pinlist li{display:flex;gap:.6rem;align-items:center;font-size:.95rem}.pinlist b{width:24px;height:24px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:.8rem;color:#fff;background:#e11d74}.pinlist--aesthetic b{background:#0d9488}.dgroups{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.dgroup h4{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.dgroup h4 .ico{color:var(--c)}.dlist{display:grid;gap:.45rem}.dlist li{display:grid;grid-template-columns:4rem 1fr;gap:.1rem .8rem;padding:.55rem .8rem;border-radius:10px;background:var(--card);border-left:3px solid var(--c)}.dlist code{grid-row:span 2;font:700 .85rem var(--font-display);color:var(--c);padding-top:.15rem}.dlist span{font-weight:500;color:var(--heading)}.dlist small{font-size:.86rem;color:var(--muted)}.faq-title{font-size:1.5rem;text-align:center;margin:3.5rem 0 1.2rem;scroll-margin-top:120px}.faq{display:grid;gap:.6rem;max-width:820px;margin:0 auto}.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px}.faq summary{cursor:pointer;list-style:none;padding:1rem 1.2rem;font:600 1.02rem var(--font-display);color:var(--heading);display:flex;justify-content:space-between;gap:1rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--vr-violet-light);font-size:1.3rem;line-height:1}.faq details[open] summary:after{content:"–"}.faq details p{padding:0 1.2rem 1.1rem}#lien-he{padding-top:clamp(3rem,7vw,5rem)}.contact{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;padding:clamp(1.6rem,4vw,3rem);border-radius:24px;background:linear-gradient(135deg,#6131f952,#10153fe6 60%);border:1px solid rgba(173,138,254,.3)}.contact__links{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1.3rem}.contact__links a{display:inline-flex;align-items:center;gap:.45rem;color:var(--heading);font-weight:500}.contact__links a:hover,.contact__links .ico{color:var(--vr-violet-light)}.disclaimer{font-size:.9rem;color:var(--muted);margin-top:1.2rem}.foot{margin:3rem 0 2rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}@media(max-width:1000px){.overview{grid-template-columns:repeat(4,1fr)}.overview li a:after{display:none}}@media(max-width:900px){.pin__t{display:none}.pinlist{display:grid}.step[data-mode=technical] .pinlist--aesthetic,.step[data-mode=aesthetic] .pinlist--technical{display:none}.cols2{grid-template-columns:1fr;gap:.8rem}}@media(max-width:760px){.topbar .btn{display:none}.intro{min-height:0}.overview{grid-template-columns:repeat(4,1fr);gap:.4rem}.overview a{padding:.7rem .2rem;border-radius:12px}.overview .spot{width:34px;height:34px}.overview span{font-size:.75rem}.stages{grid-template-columns:1fr;gap:.9rem}.stages li:not(:last-child):after{right:auto;left:2.9rem;top:auto;bottom:-.75rem;width:2px;height:.6rem}.fb__switch{width:100%}.fb__switch button{flex:1;padding:.6rem .4rem;font-size:.92rem}.contact{grid-template-columns:1fr}}@media print{@page{size:A4;margin:14mm}html,body{background:#fff!important;color:#111!important;font-size:11pt}:root{--ink: #222;--heading: #05071f;--muted: #555;--card: #fff;--card-2: #fff;--bg: #fff;--bg-2: #fff;--line: #ccc}.topbar,.progress,.fb__switch,.pdf-link,.scroll-cue,.more>summary{display:none!important}.reveal{opacity:1!important;transform:none!important}.grad{color:#6131f9;-webkit-text-fill-color:#6131f9;background:none}.intro{min-height:0}.step{min-height:0;padding:1rem 0;break-before:page;background:none}.step__hero{width:auto!important;margin:1rem auto!important;max-width:80%;background:#0a0e2e;border-radius:12px;padding:.6rem}.step__hero:before{display:none}.step__hero+.kcards,.step__hero~.panel>.kcards:first-child{width:auto!important;margin-inline:0!important}.step{overflow:visible}.gantt--narrow{display:none!important}.gantt--wide,.fb__def{display:block!important}.pin__t{display:none}.pinlist{display:grid!important}.more__body{border:0;padding:0;margin-top:1rem}.kcard,.task,.dlist li,.note{break-inside:avoid}.contact{background:#f3f0ff}a{color:inherit}}:root{--stag: .11s;--soft: cubic-bezier(.22, 1, .36, 1)}@keyframes m-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes m-pop{0%{opacity:0;transform:scale(.96)}}@keyframes m-fade{0%{opacity:0}}@keyframes m-rise{0%{opacity:0;translate:0 16px}}@keyframes m-fly{0%{opacity:0;transform:translate(-36px,-26px) rotate(-5deg)}}@keyframes m-grow{0%{transform:scaleX(0)}}@keyframes m-flip{0%{opacity:0;transform:scaleY(.2)}}@keyframes m-lid{0%{opacity:0;transform:translateY(-26px)}}@keyframes m-stamp{0%{opacity:0;transform:scale(1.35) rotate(-8deg)}65%{opacity:1;transform:scale(.97) rotate(1deg)}to{opacity:1;transform:none}}@keyframes m-drop{0%{opacity:0;translate:0 -30px}60%{opacity:1;translate:0 3px}to{opacity:1;translate:0 0}}@keyframes m-sweep{0%{transform:translate(0)}to{transform:translate(460px)}}@keyframes m-flow{to{stroke-dashoffset:-24}}@keyframes m-blink{50%{opacity:.35}}@keyframes m-drift{to{transform:translate(26px)}}@keyframes m-ripple{0%{transform:translate(-8px);opacity:.6}to{transform:translate(8px);opacity:1}}@keyframes m-glow{50%{transform:translate(6%,4%) scale(1.08)}}.vis .pop,.vis .fly,.vis .stamp,.vis .flip,.vis .lid,.vis .grow,.scene .drift,.scene .ripple{transform-box:fill-box;transform-origin:center}.vis .grow{transform-origin:left center}.vis .flip{transform-origin:center bottom}.spot path[pathLength],.vis path[pathLength]{stroke-dasharray:1}.intro{position:relative;isolation:isolate;overflow-x:clip}.intro:before,.intro:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(10px)}.intro:before{width:46vw;height:46vw;left:-14vw;top:-10vw;background:radial-gradient(circle,rgba(97,49,249,.22),transparent 65%)}.intro:after{width:38vw;height:38vw;right:-12vw;bottom:4vw;background:radial-gradient(circle,rgba(173,138,254,.14),transparent 65%)}.more[open]>.more__body,.faq details[open]>p{animation:m-rise .5s var(--soft) both}@media screen and (prefers-reduced-motion:no-preference){.motion .anim:not(.is-in) .draw{stroke-dashoffset:1}.motion .anim:not(.is-in) :is(.pop,.fly,.stamp,.flip,.lid){opacity:0}.motion .anim:not(.is-in) .grow{transform:scaleX(0)}.motion .kcards.anim:not(.is-in)>.kcard,.motion .pins.anim:not(.is-in) .pin,.motion .pinlist.anim:not(.is-in) li,.motion .intro.anim:not(.is-in) :is(.intro__head>*,.overview li,.stages li){opacity:0}.motion .anim.is-in .draw{animation:m-draw 1.1s var(--soft) calc(var(--d, 0) * var(--stag)) both}.motion .anim.is-in .pop{animation:m-pop .7s var(--soft) calc(var(--d, 0) * var(--stag)) both}.motion .anim.is-in .fly{animation:m-fly .9s var(--soft) calc(var(--d, 0) * var(--stag)) both}.motion .anim.is-in .stamp{animation:m-stamp .75s var(--soft) calc(var(--d, 0) * var(--stag)) both}.motion .anim.is-in .flip{animation:m-flip .7s var(--soft) calc(var(--d, 0) * var(--stag)) both}.motion .anim.is-in .lid{animation:m-lid .7s var(--soft) calc(var(--d, 0) * var(--stag)) both}.motion .anim.is-in .grow{animation:m-grow .9s var(--soft) calc(var(--d, 0) * var(--stag)) both}.motion .anim.is-in .v-wm{animation:m-fade 1.6s ease calc(3 * var(--stag)) both}.motion .anim.is-in .sweep{animation:m-sweep 1.4s var(--soft) calc(7 * var(--stag)) both}.motion .kcards.anim.is-in>.kcard{animation:m-rise .7s var(--soft) calc(var(--i, 0) * .1s) backwards}.motion .kcards.anim.is-in>.kcard .spot path[pathLength]{animation:m-draw 1s var(--soft) calc(var(--i, 0) * .1s + .2s) backwards}.motion .kcards.anim.is-in>.kcard:hover .spot path[pathLength],.motion .overview a:hover .spot path[pathLength]{animation:m-draw .9s var(--soft)}.motion .pins.anim.is-in .pin{animation:m-drop .65s var(--soft) calc(var(--i, 0) * .12s + .2s) backwards}.motion .pinlist.anim.is-in li{animation:m-rise .5s var(--soft) calc(var(--i, 0) * 80ms) backwards}.motion .intro.anim.is-in .intro__head>*{animation:m-rise .8s var(--soft) backwards}.motion .intro.anim.is-in .intro__head>:nth-child(2){animation-delay:.1s}.motion .intro.anim.is-in .intro__head>:nth-child(3){animation-delay:.2s}.motion .intro.anim.is-in .overview li{animation:m-rise .7s var(--soft) calc(.35s + var(--i, 0) * 90ms) backwards}.motion .intro.anim.is-in .overview .spot path[pathLength]{animation:m-draw 1.1s var(--soft) calc(.45s + var(--i, 0) * 90ms) backwards}.motion .intro.anim.is-in .overview li a:after{transform-origin:left;animation:m-grow .5s var(--soft) calc(.6s + var(--i, 0) * 90ms) backwards}.motion .intro.anim.is-in .stages li{animation:m-rise .8s var(--soft) calc(.25s + var(--i, 0) * .12s) backwards}.motion .intro.anim.is-in .stages .spot path[pathLength]{animation:m-draw 1.1s var(--soft) calc(.35s + var(--i, 0) * .12s) backwards}.motion .intro:before{animation:m-glow 20s ease-in-out infinite}.motion .intro:after{animation:m-glow 20s ease-in-out -10s infinite reverse}.motion #pg-t.is-in{animation:m-fade .45s ease both}.motion .anim.is-live .flow{animation:m-flow 1.8s linear infinite}.motion .anim.is-live .blink{animation:m-blink 3s ease-in-out infinite}.motion .anim.is-live .drift{animation:m-drift 14s ease-in-out infinite alternate}.motion .anim.is-live .drift--slow{animation-duration:22s;animation-direction:alternate-reverse}.motion .anim.is-live .ripple{animation:m-ripple 5s ease-in-out infinite alternate}.motion .anim.is-live .ripple--b{animation-duration:7s;animation-direction:alternate-reverse}}@media print,(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important}.intro:before,.intro:after{display:none}.vis .grow{transform:none}}
