@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--fond:#050507;--fond-2:#0c0c10;--fond-3:#14141a;--texte:#eeece6;--doux:#a09fa6;--sourd:#6b6a72;--trait:#24242c;--irise:linear-gradient(var(--texte), var(--texte));--titre:"Archivo Variable", "Arial Narrow", Arial, sans-serif;--corps:"Geist Variable", "Helvetica Neue", Arial, sans-serif;--mono:"Geist Mono Variable", ui-monospace, Menlo, monospace;--sortie:cubic-bezier(.23, 1, .32, 1);--aller-retour:cubic-bezier(.77, 0, .175, 1);--marge:clamp(20px, 4.5vw, 72px);--accent:#eeece6;--bord:#34343e;--bord-fort:#5c5b66;--erreur:#ff9c9c;--verre:#1010159e;--verre-bord:#ffffff1a;color-scheme:dark}:root[data-theme=clair]{--fond:#f8f6f0;--fond-2:#f1eee6;--fond-3:#e8e4da;--texte:#0b0b0f;--doux:#55545c;--sourd:#86858d;--trait:#dfdace;--irise:linear-gradient(var(--texte), var(--texte));--accent:#0b0b0f;--bord:#d2cdc1;--bord-fort:#98969e;--erreur:#c0392b;--verre:#faf8f2c2;--verre-bord:#0000001a;color-scheme:light}:root[data-theme=clair] .pochoir{mix-blend-mode:screen;background:#fff}:root[data-theme=clair] :is(.matiere,.contact-tete,.perdu){isolation:isolate}:root[data-theme=clair] :is(.matiere,.contact-tete,.perdu):after{content:"";z-index:1;background:var(--fond);mix-blend-mode:multiply;pointer-events:none;position:absolute;inset:0}:root[data-theme=clair] .liquide:not(.trame){filter:brightness(.78)saturate(1.25)contrast(1.08)}:root[data-theme=clair] .pochoir h1,:root[data-theme=clair] .pochoir h2{color:#000}:root[data-theme=clair] .barre{box-shadow:0 12px 40px -16px #00000040,inset 0 1px #fff9}:root[data-theme=clair] .capture{box-shadow:0 40px 80px -36px #00000059}:root[data-theme=clair] .logo:not(.trait){--marque:var(--m-clair)}::view-transition-old(root),::view-transition-new(root){animation-duration:.45s}*,:before,:after{box-sizing:border-box}html{background:var(--fond);-webkit-text-size-adjust:100%;scrollbar-color:var(--bord) var(--fond);scrollbar-width:thin}body{background:var(--fond);color:var(--texte);font-family:var(--corps);-webkit-font-smoothing:antialiased;caret-color:var(--accent);margin:0;font-size:1.0625rem;line-height:1.55;overflow-x:clip}::selection{background:var(--texte);color:var(--fond)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--fond)}::-webkit-scrollbar-thumb{background:var(--bord);border:2px solid var(--fond);border-radius:10px}a{color:inherit;text-decoration:none}h1,h2,h3,p,ul,dl,dd{margin:0}ul{padding:0;list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}svg{display:block}.cadre{padding-inline:var(--marge)}.section{padding-block:clamp(96px,13vw,200px)}.grand{font-family:var(--titre);text-transform:uppercase;letter-spacing:-.02em;text-wrap:balance;font-size:clamp(2.1rem,6vw,5.2rem);font-weight:800;font-stretch:125%;line-height:.92}.mono{font-family:var(--mono);letter-spacing:.02em;color:var(--doux);font-variant-numeric:tabular-nums;font-size:.8rem}.tete{grid-template-columns:minmax(0,2.4fr) minmax(0,1fr);align-items:end;gap:24px 48px;margin-bottom:clamp(48px,7vw,110px);display:grid}.tete p{color:var(--doux);max-width:38ch;font-size:1.1rem}@media (width<=760px){.tete{grid-template-columns:1fr}}.filet{background:var(--irise);transform-origin:0;border:0;height:1px;margin:0}.bouton{border:1px solid var(--texte);background:var(--texte);height:56px;color:var(--fond);font:600 1rem var(--corps);cursor:pointer;transition:transform .16s var(--sortie), background-color .2s ease, color .2s ease;border-radius:99px;align-items:center;gap:12px;padding:0 28px;display:inline-flex}.bouton:active{transform:scale(.97)}.bouton.creux{color:var(--texte);border-color:var(--bord);background:0 0}@media (hover:hover){.bouton:hover{color:var(--texte);background:0 0}.bouton.creux:hover{background:var(--texte);color:var(--fond);border-color:var(--texte)}}.fleche{flex:none;width:18px;height:18px}.barre{z-index:60;border:1px solid var(--verre-bord);background:var(--verre);backdrop-filter:blur(18px)saturate(1.4);border-radius:99px;align-items:center;gap:2px;width:fit-content;max-width:calc(100vw - 20px);margin-inline:auto;padding:5px;font-size:.9rem;font-weight:500;display:flex;position:fixed;top:16px;left:0;right:0;box-shadow:0 12px 40px -12px #000000b3,inset 0 1px #ffffff0f}.barre .nom{background:var(--texte);width:38px;height:38px;color:var(--fond);font-family:var(--titre);letter-spacing:-.02em;transition:transform .16s var(--sortie);border-radius:50%;flex:none;place-items:center;font-size:.78rem;font-weight:800;font-stretch:125%;display:grid}.barre .nom:active{transform:scale(.94)}.barre nav{position:relative}.barre ul{display:flex}.barre li a{z-index:1;color:var(--doux);white-space:nowrap;border-radius:99px;padding:9px clamp(10px,1.6vw,18px);transition:color .25s;display:block;position:relative}.barre li a[aria-current=true]{color:var(--fond)}.barre .repere{background:var(--texte);opacity:0;width:0;height:100%;transition:transform .5s var(--sortie), width .5s var(--sortie), opacity .25s ease;pointer-events:none;border-radius:99px;position:absolute;top:0;left:0}@media (hover:hover){.barre li a:not([aria-current=true]):hover{color:var(--texte)}}@media (width<=480px){.barre{font-size:.8rem;top:10px}.barre .nom{width:34px;height:34px}.barre li a{padding:8px 9px}}.reglages{z-index:60;border:1px solid var(--verre-bord);background:var(--verre);backdrop-filter:blur(18px)saturate(1.4);border-radius:99px;align-items:center;gap:2px;padding:5px;display:flex;position:fixed;top:16px;right:clamp(10px,2vw,24px)}.reglages a,.reglages button{width:38px;height:38px;color:var(--doux);font:600 .78rem var(--corps);letter-spacing:.02em;cursor:pointer;transition:color .2s ease, background-color .2s ease, transform .16s var(--sortie);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.reglages a:active,.reglages button:active{transform:scale(.92)}@media (hover:hover){.reglages a:hover,.reglages button:hover{color:var(--texte);background:color-mix(in srgb, var(--texte) 9%, transparent)}}.reglages svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.reglages .astre,.reglages .rayons,.reglages .lune{transform-origin:12px 12px;transition:transform .5s var(--sortie), opacity .3s ease}.reglages .lune{opacity:0;transform:rotate(-50deg)scale(.6)}:root[data-theme=clair] .reglages .astre,:root[data-theme=clair] .reglages .rayons{opacity:0;transform:rotate(60deg)scale(.5)}:root[data-theme=clair] .reglages .lune{opacity:1;transform:none}@media (width<=720px){.reglages{top:auto;bottom:14px;right:12px}.hero .hero-pied{padding-bottom:76px}}.halo{mix-blend-mode:difference;pointer-events:none;z-index:80;opacity:0;width:14px;height:14px;transition:width .3s var(--sortie), height .3s var(--sortie), margin .3s var(--sortie), opacity .3s ease;background:#fff;border-radius:50%;margin:-7px 0 0 -7px;position:fixed;top:0;left:0}.halo.vu{opacity:1}.halo.gros{width:72px;height:72px;margin:-36px 0 0 -36px}@media (hover:none),(pointer:coarse){.halo{display:none}}.hero{background:var(--fond);min-height:100svh;position:relative}.anime .hero{height:100svh;overflow:hidden}.hero>.matiere,.hero>.voile{height:100svh;inset:0 0 auto}.matiere{isolation:isolate;position:absolute}.liquide{width:100%;height:100%;display:block;position:absolute;inset:0}.pochoir{background:var(--fond);mix-blend-mode:multiply;place-items:center;display:grid;position:absolute;inset:0}.pochoir h1,.pochoir h2,.chargement-nom{color:#fff;font-family:var(--titre);text-transform:uppercase;letter-spacing:-.03em;text-align:center;white-space:nowrap;padding-bottom:5svh;font-size:15.6vw;font-weight:900;font-stretch:125%;line-height:.84}.pochoir span,.chargement-nom span{display:block}.pochoir i{font-style:normal}.hero-pied{height:100svh;padding:0 var(--marge) 26px;color:var(--doux);grid-template-columns:1fr auto 1fr;align-items:end;gap:16px;font-size:.95rem;display:grid;position:absolute;inset:0 0 auto}.hero-pied strong{color:var(--texte);font-weight:500;display:block}.hero-pied>:last-child{text-align:right}.hero-pied .descend{flex-direction:column;align-items:center;gap:10px;display:flex}.hero-pied .descend:after{content:"";background:var(--texte);transform-origin:top;width:1px;height:38px;animation:descend 2.2s var(--aller-retour) infinite}@keyframes descend{0%{transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}@media (width<=620px){.hero-pied{grid-template-columns:1fr 1fr}.hero-pied .descend{display:none}.pochoir h1,.chargement-nom{font-size:16.4vw}}.voile{background:var(--fond);opacity:0;pointer-events:none;position:absolute;inset:0}.manifeste{padding:clamp(80px, 12vw, 160px) var(--marge);margin-top:100svh;position:relative}.manifeste p{letter-spacing:-.03em;max-width:21ch;font-size:clamp(1.6rem,4.3vw,3.7rem);font-weight:500;line-height:1.12}.manifeste .mot{margin-right:.24em;display:inline-block}.anime .manifeste{pointer-events:none;align-content:center;margin:0;padding-block:0;display:grid;position:absolute;inset:0}.plan{background:var(--fond-2);border-top:1px solid var(--trait);border-radius:16px 16px 0 0}.plan:nth-child(2n){background:var(--fond-3)}.plan-int{min-height:100svh;padding:clamp(84px, 9vw, 120px) var(--marge) clamp(40px, 5vw, 70px);transform-origin:50% 0;will-change:transform, opacity;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,90px);display:grid}.plan h3{font-family:var(--titre);text-transform:uppercase;letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(2.1rem,5.4vw,5rem);font-weight:800;font-stretch:125%;line-height:.92}.plan h3.long{font-size:clamp(1.8rem,4.5vw,4.2rem)}.plan .resume{letter-spacing:-.02em;max-width:24ch;margin:22px 0 26px;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:500;line-height:1.25}.plan .points{color:var(--doux);gap:10px;max-width:46ch;margin-bottom:30px;display:grid}.plan .points li{padding-left:22px;position:relative}.plan .points li:before{content:"";background:var(--texte);width:10px;height:1px;position:absolute;top:.72em;left:0}.plan .meta{flex-wrap:wrap;gap:6px 18px;margin-bottom:22px;display:flex}.schema{width:100%;height:auto;max-height:68svh;color:var(--texte);overflow:visible}.schema text{font-family:var(--mono);fill:var(--doux);letter-spacing:.01em;font-size:11px}.schema .nom{fill:var(--texte);font-size:12px;font-weight:600}.schema .cote{letter-spacing:.08em;text-transform:uppercase;fill:var(--sourd);font-size:9.5px}.schema .t,.schema .fil{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linejoin:miter}.schema .fil.leger{stroke:var(--doux);stroke-dasharray:3 4}.schema .pont{fill:none;stroke:var(--fond);stroke-width:8px}.schema .boite{fill:var(--fond);stroke:currentColor;stroke-width:1.2px}.schema .zone{fill:none;stroke:var(--bord-fort);stroke-width:1px;stroke-dasharray:4 4}.schema .onglet{fill:var(--texte)}.schema .onglet-txt{fill:var(--fond);letter-spacing:.08em;text-transform:uppercase;font-size:9.5px;font-weight:600}.schema .p{fill:currentColor}.schema.docker{max-height:none}.schema.docker text{font-size:12px}.schema.docker .nom{font-size:13px}.schema.docker .cote,.schema.docker .onglet-txt{font-size:10px}@media (width>=900px){.anime .plan{position:sticky;top:0}}@media (width<=899px){.plan-int{grid-template-columns:1fr;min-height:0;padding-top:64px}.schema{order:-1;max-height:300px}}.index a{border-bottom:1px solid var(--trait);transition:padding .4s var(--sortie), color .2s ease;grid-template-columns:minmax(0,1.3fr) minmax(0,1.5fr) auto 24px;align-items:center;gap:8px 28px;padding:26px 0;display:grid;position:relative}.index li:first-child a{border-top:1px solid var(--trait)}.index a:after{content:"";background:var(--irise);transform-origin:0;height:1px;transition:transform .6s var(--sortie);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.index b{font-family:var(--titre);letter-spacing:-.02em;font-size:clamp(1.3rem,2.7vw,2.2rem);font-weight:700;font-stretch:112%;line-height:1.05}.index span{color:var(--doux)}.index .fleche{opacity:0;transition:transform .4s var(--sortie), opacity .2s ease;transform:translate(-8px)}@media (hover:hover){.index a:hover{padding-inline:14px}.index a:hover:after{transform:scaleX(1)}.index a:hover .fleche{opacity:1;transform:none}}@media (width<=760px){.index a{grid-template-columns:1fr auto}.index span{grid-area:2/1/auto/-1}.index .fleche{display:none}}.frise{margin:0;padding:0;list-style:none;position:relative}.frise-trait{background:radial-gradient(circle, var(--sourd) .9px, transparent 1.3px) 50% 0 / 3px 6px repeat-y;width:3px;position:absolute;top:14px;bottom:14px;left:-1px}.frise-trait b{background:var(--texte);transform-origin:top;position:absolute;inset:0 1px}.anime .frise-trait b{transform:scaleY(0)}.frise li{border-bottom:1px solid var(--trait);grid-template-columns:minmax(0,.5fr) minmax(0,1.6fr);align-items:baseline;gap:8px clamp(24px,5vw,80px);padding:clamp(26px,3.4vw,46px) 0 clamp(26px,3.4vw,46px) clamp(26px,4vw,56px);display:grid;position:relative}.frise li:first-of-type{border-top:1px solid var(--trait)}.frise li:before{content:"";background:var(--fond);border:1px solid var(--sourd);border-radius:50%;width:11px;height:11px;transition:background-color .4s,border-color .4s,box-shadow .4s;position:absolute;top:calc(clamp(26px,3.4vw,46px) + .55em);left:-5px}.frise li.passe:before{background:var(--texte);border-color:var(--texte);box-shadow:0 0 0 5px color-mix(in srgb, var(--texte) 10%, transparent)}.frise time{color:var(--texte);font-size:.95rem}.frise .genre{margin-bottom:10px;transition:color .4s}.frise li.passe .genre{color:var(--accent)}.frise h3{font-family:var(--titre);letter-spacing:-.02em;text-wrap:balance;font-size:clamp(1.5rem,3.2vw,2.7rem);font-weight:700;font-stretch:112%;line-height:1.05}.frise .lieu{margin-top:10px;font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:500}.frise .detail{color:var(--doux);max-width:58ch;margin-top:8px}.aussi{margin-top:clamp(40px,5vw,70px);padding-left:clamp(26px,4vw,56px)}.aussi h3{margin-bottom:8px;font-weight:400}.aussi li{border-bottom:1px solid var(--trait);grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) auto;align-items:baseline;gap:4px 24px;padding:14px 0;display:grid}.aussi .doux{color:var(--doux)}@media (width<=760px){.frise li,.aussi li{grid-template-columns:1fr}}.grille-comp{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,6vw,100px);display:grid}.grille-comp>div{border-top:1px solid var(--trait);grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);align-items:start;gap:12px 24px;padding:26px 0;display:grid}.grille-comp dt{letter-spacing:-.01em;font-size:1.1rem;font-weight:600}.grille-comp ul{flex-wrap:wrap;gap:8px;display:flex}.grille-comp li{border:1px solid var(--bord);border-radius:99px;align-items:center;gap:9px;padding:8px 15px 8px 11px;font-size:.95rem;line-height:1.2;transition:border-color .2s,background-color .2s,color .2s;display:inline-flex}.logo{width:18px;height:18px;color:var(--marque,var(--texte));transition:color .25s ease, transform .4s var(--sortie);flex:none}.logo.trait{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.logo:not(.trait){fill:currentColor;--marque:var(--m-sombre)}.grille-comp.monochrome .logo{color:var(--doux)}@media (hover:hover){.grille-comp li:hover{border-color:var(--bord-fort);background:var(--fond-3)}.grille-comp li:hover .logo{color:var(--marque,var(--texte));transform:scale(1.18)rotate(-6deg)}}@media (width<=899px){.grille-comp{grid-template-columns:1fr}}@media (width<=520px){.grille-comp>div{grid-template-columns:1fr}}.contact-tete{height:clamp(240px,46vw,620px);position:relative;overflow:hidden}.contact-tete .pochoir h2{padding-bottom:0;font-size:15.4vw}.contact-corps{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:56px clamp(32px,7vw,120px);padding-block:clamp(40px,6vw,90px) clamp(70px,9vw,130px);display:grid}.accroche{letter-spacing:-.025em;max-width:18ch;margin-bottom:clamp(30px,4vw,56px);font-size:clamp(1.4rem,2.8vw,2.3rem);font-weight:500;line-height:1.15}.coordonnees dl>div{border-top:1px solid var(--trait);grid-template-columns:96px minmax(0,1fr);align-items:baseline;gap:16px;padding:18px 0;display:grid}.coordonnees dl>div:last-child{border-bottom:1px solid var(--trait)}.coordonnees dd{font-size:1.15rem;font-weight:500}.copie{color:inherit;font:inherit;cursor:pointer;text-align:left;overflow-wrap:anywhere;transition:transform .16s var(--sortie);background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:0;display:inline-flex}.copie:active{transform:scale(.98)}.copie span{border-bottom:1px solid var(--sourd);padding-bottom:2px}.copie small{color:var(--doux)}.reseaux{flex-wrap:wrap;gap:8px 24px;display:flex}.reseaux a{border-bottom:1px solid var(--sourd);align-items:center;gap:8px;padding-bottom:2px;display:inline-flex}.formulaire{gap:22px;display:grid}.formulaire .piege{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.champ{position:relative}.champ input,.champ textarea{background:var(--fond-2);border:1px solid var(--bord);width:100%;color:var(--texte);font:inherit;resize:vertical;border-radius:12px;padding:27px 46px 11px 16px;transition:border-color .2s,background-color .2s;display:block}.champ textarea{min-height:150px}.champ label{color:var(--doux);pointer-events:none;transform-origin:0 0;transition:transform .26s var(--sortie), color .2s ease;position:absolute;top:19px;left:17px}.champ :is(input,textarea):focus~label,.champ :is(input,textarea):not(:placeholder-shown)~label{transform:translateY(-11px)scale(.76)}.champ :is(input,textarea):focus~label{color:var(--accent)}.champ input:focus-visible,.champ textarea:focus-visible{background:var(--fond-3);outline:none}.champ [aria-invalid=true]{border-color:var(--erreur)}.lueur{pointer-events:none;opacity:0;background:radial-gradient(200px circle at var(--mx,50%) var(--my,50%), var(--texte), transparent 70%);-webkit-mask-composite:xor;border-radius:12px;padding:1px;transition:opacity .35s;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.formulaire.survol .lueur,.champ :is(input,textarea):focus~.lueur{opacity:1}.champ :is(input,textarea):focus~.lueur{background:var(--irise)}.coche{fill:none;width:18px;height:18px;stroke:var(--accent);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;position:absolute;top:21px;right:16px}.coche path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .42s var(--sortie)}.champ.ok .coche path{stroke-dashoffset:0}.champ.secoue{animation:secoue .38s var(--aller-retour)}@keyframes secoue{20%{transform:translate(-7px)}45%{transform:translate(6px)}70%{transform:translate(-3px)}}.bouton.jauge{color:var(--texte);border-color:var(--bord);transition:transform .16s var(--sortie), border-color .3s ease, box-shadow .5s ease;background:0 0;position:relative;overflow:hidden}.jauge-fond{color:var(--fond);background:radial-gradient(circle, color-mix(in srgb, var(--fond) 28%, transparent) 1px, transparent 1.4px) 0 0 / 5px 5px, var(--texte);clip-path:inset(0 calc(100% - var(--plein,0) * 100%) 0 0);transition:clip-path .6s var(--sortie);align-items:center;gap:12px;padding:0 29px;animation:3s linear infinite coule;display:flex;position:absolute;inset:-1px}@keyframes coule{to{background-position:-25px 0,0 0}}.bouton.jauge.pret{box-shadow:0 0 0 5px color-mix(in srgb, var(--texte) 12%, transparent);border-color:#0000}.bouton.jauge .fleche{transition:transform .4s var(--sortie)}.bouton.jauge.pret .fleche{transform:translate(4px)}@media (hover:hover){.bouton.jauge:hover{color:var(--texte);border-color:var(--texte);background:0 0}.bouton.jauge.pret:hover{border-color:#0000}}.formulaire .bouton{justify-self:start}.formulaire .erreur{color:var(--erreur);font-size:.95rem}.formulaire .note{color:var(--sourd);font-size:.88rem}.pied{padding:20px var(--marge);border-top:1px solid var(--trait);justify-content:space-between;gap:16px;display:flex}@media (width<=899px){.contact-corps{grid-template-columns:1fr}}.capture{background:var(--fond-3);border-radius:14px;margin:0;overflow:hidden;box-shadow:0 40px 80px -30px #000c}.capture-barre{align-items:center;gap:7px;padding:12px 14px;display:flex}.capture-barre span{color:var(--sourd);margin-left:12px;font-size:.72rem}.capture-barre i{background:var(--bord);border-radius:50%;width:10px;height:10px}.capture-vue{aspect-ratio:1800/1125;overflow:hidden}.capture{backface-visibility:hidden;transform:translateZ(0)}.capture img,.capture video{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.pile-tech{max-width:46ch;margin-bottom:26px;line-height:1.7}.plan .points{margin-bottom:18px}.grande-capture{margin-top:clamp(40px,6vw,80px)}.legende{margin-top:14px}.galerie{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:40px 32px;padding-bottom:clamp(70px,10vw,140px);display:grid}.liens{flex-wrap:wrap;gap:14px 32px;display:flex}.grande-capture .schema.docker{max-width:1100px;margin-inline:auto}@media (width<=899px){.plan .capture{order:-1}}.chargement{display:none}.charge .chargement{z-index:100;display:block;position:fixed;inset:0}.charge body{overflow:hidden}.chargement-noir{background:var(--fond);position:absolute;inset:0}.chargement-nom{color:#0000;-webkit-text-stroke:1px color-mix(in srgb, var(--texte) 42%, transparent);place-content:center;height:100svh;margin:0;display:grid}.chargement-niveau{right:var(--marge);color:var(--texte);opacity:0;will-change:transform;align-items:center;gap:12px;font-size:.85rem;font-weight:400;display:flex;position:absolute;top:0}.chargement-niveau:before{content:"";background:currentColor;width:clamp(18px,3vw,44px);height:1px}.projet-tete{padding:clamp(130px, 17vw, 220px) var(--marge) 0}.projet-tete h1.long{font-size:clamp(2.1rem,7.4vw,7rem)}.suivant b.long{font-size:clamp(1.9rem,6.4vw,6rem)}.projet-tete h1{font-family:var(--titre);text-transform:uppercase;letter-spacing:-.03em;overflow-wrap:anywhere;font-size:clamp(2.6rem,10.5vw,10rem);font-weight:900;font-stretch:125%;line-height:.88}.projet-tete .resume{letter-spacing:-.025em;max-width:22ch;margin-top:clamp(24px,3vw,44px);font-size:clamp(1.3rem,2.8vw,2.3rem);font-weight:500;line-height:1.15}.fiche{border-block:1px solid var(--trait);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:22px 32px;margin-top:clamp(44px,7vw,90px);padding-block:26px;display:grid}.fiche dt{margin-bottom:6px}.recit{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:50px clamp(30px,6vw,100px);display:grid}.recit .texte{color:color-mix(in srgb, var(--texte) 86%, var(--fond));gap:22px;max-width:60ch;font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.45;display:grid}.recit .points{gap:0;margin-top:14px;display:grid}.recit .points li{border-top:1px solid var(--trait);padding:16px 0;font-weight:500}.recit .schema{position:sticky;top:90px}.recit:not(:has(.schema)){grid-template-columns:minmax(0,1fr)}.recit:not(:has(.schema)) .points{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));column-gap:40px;max-width:none}.lien{border-bottom:1px solid var(--texte);align-items:center;gap:10px;padding-bottom:4px;font-weight:500;display:inline-flex}@media (width<=899px){.recit{grid-template-columns:1fr}.recit .schema{order:-1;position:static}}.suivant{border-top:1px solid var(--trait);padding:clamp(60px, 10vw, 130px) var(--marge);display:block;overflow:hidden}.suivant b{font-family:var(--titre);text-transform:uppercase;letter-spacing:-.03em;transition:transform .6s var(--sortie);overflow-wrap:anywhere;margin-top:14px;font-size:clamp(2.4rem,9vw,8.5rem);font-weight:900;font-stretch:125%;line-height:.9;display:block}@media (hover:hover){.suivant:hover b{transform:translate(2vw)}}@media (prefers-reduced-motion:reduce){.hero-pied .descend:after{animation:none;transform:none}.jauge-fond,.champ.secoue{animation:none}*,:before,:after{transition-duration:.01ms!important}}.admin{padding:clamp(110px, 12vw, 150px) var(--marge) 120px;max-width:1280px;margin-inline:auto}.admin h1{font-family:var(--titre);text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(2rem,5vw,3.6rem);font-weight:800;font-stretch:125%;line-height:.95}.admin .intro{color:var(--doux);max-width:62ch;margin-top:18px}.admin .intro a,.admin .aide a{color:var(--texte);border-bottom:1px solid var(--sourd)}.admin-porte{gap:18px;max-width:520px;margin-top:40px;display:grid}.admin label{color:var(--doux);gap:7px;font-size:.9rem;display:grid}.admin input:not([type=checkbox]):not([type=file]),.admin textarea,.admin select{background:var(--fond-2);border:1px solid var(--bord);width:100%;color:var(--texte);font:inherit;border-radius:10px;padding:12px 14px;transition:border-color .2s}.admin textarea{resize:vertical;min-height:96px;line-height:1.45}.admin input:focus-visible,.admin textarea:focus-visible,.admin select:focus-visible{border-color:var(--accent);outline:none}.admin .coche-ligne{color:var(--texte);align-items:center;gap:10px;display:flex}.admin .coche-ligne input{width:18px;height:18px;accent-color:var(--accent)}.admin .aide{color:var(--sourd);font-size:.85rem}.admin-barre{z-index:5;border:1px solid var(--trait);background:var(--verre);backdrop-filter:blur(14px);border-radius:16px;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:36px 0 28px;padding:12px 14px 12px 20px;display:flex;position:sticky;top:74px}.admin-barre .etat{color:var(--doux);flex:240px;font-size:.95rem}.admin-barre .etat.alerte{color:var(--erreur)}.admin-barre .etat.bon{color:var(--accent)}.admin .bouton{height:44px;padding:0 20px;font-size:.92rem}.admin .bouton[disabled]{opacity:.4;pointer-events:none}.admin-corps{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;gap:28px clamp(24px,4vw,56px);display:grid}.admin-liste{gap:6px;display:grid}.admin-liste li{border:1px solid var(--trait);border-radius:12px;align-items:center;gap:4px;padding:4px 6px 4px 4px;transition:border-color .2s,background-color .2s;display:flex}.admin-liste li.choisi{border-color:var(--texte);background:var(--fond-3)}.admin-liste .nom-projet{text-align:left;min-width:0;color:inherit;font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:10px;font-weight:500;overflow:hidden}.admin-liste .nom-projet small{color:var(--sourd);font-size:.78rem;font-weight:400;display:block}.admin .mini{width:32px;height:32px;color:var(--doux);font:inherit;cursor:pointer;transition:background-color .16s ease, color .16s ease, transform .16s var(--sortie);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.admin .mini:hover{background:var(--trait);color:var(--texte)}.admin .mini:active{transform:scale(.92)}.admin .mini[disabled]{opacity:.25;pointer-events:none}.admin-fiche{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px 20px;display:grid}.admin-fiche .large{grid-column:1/-1}.admin-fiche h2{border-top:1px solid var(--trait);grid-column:1/-1;margin-top:18px;padding-top:22px;font-size:1.05rem;font-weight:600}.admin-fiche h2:first-child{border-top:0;margin-top:0;padding-top:0}.admin .media{color:var(--doux);flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:.88rem;display:flex}.admin .media img,.admin .media video{aspect-ratio:16/10;object-fit:cover;background:var(--fond-3);border-radius:8px;width:132px}.admin .media code{font-family:var(--mono);color:var(--texte);overflow-wrap:anywhere;font-size:.78rem}.admin .extra{gap:10px;display:grid}.admin .extra>div{grid-template-columns:132px minmax(0,1fr) 32px;align-items:center;gap:12px;display:grid}.admin .danger{color:var(--erreur);border-color:color-mix(in srgb, var(--erreur) 40%, transparent)}@media (width<=899px){.admin-corps,.admin-fiche{grid-template-columns:1fr}}.perdu{background:var(--fond);min-height:100svh;position:relative;overflow:hidden}.perdu .pochoir h1{letter-spacing:-.05em;padding-bottom:20svh;font-size:min(38vw,48svh)}.perdu-pied{z-index:2;padding:0 var(--marge) clamp(90px, 12svh, 130px);text-align:center;flex-direction:column;align-items:center;gap:22px;display:flex;position:absolute;inset:auto 0 0}.perdu-pied p{color:var(--texte);text-wrap:balance;max-width:30ch;font-size:clamp(1.15rem,2vw,1.5rem)}.perdu-pied .mono{color:var(--doux);word-break:break-all;max-width:none;font-size:.8rem}.perdu-pied .actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}html:not([data-langue-vue=en]) .perdu [lang=en],html[data-langue-vue=en] .perdu [lang=fr]{display:none}:root:not([data-theme=clair]) .trame~.pochoir{background:#000}.services{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:0 clamp(32px,5vw,72px);padding-bottom:clamp(60px,8vw,110px);display:grid}.services>h2{color:var(--doux);grid-column:1/-1;margin-bottom:18px}.famille{border-top:1px solid var(--bord);padding:22px 0 30px}.famille h3{font-family:var(--titre);text-transform:uppercase;letter-spacing:.01em;margin-bottom:16px;font-size:1.05rem;font-weight:800;font-stretch:125%}.famille dl{gap:14px;display:grid}.famille dt{font-weight:600}.famille dd{color:var(--doux);margin-top:2px;font-size:.95rem}
