:root{--nuit:#05050b;--nuit-2:#0b0b16;--voile:rgba(255,255,255,0.055);--bord:rgba(255,255,255,0.1);--bord-vif:rgba(255,255,255,0.18);--encre:#f7f6fb;--encre-douce:#b6b3c6;--encre-faible:#7d7a8d;--indigo:#6366f1;--violet:#8b5cf6;--rose:#ec4899;--miel:#fbbf24;--rayon:20px;--large:1080px;--lisible:720px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--nuit);color:var(--encre);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}.aurore{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.aurore span{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5}.aurore span:first-child{width:46vw;height:46vw;min-width:320px;min-height:320px;top:-12vw;left:-8vw;background:var(--indigo);animation:derive 26s ease-in-out infinite}.aurore span:nth-child(2){width:38vw;height:38vw;min-width:260px;min-height:260px;top:6vw;right:-10vw;background:var(--rose);opacity:.32;animation:derive 32s ease-in-out infinite reverse}.aurore span:nth-child(3){width:42vw;height:42vw;min-width:280px;min-height:280px;top:62vh;left:24vw;background:var(--violet);opacity:.26;animation:derive 38s ease-in-out infinite}@keyframes derive{0%,to{transform:translateZ(0) scale(1)}33%{transform:translate3d(6vw,4vh,0) scale(1.12)}66%{transform:translate3d(-4vw,7vh,0) scale(.94)}}.enveloppe{max-width:var(--large);margin:0 auto;padding:0 24px}.bandeau{display:flex;justify-content:space-between;gap:16px;padding:22px 0}.bandeau,.marque{align-items:center}.marque{display:inline-flex;gap:10px;font-weight:800;font-size:17px;letter-spacing:-.2px;text-decoration:none}.bandeau nav{display:flex;gap:8px}.bandeau nav a{padding:8px 14px;border-radius:99px;font-size:15px;font-weight:600;color:var(--encre-douce);text-decoration:none;transition:background .2s,color .2s}.bandeau nav a:hover{background:var(--voile);color:var(--encre)}.hero{padding:44px 0 8px;max-width:860px}.sourcil{display:inline-block;font-size:12px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:var(--encre-douce);border:1px solid var(--bord);border-radius:99px;padding:6px 14px;margin-bottom:26px}h1{font-size:clamp(38px,7.2vw,68px);line-height:1.04;letter-spacing:-2px;font-weight:850;margin:0 0 22px}.eclat{background:linear-gradient(100deg,var(--indigo),var(--violet) 45%,var(--rose));-webkit-background-clip:text;background-clip:text;color:transparent}.chapeau{font-size:clamp(18px,2.4vw,21px);line-height:1.6;color:var(--encre-douce);max-width:640px;margin:0 0 30px}.actions{display:flex;flex-wrap:wrap;gap:12px}.bouton{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:99px;font-weight:700;font-size:16px;text-decoration:none;border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s}.bouton-plein{background:linear-gradient(100deg,var(--indigo),var(--violet));color:#fff;box-shadow:0 10px 30px -12px var(--indigo)}.bouton-plein:hover{transform:translateY(-2px);box-shadow:0 16px 38px -12px var(--indigo)}.bouton-vide{border-color:var(--bord-vif);color:var(--encre)}.bouton-vide:hover{background:var(--voile)}.atelier{margin:40px 0 0;padding:26px;border:1px solid var(--bord);border-radius:var(--rayon);background:linear-gradient(180deg,var(--voile),transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.atelier-titre{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--encre-faible);margin:0 0 16px}.morceaux{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.morceau{padding:10px 16px;border-radius:12px;font-size:clamp(15px,2vw,19px);font-weight:700;border:1px solid var(--bord-vif);background:rgba(255,255,255,.04);animation:encastre .6s cubic-bezier(.2,.9,.3,1.3) backwards}.morceau:first-child{animation-delay:.15s;color:#c7d2fe;border-color:rgba(99,102,241,.5)}.morceau:nth-child(2){animation-delay:.45s;color:#ddd6fe;border-color:rgba(139,92,246,.5)}.morceau:nth-child(3){animation-delay:.75s;color:#fbcfe8;border-color:rgba(236,72,153,.5)}.morceau:nth-child(4){animation-delay:1.05s;color:#fde68a;border-color:rgba(251,191,36,.5)}@keyframes encastre{0%{opacity:0;transform:translateY(14px) rotate(-4deg) scale(.9)}to{opacity:1;transform:none}}.atelier-note{margin:18px 0 0;font-size:15px;color:var(--encre-douce)}section{padding:46px 0}h2{font-size:clamp(26px,3.6vw,34px);letter-spacing:-1px;line-height:1.2;margin:0 0 12px}.intro-bloc{color:var(--encre-douce);max-width:var(--lisible);margin:0 0 28px}.vitrine{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}@media (max-width:560px){.vitrine{grid-template-columns:1fr}}.app{position:relative;overflow:hidden;display:flex;gap:28px;align-items:flex-start;border:1px solid var(--bord);border-radius:26px;padding:30px;background:var(--nuit-2);transition:transform .25s ease,border-color .25s ease}.app-vignette{flex:0 0 132px;height:132px;border-radius:22px;display:grid;place-items:center;font-size:54px;line-height:1;border:1px solid var(--bord-vif);background:radial-gradient(circle at 30% 25%,var(--lueur,var(--indigo)),transparent 70%),rgba(255,255,255,.04)}.app-corps{flex:1 1 260px;min-width:0}@media (max-width:620px){.app{flex-direction:column;gap:20px}.app-vignette{flex-basis:100px;height:100px;font-size:42px}}.app:hover{transform:translateY(-3px);border-color:var(--bord-vif)}.app:before{content:"";position:absolute;inset:-40% 30% 55% -20%;background:radial-gradient(circle,var(--lueur,var(--indigo)),transparent 68%);opacity:.3;pointer-events:none}.app>*{position:relative}.app h3{font-size:25px;letter-spacing:-.6px;margin:0 0 8px}.app p{color:var(--encre-douce);margin:0 0 12px}.app-public{font-size:14px;color:var(--encre-faible)}.badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;padding:5px 12px;border-radius:99px;border:1px solid var(--bord-vif);color:var(--encre-douce)}.app-liens{margin-top:18px;font-size:15px;display:flex;gap:14px;flex-wrap:wrap}.app-liens a{color:var(--encre-douce);text-decoration:none;border-bottom:1px solid var(--bord-vif);padding-bottom:1px}.app-liens a:hover{color:var(--encre)}.promesses{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.promesse{border:1px solid var(--bord);border-radius:var(--rayon);padding:24px;background:linear-gradient(180deg,var(--voile),transparent)}.promesse h3{font-size:18px;margin:0 0 6px;letter-spacing:-.3px}.promesse p{margin:0;color:var(--encre-douce);font-size:15.5px}.puce{display:block;width:26px;height:3px;border-radius:99px;margin-bottom:16px;background:linear-gradient(90deg,var(--indigo),var(--rose))}.page{max-width:var(--lisible);padding:40px 0 20px}.page h1{font-size:clamp(32px,5vw,46px)}.page h2{font-size:21px;margin:38px 0 10px}.page ul{padding-left:20px;color:var(--encre-douce)}.page li{margin:7px 0}.page a{color:#c7d2fe}.carte{border:1px solid var(--bord);border-radius:var(--rayon);padding:22px;margin:14px 0;background:linear-gradient(180deg,var(--voile),transparent)}.carte h3{margin:0 0 6px;font-size:18px}.carte p:last-child{margin-bottom:0}.doux{color:var(--encre-douce)}.pied{border-top:1px solid var(--bord);margin-top:40px;padding:34px 0 60px;color:var(--encre-faible);font-size:14.5px}.pied-haut{gap:16px 28px;justify-content:space-between;margin-bottom:22px}.pied nav,.pied-haut{display:flex;flex-wrap:wrap}.pied nav{gap:18px}.pied a{color:var(--encre-douce);text-decoration:none}.pied a:hover{color:var(--encre)}.pied-legal p{margin:3px 0;max-width:620px}:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:6px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.aurore span,.morceau{animation:none}.app,.bouton{transition:none}}.bandeau nav a.langue{border:1px solid var(--bord);color:var(--encre)}a.carte-lien{display:block;text-decoration:none;transition:border-color .2s ease,transform .2s ease}a.carte-lien:hover{border-color:var(--bord-vif);transform:translateY(-2px)}a.carte-lien h3{color:var(--encre)}.ligne-legale{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0 0 10px;font-size:15.5px}.ligne-legale>.doux,.ligne-legale>span:first-child{flex:0 0 190px;font-size:14px}.ligne-legale>:last-child{flex:1 1 240px;min-width:0;word-break:break-word}@media (max-width:560px){.ligne-legale>span:first-child{flex-basis:100%}.bandeau{flex-direction:column;align-items:flex-start}.bandeau nav{flex-wrap:wrap;margin-left:-14px}}