.vitrine{--v-encre:#0b1020;--v-surface:#12173a;--v-surface-2:#1a1f3d;--v-accent:#5b3df5;--v-accent-clair:#8b74ff;--v-menthe:#17c3b2;--v-citron:#ffd166;background:var(--v-encre);color:#fff}.vitrine ::selection{background:var(--v-menthe);color:var(--v-encre)}.vitrine :focus-visible{outline:2px solid var(--v-menthe);outline-offset:3px}.v-titre{font-family:var(--font-jakarta), var(--font-inter), ui-sans-serif, sans-serif;letter-spacing:-.04em;text-wrap:balance;font-weight:800;line-height:1.02}.v-surtitre{letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:700}.v-degrade{background-image:linear-gradient(100deg, var(--v-accent-clair), var(--v-menthe) 70%, var(--v-citron));color:#0000;-webkit-background-clip:text;background-clip:text}.v-halo{filter:blur(110px);pointer-events:none;border-radius:9999px;position:absolute}.v-grain{opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.v-spot:before{content:"";z-index:1;border-radius:inherit;background:radial-gradient(260px circle at var(--mx,-500px) var(--my,-500px), var(--v-accent-clair), var(--v-menthe) 30%, transparent 62%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;padding:1px;transition:opacity .3s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.v-spot:after{content:"";z-index:0;border-radius:inherit;background:radial-gradient(340px circle at var(--mx,-500px) var(--my,-500px), #5b3df529, transparent 60%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.v-spot:hover:before,.v-spot:hover:after,.v-spot[data-actif=true]:before,.v-spot[data-actif=true]:after{opacity:1}.v-spot[data-actif=true]:before,.v-spot[data-actif=true]:after{animation:2.8s ease-in-out infinite v-balayage}.v-reflet{position:relative;overflow:hidden}.v-reflet:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#fff6 50%,#0000 70%);animation:3.6s ease-in-out infinite v-reflet;position:absolute;inset:0;transform:translate(-120%)}.v-defile{animation:38s linear infinite v-defile}.v-defile-inverse{animation:46s linear infinite reverse v-defile}.v-onde{animation:3.2s ease-out infinite v-onde}.v-curseur-texte:after{content:"";vertical-align:-.12em;background:currentColor;width:2px;height:1em;margin-left:2px;animation:.9s step-end infinite v-clignote;display:inline-block}@keyframes v-balayage{0%,to{--mx:-40px;--my:30px}50%{--mx:380px;--my:240px}}@keyframes v-reflet{0%,60%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes v-defile{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes v-onde{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.9)}}@keyframes v-clignote{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.v-defile,.v-defile-inverse,.v-onde,.v-reflet:after,.v-spot[data-actif=true]:before,.v-spot[data-actif=true]:after{animation:none!important}}.v-range{appearance:none}.v-range::-webkit-slider-thumb{appearance:none;background:#fff;border:3px solid #5b3df5;border-radius:9999px;width:26px;height:26px;transition:transform .15s;box-shadow:0 6px 16px -4px #5b3df599}.v-range::-moz-range-thumb{background:#fff;border:3px solid #5b3df5;border-radius:9999px;width:22px;height:22px}.v-range:active::-webkit-slider-thumb{transform:scale(1.15)}.v-flash-violet{color:#0000;filter:drop-shadow(0 0 18px #a855f78c);background-image:linear-gradient(100deg,#7c3aed 0%,#a855f7 22%,#e879f9 42%,#f5d0fe 50%,#c084fc 58%,#8b5cf6 78%,#5b3df5 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:4.5s linear infinite v-flash-violet}@keyframes v-flash-violet{0%{background-position:100% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.v-flash-violet{background-position:50% 0;animation:none}}
