:root{--sd-bg:.11 .012 240;--sd-bg-deep:.095 .011 240;--sd-surface:.135 .014 240;--sd-card:.15 .014 240;--sd-panel:.125 .013 240;--sd-panel-deep:.105 .012 240;--sd-fg:.97 .005 240;--sd-fg-2:.86 .012 240;--sd-fg-2b:.9 .01 240;--sd-fg-3:.74 .016 240;--sd-fg-4:.62 .018 240;--sd-fg-logo:.72 .016 240;--sd-line:.254 .018 240;--sd-line-hi:.323 .018 240;--sd-ink:.93 .008 240;--sd-primary:.83 .14 195;--sd-primary-hi:.88 .09 195;--sd-primary-pale:.93 .05 195;--sd-on-primary:.13 .02 220;--sd-on-mark:.13 .02 220;--sd-accent:.68 .15 248;--sd-accent-hi:.8 .1 245;--sd-teal:.84 .12 170;--sd-glow-1:.62 .14 205;--sd-glow-2:.52 .17 255;--sd-glow-3:.7 .12 180}:root[data-vitrine-palette=maquette]{--sd-bg:.182 .018 264;--sd-bg-deep:.168 .016 261;--sd-surface:.195 .024 262;--sd-card:.205 .026 264;--sd-panel:.186 .023 260;--sd-panel-deep:.172 .019 260;--sd-fg:.969 .007 261;--sd-fg-2:.858 .02 260;--sd-fg-2b:.911 .014 258;--sd-fg-3:.746 .028 262;--sd-fg-4:.621 .03 262;--sd-fg-logo:.716 .027 261;--sd-line:.324 .037 263;--sd-line-hi:.393 .041 262;--sd-ink:.941 .014 258;--sd-primary:.697 .16 258;--sd-primary-hi:.781 .111 261;--sd-primary-pale:.904 .046 263;--sd-on-primary:.173 .034 260;--sd-on-mark:1 0 0;--sd-accent:.662 .189 286;--sd-accent-hi:.77 .126 290;--sd-teal:.807 .118 190;--sd-glow-1:.581 .229 264;--sd-glow-2:.597 .23 286;--sd-glow-3:.724 .121 195}.sd a{color:oklch(var(--sd-fg));text-decoration:none}.sd a:hover{color:#fff}.sd :focus-visible{outline:2px solid oklch(var(--sd-primary-hi));outline-offset:3px}.sd ::selection{background:oklch(var(--sd-primary) / .35)}.sd-nl{transition:color .2s,background-color .2s}.sd-nl:hover{color:oklch(var(--sd-fg))!important}.sd-shimmer{isolation:isolate;transition:transform .2s,box-shadow .25s;position:relative;overflow:hidden}.sd-shimmer:after{content:"";z-index:-1;background:linear-gradient(110deg,#0000 30%,#fff9 50%,#0000 70%);animation:3.4s ease-in-out infinite sd-shine;position:absolute;inset:0;transform:translate(-120%)}.sd-shimmer:hover{box-shadow:0 0 0 4px oklch(var(--sd-primary) / .2),0 18px 40px -12px oklch(var(--sd-primary) / .65);transform:translateY(-1px)}@keyframes sd-shine{0%{transform:translate(-120%)}55%,to{transform:translate(120%)}}.sd-ghost{transition:background-color .2s,border-color .2s}.sd-ghost:hover{background-color:#ffffff12!important;border-color:#ffffff42!important}.sd-arrow-link .sd-arr{transition:transform .2s}.sd-arrow-link:hover .sd-arr{transform:translate(3px)}@property --sd-ang{syntax:"<angle>";inherits:false;initial-value:0deg}.sd-beam{position:relative}.sd-beam:before{content:"";border-radius:inherit;background:conic-gradient(from var(--sd-ang),transparent 0deg,transparent 240deg,oklch(var(--sd-primary)) 300deg,oklch(var(--sd-accent-hi)) 335deg,transparent 360deg);-webkit-mask-composite:xor;pointer-events:none;z-index:2;padding:1px;animation:5s linear infinite sd-spin;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;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}@keyframes sd-spin{to{--sd-ang:360deg}}.sd-ring-spin{background:conic-gradient(from var(--sd-ang),oklch(var(--sd-primary)),oklch(var(--sd-accent-hi)),oklch(var(--sd-teal)),oklch(var(--sd-primary)));animation:6s linear infinite sd-spin}.sd-spot{transition:border-color .3s,transform .3s;position:relative;overflow:hidden}.sd-spot:after{content:"";background:radial-gradient(520px circle at 50% 0%,oklch(var(--sd-primary) / .14),transparent 50%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.sd-spot:hover{transform:translateY(-3px);border-color:oklch(var(--sd-primary) / .38)!important}.sd-spot:hover:after{opacity:1}.sd-zoom{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.sd-spot:hover .sd-zoom{transform:scale(1.035)}.sd-page-projets .sd-spot{transition:border-color .3s}.sd-page-projets .sd-spot:after{background:radial-gradient(620px circle at 50% 0%,oklch(var(--sd-primary) / .1),transparent 50%)}.sd-page-projets .sd-spot:hover{transform:none;border-color:oklch(var(--sd-primary) / .32)!important}.sd-page-projets .sd-zoom{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.sd-page-projets .sd-spot:hover .sd-zoom{transform:scale(1.03)translateY(-6px)}.sd-page-blog .sd-spot:after{background:radial-gradient(520px circle at 50% 0%,oklch(var(--sd-primary) / .12),transparent 50%)}.sd-page-blog .sd-spot:hover{border-color:oklch(var(--sd-primary) / .35)!important}.sd-page-blog .sd-spot:hover .sd-zoom{transform:scale(1.05)}.sd-gtext{background:linear-gradient(90deg,oklch(var(--sd-primary)),oklch(var(--sd-accent-hi)),oklch(var(--sd-teal)),oklch(var(--sd-primary)));color:#0000;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:8s linear infinite sd-gt}@keyframes sd-gt{to{background-position:300% 0}}.sd-bw{animation:1s cubic-bezier(.2,.7,.2,1) both sd-bw;display:inline-block}.sd-bwb{animation:.8s cubic-bezier(.2,.7,.2,1) both sd-bw}@keyframes sd-bw{0%{opacity:0;filter:blur(12px);transform:translateY(16px)}to{opacity:1;filter:blur();transform:none}}.sd-aurora{filter:blur(90px);pointer-events:none;border-radius:50%;position:absolute}.sd-au1{animation:18s ease-in-out infinite alternate sd-au1}.sd-au2{animation:23s ease-in-out infinite alternate sd-au2}.sd-au3{animation:27s ease-in-out infinite alternate sd-au3}@keyframes sd-au1{to{transform:translate(140px,70px)scale(1.18)}}@keyframes sd-au2{to{transform:translate(-160px,50px)scale(.88)}}@keyframes sd-au3{to{transform:translate(70px,-80px)scale(1.22)}}.sd-pulse{animation:2.4s infinite sd-pulse}@keyframes sd-pulse{0%{box-shadow:0 0 #3dd68c8c}70%{box-shadow:0 0 0 8px #3dd68c00}to{box-shadow:0 0 #3dd68c00}}.sd-ping{animation:2.4s cubic-bezier(0,0,.2,1) infinite sd-ping}@keyframes sd-ping{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.5)}}.sd-retro{perspective:220px;pointer-events:none;opacity:.6;height:420px;position:absolute;bottom:0;left:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 20%,#000 95%);mask-image:linear-gradient(#0000 20%,#000 95%)}.sd-retro-p{position:absolute;inset:0;transform:rotateX(40deg)}.sd-retro-g{background-image:linear-gradient(to right,oklch(var(--sd-primary) / .3) 1px,transparent 0),linear-gradient(to bottom,oklch(var(--sd-primary) / .3) 1px,transparent 0);background-size:64px 64px;width:200%;height:1280px;animation:12s linear infinite sd-grid;position:absolute;top:0;left:-50%}@keyframes sd-grid{0%{transform:translateY(-50%)}to{transform:translateY(0)}}.sd-meteor{background:oklch(var(--sd-primary-pale));width:2px;height:2px;box-shadow:0 0 6px 1px oklch(var(--sd-primary-hi) / .6);opacity:0;border-radius:50%;animation:7s linear infinite sd-meteor;position:absolute;transform:rotate(215deg)}.sd-meteor:before{content:"";background:linear-gradient(90deg,oklch(var(--sd-primary-hi) / .75),transparent);width:120px;height:1px;position:absolute;top:50%;left:1px;transform:translateY(-50%)}@keyframes sd-meteor{0%{opacity:0;transform:rotate(215deg)translate(0)}6%{opacity:1}70%{opacity:1}to{opacity:0;transform:rotate(215deg)translate(-1000px)}}.sd-flip{height:1.35em;display:inline-flex;overflow:hidden}.sd-flip-in{flex-direction:column;animation:10s cubic-bezier(.7,0,.2,1) infinite sd-flip;display:flex}.sd-flip-in span{white-space:nowrap;height:1.35em;line-height:1.35em;display:block}@keyframes sd-flip{0%,20%{transform:translateY(0)}25%,45%{transform:translateY(-1.35em)}50%,70%{transform:translateY(-2.7em)}75%,95%{transform:translateY(-4.05em)}to{transform:translateY(-5.4em)}}.sd-svc-btn{transition:color .25s}.sd-svc-btn:hover{color:oklch(var(--sd-fg))!important}.sd-prog{animation:6.5s linear both sd-prog}@keyframes sd-prog{0%{width:0}to{width:100%}}.sd-vin{animation:.7s cubic-bezier(.2,.7,.2,1) both sd-vin}@keyframes sd-vin{0%{opacity:0;filter:blur(6px);transform:translateY(18px)scale(.97)}to{opacity:1;filter:none;transform:none}}.sd-kb{animation:7s ease-out both sd-kb}@keyframes sd-kb{0%{transform:scale(1.08)}to{transform:none}}.sd-bld{transform-origin:0;animation:.8s cubic-bezier(.2,.7,.2,1) both sd-bld}@keyframes sd-bld{0%{opacity:0;transform:scaleX(.15)}to{opacity:1;transform:none}}.sd-cursor{animation:4s ease-in-out infinite sd-cur}@keyframes sd-cur{0%{transform:translate(110px,90px)}40%,55%{transform:translate(0)}47%{transform:translate(0)scale(.85)}to{transform:translate(110px,90px)}}.sd-ripple{animation:4s ease-out infinite sd-rip}@keyframes sd-rip{0%,44%{opacity:0;transform:scale(0)}48%{opacity:.8;transform:scale(.4)}70%,to{opacity:0;transform:scale(1.8)}}.sd-notif{animation:5s cubic-bezier(.2,.8,.2,1) infinite sd-notif}@keyframes sd-notif{0%{opacity:0;transform:translateY(-140%)}12%,72%{opacity:1;transform:none}84%,to{opacity:0;transform:translateY(-140%)}}.sd-grow{transform-origin:bottom;animation:2.6s cubic-bezier(.3,.7,.2,1) infinite alternate sd-grow}@keyframes sd-grow{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.sd-scanv{animation:3s linear infinite sd-scanv}@keyframes sd-scanv{0%{top:0}to{top:100%}}.sd-mk{background:#f5a524;animation:3s linear infinite sd-mk}@keyframes sd-mk{0%,85%{background:#3dd68c}86%,to{background:#f5a524}}.sd-float{animation:6s ease-in-out infinite sd-float}@keyframes sd-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.sd-orb{animation:14s linear infinite sd-orb}.sd-page-blog .sd-orb{animation-duration:16s}@keyframes sd-orb{to{transform:rotate(360deg)}}.sd-logo{filter:grayscale();opacity:.7;transition:filter .3s,opacity .3s}.sd-logo:hover{filter:none;opacity:1}.sd .sd-call{border:1px solid oklch(var(--sd-primary) / .45);background:oklch(var(--sd-primary) / .1);color:oklch(var(--sd-primary-hi));border-radius:50%;flex:none;justify-content:center;align-items:center;transition:background-color .2s,transform .2s;display:inline-flex;position:relative}.sd .sd-call:hover{background:oklch(var(--sd-primary) / .2);color:oklch(var(--sd-primary-hi));transform:translateY(-1px)}.sd-call:before,.sd-call:after{content:"";border:1.5px solid oklch(var(--sd-primary) / .55);pointer-events:none;border-radius:50%;animation:2.4s ease-out infinite sd-call-wave;position:absolute;inset:-1px}.sd-call:after{animation-delay:1.2s}@keyframes sd-call-wave{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.65)}}.sd-call svg{animation:2.4s ease-in-out infinite sd-ring;display:block}@keyframes sd-ring{0%,40%,to{transform:rotate(0)}4%,12%,20%{transform:rotate(-15deg)}8%,16%,24%{transform:rotate(15deg)}28%{transform:rotate(0)}}.sd-tbtn{transition:border-color .2s,background-color .2s,transform .2s}.sd-tbtn:hover{transform:translateY(-1px);background-color:#ffffff14!important}.sd-bflow{animation:6s cubic-bezier(.5,0,.5,1) infinite sd-bflow}@keyframes sd-bflow{0%{stroke-dashoffset:20px}30%,to{stroke-dashoffset:-100px}}.sd-bflow2{animation:2s cubic-bezier(.5,0,.5,1) infinite sd-bflow2}@keyframes sd-bflow2{0%{stroke-dashoffset:20px}60%,to{stroke-dashoffset:-100px}}.sd-hl{animation:6s infinite sd-hl}@keyframes sd-hl{0%,32%{background:oklch(var(--sd-primary) / .07);border-color:oklch(var(--sd-primary) / .4)}38%,to{background:#ffffff04;border-color:#ffffff14}}.sd-rot{animation:46s linear infinite sd-rot}.sd-rot-r{animation:46s linear infinite reverse sd-rot}.sd-rot2{animation:64s linear infinite reverse sd-rot}.sd-rot2-r{animation:64s linear infinite sd-rot}@keyframes sd-rot{to{transform:rotate(360deg)}}.sd-travel{background:linear-gradient(90deg,transparent,oklch(var(--sd-primary)),oklch(var(--sd-accent-hi)),transparent);width:30%;height:100%;animation:4s cubic-bezier(.6,0,.4,1) infinite sd-travel;position:absolute;top:0;left:-30%}@keyframes sd-travel{to{left:100%}}.sd-glow-dot{animation:4s ease-in-out infinite sd-glowdot}@keyframes sd-glowdot{0%,to{box-shadow:0 0 0 0 oklch(var(--sd-primary) / 0)}50%{box-shadow:0 0 0 6px oklch(var(--sd-primary) / .18),0 0 24px oklch(var(--sd-primary) / .5)}}.sd-scanline{animation:2.6s ease-in-out infinite sd-scanl}@keyframes sd-scanl{0%,to{opacity:0;transform:translateY(0)}15%,85%{opacity:1}50%{transform:translateY(96px)}}.sd-dash{background-image:linear-gradient(90deg,#ffffff38 50%,#0000 0),linear-gradient(90deg,#ffffff38 50%,#0000 0),linear-gradient(0deg,#ffffff38 50%,#0000 0),linear-gradient(0deg,#ffffff38 50%,#0000 0);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:14px 1px,14px 1px,1px 14px,1px 14px;animation:1.2s linear infinite sd-dash}@keyframes sd-dash{to{background-position:14px 0,-14px 100%,0 -14px,100% 14px}}.sd-chip{transition:border-color .2s,background-color .2s,color .2s}.sd-chip:hover{border-color:#ffffff4d!important}.sd-flow{stroke-dasharray:4 8;animation:1.6s linear infinite sd-flow}@keyframes sd-flow{to{stroke-dashoffset:-24px}}.sd-node{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite sd-node}@keyframes sd-node{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}.sd-case summary::-webkit-details-marker{display:none}.sd-case-chevron{transition:transform .3s}.sd-case[open] .sd-case-chevron{transform:rotate(180deg)}.sd-channel{transition:border-color .2s,background-color .2s}.sd-channel:hover{border-color:oklch(var(--sd-primary) / .35)!important;background-color:#ffffff0a!important}.sd-field{transition:border-color .2s,box-shadow .2s}.sd-field:focus{box-shadow:0 0 0 3px oklch(var(--sd-primary) / .2);outline:none;border-color:oklch(var(--sd-primary))!important}.sd-field::placeholder{color:#6f787f;color:lab(49.7923% -2.38732 -4.91289)}.sd-pop{animation:.6s cubic-bezier(.2,.9,.3,1.3) both sd-pop}@keyframes sd-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.sd-editable{cursor:pointer;outline-offset:4px;border-radius:4px;outline:1.5px dashed #0000;transition:outline-color .15s,background-color .15s}.sd-editable:hover,.sd-editable:focus-visible{outline-color:oklch(var(--sd-primary) / .85);background-color:oklch(var(--sd-primary) / .07)}.sd-edit-section{position:relative}.sd-edit-section:hover{box-shadow:inset 0 0 0 1px oklch(var(--sd-primary) / .25)}.sd-edit-section[data-hidden] .sd-edit-body{opacity:.35;filter:grayscale(.6)}.sd-edit-badge{z-index:40;background:oklch(var(--sd-bg) / .9);border:1px solid oklch(var(--sd-primary) / .35);font:500 11.5px/1.4 var(--font-geist-mono),ui-monospace,monospace;color:oklch(var(--sd-primary-hi));letter-spacing:.04em;text-transform:uppercase;opacity:0;border-radius:999px;align-items:center;gap:8px;padding:4px 6px 4px 10px;transition:opacity .2s;display:flex;position:absolute;top:10px;left:10px}.sd-edit-section:hover>.sd-edit-badge,.sd-edit-section[data-hidden]>.sd-edit-badge{opacity:1}.sd-edit-badge button,.sd-item-tools button{cursor:pointer;background:oklch(var(--sd-primary));color:oklch(var(--sd-on-primary));font:600 11px/1 var(--font-geist),system-ui,sans-serif;text-transform:none;letter-spacing:0;border:0;border-radius:999px;padding:5px 10px}.sd-edit-muted{color:oklch(var(--sd-fg-4));text-transform:none;letter-spacing:0}.sd-edit-placeholder{color:oklch(var(--sd-fg-4));font-style:italic}.sd-item-tools{z-index:30;opacity:0;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:8px;right:8px}:hover>.sd-item-tools{opacity:1}.sd-item-tools button{background:oklch(var(--sd-bg) / .9);color:oklch(var(--sd-fg));border:1px solid #ffffff2e;padding:5px 8px}.sd-add-item{cursor:pointer;border:1.5px dashed oklch(var(--sd-primary) / .5);background:oklch(var(--sd-primary) / .05);min-height:44px;color:oklch(var(--sd-primary-hi));font:500 14px/1.3 var(--font-geist),system-ui,sans-serif;border-radius:12px;justify-content:center;align-items:center;padding:8px 16px;display:inline-flex}.sd-add-item:hover{background:oklch(var(--sd-primary) / .12)}.sd-managed{position:relative}.sd-managed-note{z-index:30;background:oklch(var(--sd-bg) / .92);font:500 11.5px/1.4 var(--font-geist),system-ui,sans-serif;color:oklch(var(--sd-fg-3));border:1px dashed #ffffff40;border-radius:999px;padding:4px 10px;position:absolute;top:-12px;right:12px}@media (max-width:860px){.sd-hscroll{scroll-snap-type:x mandatory;scrollbar-width:none;margin-left:calc(-1*clamp(20px,4vw,40px));margin-right:calc(-1*clamp(20px,4vw,40px));padding:0 clamp(20px,4vw,40px) 8px;scroll-padding-left:clamp(20px,4vw,40px);overflow-x:auto;flex-wrap:nowrap!important;display:flex!important}.sd-hscroll::-webkit-scrollbar{display:none}.sd-hscroll>*{scroll-snap-align:start;flex:0 0 min(84%,420px)!important}}@media (max-width:640px){.sd-stats{width:100%;flex-wrap:nowrap!important}.sd-stat{text-align:center;flex:1 1 0;min-width:0;padding:16px 8px!important}.sd-stat-value{font-size:30px!important}.sd-stat-label{line-height:1.3;font-size:12.5px!important}.sd-btn-row{width:100%;flex-wrap:nowrap!important;gap:10px!important}.sd-btn-row>a{text-align:center;flex:1 1 0;justify-content:center;min-width:0;line-height:1.15;height:50px!important;padding:0 12px!important;font-size:14px!important}.sd-btn-row>a .sd-arr{display:none}.sd-cta-row{flex-wrap:nowrap!important;gap:10px!important}.sd-cta-row>a:not(.sd-call){white-space:nowrap;padding:0 20px!important;font-size:15px!important}}.sd-contact-grid{grid-template:"intro form""coords form"1fr/minmax(0,1fr) minmax(0,1.1fr);align-items:start;column-gap:clamp(48px,6vw,96px);display:grid}@media (max-width:980px){.sd-contact-grid{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"intro""form""coords";row-gap:40px}.sd-contact-coords>:first-child{margin-top:0!important}}.sd-story-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid;position:relative}.sd-story-link{z-index:2;background:oklch(var(--sd-bg));width:40px;height:40px;color:oklch(var(--sd-primary-hi));border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;margin:-20px 0 0 -20px;display:flex;position:absolute;top:50%;left:50%}.sd-points{grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:1024px){.sd-points{grid-template-columns:repeat(var(--cols-md),minmax(0,1fr))}}@media (max-width:760px){.sd-story-pair{grid-template-columns:minmax(0,1fr)}.sd-story-link{display:none}.sd-story{padding:22px!important}.sd-points-scroll{scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -22px;padding:0 22px 4px;scroll-padding-left:22px;display:flex;overflow-x:auto}.sd-points-scroll::-webkit-scrollbar{display:none}.sd-points-scroll>li{scroll-snap-align:start;flex:0 0 82%}}.sd-show-sm{display:none}@media (max-width:860px){.sd-hide-sm{display:none!important}.sd-show-sm{display:inline-flex}}@supports (animation-timeline:view()){.sd-rv{animation:linear both sd-rv;animation-timeline:view();animation-range:entry cover 25%}}@keyframes sd-rv{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sd,.sd *,.sd-call:before,.sd-call:after{animation:none!important}}
