:root{--emerald:#00a85a;--emerald-deep:#007a42;--emerald-tint:#e6fef2;--emerald-hover:#009952;--ink:#1c1a17;--warm:#fffefa;--card:#f5f5f0;--surface:#e4e4f0;--muted:#6b6760;--mono:"JetBrains Mono", "IBM Plex Mono", "Courier New", monospace;--body:"Inter", system-ui, -apple-system, sans-serif;--maxw:1200px;--r:14px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--body);background:var(--warm);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.72rem}.mono .g,.g{color:var(--emerald)}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--emerald-deep);margin-bottom:18px;font-size:.74rem}header.site{z-index:50;backdrop-filter:blur(10px);background:#fffefad9;border-bottom:1px solid #1c1a1714;position:sticky;top:0}.topbar{justify-content:space-between;align-items:center;height:68px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand img{height:26px}.brand .v{font-family:var(--mono);color:var(--muted);letter-spacing:.08em;text-transform:lowercase;border-left:1px solid #1c1a1733;padding-left:10px;font-size:.66rem}nav.main{align-items:center;gap:28px;display:flex}nav.main a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink);opacity:.78;font-size:.74rem;transition:opacity .15s,color .15s}nav.main a:hover,nav.main a.active{opacity:1;color:var(--emerald-deep)}.btn{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:.78rem;font-weight:500;transition:transform .12s,background .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--emerald);color:var(--warm)}.btn-primary:hover{background:var(--emerald-hover)}.btn-ghost{color:var(--ink);background:0 0;border-color:#1c1a1738}.btn-ghost:hover{border-color:var(--emerald);color:var(--emerald-deep)}.menu-toggle{font-family:var(--mono);cursor:pointer;color:var(--ink);background:0 0;border:0;font-size:1.1rem;display:none}.hero{padding:72px 0 56px;position:relative}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:48px;display:grid}h1{letter-spacing:-.02em;font-size:clamp(2.4rem,5.2vw,4rem);font-weight:800;line-height:1.02}h1 .dot{color:var(--emerald)}.lead{color:#43403b;max-width:34ch;margin:22px 0 28px;font-size:1.12rem}.hero-cta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.demo-link{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);opacity:.8;font-size:.76rem}.hero-media{border-radius:var(--r);background:var(--card);overflow:hidden;box-shadow:0 24px 60px -28px #1c1a1766}.hero-media video,.hero-media img{width:100%;height:auto}.stats{border-top:1px solid #1c1a171a;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:54px;padding-top:34px;display:grid}.stat .num{letter-spacing:-.02em;font-size:2rem;font-weight:800}.stat .lbl{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:4px;font-size:.68rem}.pipeline{flex-wrap:wrap;align-items:center;gap:10px;margin-top:40px;display:flex}.pill{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;background:var(--warm);border:1px solid #1c1a172e;border-radius:999px;padding:9px 16px;font-size:.72rem}.pill.toi{border-color:var(--emerald);color:var(--emerald-deep)}.arrow{color:var(--emerald);font-family:var(--mono)}section{padding:64px 0}section.tint{background:var(--emerald-tint)}section.card-bg{background:var(--card)}.sec-head{max-width:62ch;margin-bottom:40px}h2{letter-spacing:-.02em;font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:800;line-height:1.08}.sec-head p{color:#43403b;margin-top:14px;font-size:1.05rem}.cols-3{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.cols-4{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.cols-2{grid-template-columns:1fr 1fr;gap:32px;display:grid}.card{background:var(--warm);border-radius:var(--r);border:1px solid #1c1a171a;padding:26px}section.card-bg .card{background:var(--warm)}.card .tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--emerald-deep);margin-bottom:12px;font-size:.68rem}.card h3{margin-bottom:8px;font-size:1.18rem;font-weight:700}.card p{color:#54514b;font-size:.96rem}.num-block .n{font-family:var(--mono);color:var(--emerald-deep);letter-spacing:.1em;margin-bottom:8px;font-size:.9rem}.parcours-card{border-top:3px solid var(--emerald);flex-direction:column;display:flex}.parcours-card.soon{border-top-color:#1c1a172e}.badge-soon{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid #1c1a172e;border-radius:999px;padding:5px 11px;font-size:.62rem;display:inline-block}.parcours-card .dur{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-size:.7rem}.parcours-card h3{font-size:1.3rem}.parcours-card .who{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:14px 0 6px;font-size:.66rem}.parcours-card .out{color:var(--emerald-deep);margin-top:8px;font-size:.95rem;font-weight:600}.parcours-card .modpath{font-family:var(--mono);color:var(--muted);margin-top:10px;font-size:.72rem}.term{background:var(--ink);border-radius:var(--r);font-family:var(--mono);color:#d7d4ce;border:1px solid #00a85a2e;padding:22px 24px;font-size:.82rem;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff08,0 18px 40px -30px #1c1a17cc}.term:before{content:"";pointer-events:none;background:linear-gradient(#00a85a00,#00a85a0f,#00a85a00);height:150%;animation:7.5s linear infinite termScan;position:absolute;inset:-120% 0 auto}.term:after{content:"";pointer-events:none;opacity:.35;background:repeating-linear-gradient(#ffffff04 0 1px,#0000 1px 4px);position:absolute;inset:0}.term .bar{gap:7px;margin-bottom:16px;display:flex}.term .bar i{background:#3a3833;border-radius:50%;width:11px;height:11px;display:block}.term .path{color:var(--emerald);margin-bottom:12px}.term .path:after{content:" _";color:#00a85ae6;animation:1s steps(2,end) infinite termBlink}.term .row{color:#cfccc6;justify-content:space-between;padding:3px 0;display:flex}.term .row .ok{color:var(--emerald)}.term .prog{color:var(--emerald);margin-top:14px}.term .progbar{background:#2a2824;border-radius:3px;height:12px;margin-top:8px;overflow:hidden}.term .progbar span{background:var(--emerald);width:64%;height:100%;display:block}@keyframes termBlink{0%,49%{opacity:1}50%,to{opacity:.25}}@keyframes termScan{0%{transform:translateY(-70%)}to{transform:translateY(170%)}}.banner{border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:40px;display:flex}.banner.emerald{background:var(--emerald);color:var(--warm)}.banner.emerald .btn-primary{background:var(--warm);color:var(--ink)}.banner.ink{background:var(--ink);color:var(--warm)}.banner h3{max-width:24ch;font-size:1.5rem;font-weight:800}.banner .big{letter-spacing:-.02em;font-size:3rem;font-weight:800}.check{flex-direction:column;gap:14px;list-style:none;display:flex}.check li{align-items:flex-start;gap:12px;font-size:1rem;display:flex}.check li:before{content:"✓";color:var(--emerald);font-weight:700;font-family:var(--mono)}.refuse{flex-direction:column;gap:10px;list-style:none;display:flex}.refuse li{color:var(--muted);gap:12px;display:flex}.refuse li:before{content:"✕";color:#b33;font-family:var(--mono)}.quote{letter-spacing:-.01em;text-align:center;max-width:24ch;margin:0 auto;font-size:clamp(1.4rem,3vw,2.1rem);font-weight:700;line-height:1.25}.quote .g{color:var(--emerald-deep)}.timeline{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.tl-step{background:var(--warm);border-radius:var(--r);border:1px solid #1c1a171a;padding:22px}.tl-step .wk{font-family:var(--mono);color:var(--emerald-deep);text-transform:uppercase;letter-spacing:.08em;font-size:.66rem}.tl-step h4{margin:8px 0;font-size:1.05rem}.tl-step p{color:#54514b;font-size:.88rem}.form{flex-direction:column;gap:16px;max-width:420px;display:flex}.form label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.68rem}.form input,.form select,.form textarea{width:100%;font-family:var(--body);background:var(--warm);border:1px solid #1c1a1733;border-radius:10px;margin-top:6px;padding:13px 14px;font-size:.95rem}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--emerald);border-color:#0000}.faq{flex-direction:column;gap:12px;display:flex}.faq details{background:var(--warm);border:1px solid #1c1a171f;border-radius:10px;padding:14px 18px}.faq summary{cursor:pointer;font-weight:600;list-style:none}.faq summary:after{content:"+";float:right;color:var(--emerald);font-family:var(--mono)}.faq details[open] summary:after{content:"−"}.faq p{color:#54514b;margin-top:10px;font-size:.95rem}.reels{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.reel{border-radius:var(--r);background:var(--card);aspect-ratio:9/16;max-height:560px;overflow:hidden}.reel video{object-fit:cover;width:100%;height:100%}.legal{max-width:70ch}.legal .block{margin-bottom:36px}.legal .block:last-child{margin-bottom:0}.legal .eyebrow{margin-bottom:10px}.legal p{color:#43403b;margin-top:10px}.legal p:first-of-type{margin-top:0}.legal a{color:var(--emerald-deep);font-weight:600}.legal a:hover{color:var(--emerald)}.legal ul{flex-direction:column;gap:10px;margin-top:12px;list-style:none;display:flex}.legal li{color:#43403b;gap:10px;display:flex}.legal li:before{content:"›";color:var(--emerald);font-family:var(--mono)}.legal .addr{color:#43403b;margin-top:10px;font-style:normal;line-height:1.5}.diag{max-width:680px;margin:0 auto}.diag-progress{background:var(--card);border-radius:999px;height:6px;margin-bottom:40px;overflow:hidden}.diag-progress span{background:var(--emerald);border-radius:999px;width:0;height:100%;transition:width .35s;display:block}.diag-stage{transition:opacity .14s,transform .14s}.diag-stage.is-out{opacity:0;transform:translateY(8px)}.diag-q{letter-spacing:-.02em;margin-bottom:24px;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;line-height:1.1}.diag-sub{color:#43403b;max-width:46ch;margin:-12px 0 24px;font-size:1.05rem}.diag-opts{flex-direction:column;gap:12px;display:flex}.diag-opt{text-align:left;background:var(--warm);width:100%;font-family:var(--body);color:var(--ink);cursor:pointer;border:1px solid #1c1a172e;border-radius:12px;padding:16px 18px;font-size:1rem;transition:border-color .15s,background .15s,transform .12s;display:block}.diag-opt:hover{border-color:var(--emerald);transform:translateY(-1px)}.diag-opt:focus-visible{outline:2px solid var(--emerald);outline-offset:2px}.diag-opt.is-sel{border-color:var(--emerald);background:var(--emerald-tint);color:var(--emerald-deep);font-weight:600}.diag-opt-tag{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400}.diag-nav{justify-content:space-between;align-items:center;min-height:24px;margin-top:24px;display:flex}.diag-back{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:.72rem}.diag-back:hover{color:var(--emerald-deep)}.diag-feedback{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--emerald-deep);font-size:.68rem}.diag-form{flex-direction:column;gap:8px;max-width:420px;display:flex}.diag-form label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:10px;font-size:.68rem}.diag-form input{width:100%;font-family:var(--body);background:var(--warm);border:1px solid #1c1a1733;border-radius:10px;margin-top:6px;padding:13px 14px;font-size:.95rem}.diag-form input:focus{outline:2px solid var(--emerald);border-color:#0000}.diag-form input[aria-invalid=true]{border-color:#b33}.diag-form .btn{align-self:flex-start;margin-top:18px}.diag-rgpd{color:var(--muted);max-width:42ch;margin-top:12px;font-size:.78rem}.diag-plan{background:var(--emerald-tint);border-radius:var(--r);margin:8px 0 28px;padding:24px}.diag-plan-h{color:var(--emerald-deep);margin-bottom:14px}.diag-badges{counter-reset:b;flex-wrap:wrap;gap:10px;list-style:none;display:flex}.diag-badge{font-family:var(--mono);letter-spacing:.04em;background:var(--warm);color:var(--ink);border:1px solid #007a4240;border-radius:999px;padding:8px 14px;font-size:.72rem}.diag-badge.is-entry{border-color:var(--emerald);color:var(--emerald-deep);font-weight:600}.diag-entry-tag{text-transform:uppercase;color:var(--emerald-deep);font-size:.6rem}.diag-notes{flex-direction:column;gap:8px;margin-top:16px;list-style:none;display:flex}.diag-notes li{color:#43403b;gap:8px;font-size:.92rem;display:flex}.diag-notes li:before{content:"›";color:var(--emerald);font-family:var(--mono)}.diag-cta{flex-wrap:wrap;gap:14px;margin-bottom:20px;display:flex}.diag-proof{color:var(--muted)}@media (prefers-reduced-motion:reduce){.diag-stage,.diag-progress span,.diag-opt{transition:none}}.pricing{grid-template-columns:repeat(3,1fr);align-items:start;gap:24px;display:grid}.price-card{background:var(--warm);border-radius:var(--r);border:1px solid #1c1a171f;flex-direction:column;gap:6px;padding:30px 26px;display:flex;position:relative}.price-card.is-featured{border-color:var(--emerald);box-shadow:0 18px 50px -34px #00a85ab3}.price-badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;background:var(--emerald);color:var(--warm);border-radius:999px;padding:5px 12px;font-size:.62rem;position:absolute;top:-12px;left:26px}.price-name{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.72rem}.price-amount{letter-spacing:-.02em;font-size:2.1rem;font-weight:800;line-height:1.1}.price-per{color:var(--muted);font-size:.95rem;font-weight:500}.price-alt{color:var(--emerald-deep);margin-top:-2px;font-size:.95rem;font-weight:600}.price-feat{border-top:1px solid #1c1a171a;flex-direction:column;gap:10px;margin:16px 0;padding-top:16px;list-style:none;display:flex}.price-feat li{color:var(--ink);gap:10px;font-size:.95rem;display:flex}.price-feat li:before{content:"✓";color:var(--emerald);font-family:var(--mono);font-weight:700}.price-feat li.is-off{color:var(--muted)}.price-feat li.is-off:before{content:"–";color:var(--muted)}.price-ideal{color:#43403b;margin-bottom:18px;font-size:.9rem}.price-card .btn{align-self:flex-start;margin-top:auto}.price-soon{color:var(--muted);margin-top:10px;font-size:.62rem}.price-anchor{color:var(--muted);text-align:center;margin-top:24px}.price-final{text-align:center;max-width:52ch;margin:0 auto}.price-final .lead{max-width:42ch;margin-left:auto;margin-right:auto}.price-final .eyebrow{display:block}@media (width<=900px){.pricing{grid-template-columns:1fr;max-width:440px;margin:0 auto}}footer.site{background:var(--ink);color:#cfccc6;margin-top:40px;padding:54px 0 30px}footer.site .cols{flex-wrap:wrap;justify-content:space-between;gap:40px;display:flex}footer.site .brand-f img{height:30px}footer.site nav a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#cfccc6;opacity:.8;padding:5px 0;font-size:.72rem;display:block}footer.site nav a:hover{opacity:1;color:var(--emerald)}footer.site .sig{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-top:1px solid #ffffff1a;margin-top:30px;padding-top:20px;font-size:.7rem}@media (width<=900px){.hero-grid,.cols-2{grid-template-columns:1fr}.cols-3,.cols-4,.timeline,.reels,.stats{grid-template-columns:1fr 1fr}nav.main{background:var(--warm);border-bottom:1px solid #1c1a171a;flex-direction:column;align-items:flex-start;gap:0;padding:10px 24px;display:none;position:fixed;inset:68px 0 auto}nav.main.open{display:flex}nav.main a{width:100%;padding:13px 0}nav.main .btn{margin:10px 0}.menu-toggle{display:block}}@media (width<=560px){.cols-3,.cols-4,.timeline,.reels,.stats{grid-template-columns:1fr}.banner .big{font-size:2.2rem}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.term:before,.term .path:after{animation:none}}
