@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-vietnamese-opsz-normal.1k3y_okim8acf.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-ext-opsz-normal.25isf9j40uh6k.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-opsz-normal.1oev-doreg81o.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-cyrillic-ext-wght-normal.2v1o51uc2kchm.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-cyrillic-wght-normal.40fhna1udykyx.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-greek-wght-normal.27bif0w39buap.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-vietnamese-wght-normal.2j8_frj6hvgv_.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-latin-ext-wght-normal.1l408xhqv1p1x.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-latin-wght-normal.1-vxdsykms0gx.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,[data-theme=sombre]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fond:#26301d;--bloc:#3a482c;--carte:#435334;--contraste:#1a2113;--accent:#d8bc62;--texte:#f6f4ea;--texte-2:#d2d3c2;--sur-contraste:#f6f4ea;--sur-contraste-2:#c9ccb6;--sur-accent:#26301d;--texte-accent:#d8bc62;--decor:#8ba36c;--trait:#f6f4ea29;--bouton-fond:#f6f4ea;--bouton-texte:#26301d;--ombre:#0a0e0666;--ombre-douce:#0a0e0638;--reflet:#ffffff1a;--halo:#d8bc6273;--encre-titre:#3b4521;--encre-italique:#1c2014;--img-hero:url(/3d/hero-desktop-sombre.webp);--img-hero-mobile:url(/3d/hero-mobile-sombre.webp);--img-relief:url(/3d/relief-sombre.webp);--img-noeuds:url(/3d/noeuds-sombre.webp);--img-noeuds-petit:url(/3d/noeuds-sombre-800.webp);--img-routeur:url(/3d/routeur-sombre-800.webp)}[data-theme=clair]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fond:#f4fafc;--bloc:#d6edf5;--carte:#fff;--contraste:#19364b;--accent:#d8bc62;--texte:#19364b;--texte-2:#3d5a6e;--sur-contraste:#f4fafc;--sur-contraste-2:#c6dce8;--sur-accent:#19364b;--texte-accent:#7a5f0e;--decor:#4a87a4;--trait:#19364b29;--bouton-fond:#19364b;--bouton-texte:#f4fafc;--ombre:#19364b24;--ombre-douce:#19364b14;--reflet:#ffffffb3;--halo:#d8bc628c;--encre-titre:#19364b;--encre-italique:#19364b;--img-hero:url(/3d/hero-desktop-clair.webp);--img-hero-mobile:url(/3d/hero-mobile-clair.webp);--img-relief:url(/3d/relief-clair.webp);--img-noeuds:url(/3d/noeuds-clair.webp);--img-noeuds-petit:url(/3d/noeuds-clair-800.webp);--img-routeur:url(/3d/routeur-clair-800.webp)}:root{--f-titre:"Bricolage Grotesque Variable", "Arial Narrow", sans-serif;--f-texte:"IBM Plex Sans Variable", system-ui, sans-serif;--marge:clamp(20px, 6.6vw, 96px);--largeur:1248px;--argile-eleve:0 24px 48px -8px var(--ombre), 0 4px 10px var(--ombre-douce), inset 0 2px 0 var(--reflet), inset 0 -4px 8px var(--ombre-douce);--argile-pose:0 10px 24px -4px var(--ombre), inset 0 1px 0 var(--reflet);--argile-creux:inset 0 3px 8px var(--ombre);--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--fond);color:var(--texte);font:400 1rem/1.6 var(--f-texte);-webkit-font-smoothing:antialiased;transition:background-color .35s var(--ease), color .35s var(--ease);margin:0}img,svg{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p,ul,ol,dl,dd{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.lien-evitement{z-index:100;background:var(--accent);color:var(--sur-accent);border-radius:999px;padding:10px 18px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:16px}.lien-evitement:focus{top:12px}.t-heros{font:800 clamp(2.8rem, 6.4vw, 6rem) / .95 var(--f-titre);letter-spacing:-.02em;font-variation-settings:"opsz" 96}.t-italique-heros{font:300 clamp(3rem, 7vw, 6.5rem) / .95 var(--f-titre);letter-spacing:-.02em}.t-h1{font:800 clamp(2.1rem, 3.6vw, 3.25rem) / 1.05 var(--f-titre);letter-spacing:-.03em}.t-h2{font:700 clamp(1.6rem, 2.4vw, 2.25rem) / 1.12 var(--f-titre);letter-spacing:-.02em}.t-h3{font:600 clamp(1.125rem, 1.35vw, 1.3rem) / 1.28 var(--f-titre);letter-spacing:-.01em}.t-italique{font:300 clamp(1.75rem, 2.4vw, 2.25rem) / 1.12 var(--f-titre)}.t-legende{font:500 .875rem/1.45 var(--f-texte);text-transform:uppercase;letter-spacing:.06em;color:var(--texte-2)}.t-lead{font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.52}.t-petit{font-size:.9375rem;line-height:1.47}.t-mono{font:600 .75rem/1.38 var(--f-texte);text-transform:uppercase;letter-spacing:.08em}.t-geant{font:800 clamp(3.25rem, 9vw, 8rem) / .7 var(--f-titre);letter-spacing:-.04em}.secondaire{color:var(--texte-2)}.page{min-height:100vh;overflow-x:clip}@media (min-width:1024px){.page{border-left:14px solid var(--contraste)}}.conteneur{width:min(100% - 2 * var(--marge), var(--largeur));margin-inline:auto}.section{padding-block:clamp(48px,6.5vw,100px)}.section--bloc{background:var(--bloc)}.section--contraste{background:var(--contraste);color:var(--sur-contraste)}.section--contraste .t-legende,.section--contraste .secondaire{color:var(--sur-contraste-2)}.entete-section{gap:12px;margin-bottom:clamp(28px,4vw,48px);display:grid}.entete-section--centre{text-align:center;justify-items:center}.bouton{--bf:var(--bouton-fond);--bt:var(--bouton-texte);--bi:var(--accent);--bit:var(--sur-accent);background:var(--bf);min-height:44px;color:var(--bt);font:600 1rem/1.25 var(--f-texte);white-space:nowrap;cursor:pointer;box-shadow:var(--argile-pose);transition:transform .18s var(--ease), box-shadow .18s var(--ease), background-color .18s var(--ease);border:1.5px solid #0000;border-radius:999px;align-items:center;gap:12px;padding:7px 7px 7px 20px;text-decoration:none;display:inline-flex}.bouton:hover{box-shadow:0 14px 28px -6px var(--ombre), inset 0 1px 0 var(--reflet);transform:translateY(-2px)}.bouton:active{transform:translateY(0)}.bouton__icone{background:var(--bi);width:30px;height:30px;color:var(--bit);transition:transform .18s var(--ease);border-radius:50%;place-items:center;display:grid}.bouton:hover .bouton__icone{transform:translate(2px)}.bouton--secondaire{--bf:transparent;--bt:var(--texte);--bi:var(--contraste);--bit:var(--sur-contraste);box-shadow:none;border-color:currentColor}.bouton--secondaire:hover{box-shadow:none;background:var(--trait)}.sur-contraste .bouton{--bf:var(--accent);--bt:var(--sur-accent);--bi:var(--contraste);--bit:var(--sur-contraste)}.sur-contraste .bouton--secondaire{--bf:transparent;--bt:var(--sur-contraste);--bi:var(--sur-contraste);--bit:var(--contraste)}.bouton--lien{min-height:28px;color:inherit;box-shadow:none;background:0 0;border:0;padding:4px 0}.bouton--lien:hover{box-shadow:none;transform:none}.bouton--lien .bouton__icone{width:auto;height:auto;color:inherit;background:0 0}.groupe-boutons{flex-wrap:wrap;gap:12px;display:flex}.pastille{background:var(--carte);box-shadow:var(--argile-eleve);border-radius:999px;align-items:center;gap:10px;padding:12px 20px;font-size:.9375rem;line-height:1.4;display:inline-flex}.pastille:before{content:"";background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 4px var(--halo);border-radius:50%;animation:2.4s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 7px #0000}}.technos{flex-wrap:wrap;gap:8px;display:flex}.techno{border:1px solid var(--trait);font:500 .8125rem/1.3 var(--f-texte);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.techno__logo{background:#fff;border-radius:6px;place-items:center;width:20px;height:20px;padding:2px;display:grid}.entete{z-index:40;justify-content:space-between;align-items:center;gap:16px;height:84px;padding-inline:clamp(24px,4.4vw,64px);display:flex;position:absolute;inset:0 0 auto}.entete__signature{font:800 1.125rem/1.2 var(--f-titre);letter-spacing:-.01em;color:var(--encre-titre);text-decoration:none}.entete--sur-sombre .entete__signature{color:var(--sur-contraste)}.entete__nav{background:var(--carte);box-shadow:var(--argile-eleve);border-radius:999px;align-items:center;gap:4px;padding:6px;display:flex}.entete__lien{font:600 .9375rem/1.3 var(--f-texte);color:var(--texte);transition:background-color .18s var(--ease);border-radius:999px;padding:10px 16px;text-decoration:none}.entete__lien:hover{background:var(--trait)}.entete__lien[aria-current=page]{background:var(--contraste);color:var(--sur-contraste)}.entete__separateur{background:var(--trait);width:1px;height:24px;margin-inline:6px}.bascule{border:1px solid var(--trait);background:var(--carte);cursor:pointer;border-radius:18px;gap:8px;padding:4px;display:inline-flex}.bascule__rond{width:28px;height:28px;color:var(--texte-2);transition:background-color .25s var(--ease), color .25s var(--ease);border-radius:50%;place-items:center;display:grid}[data-theme=sombre] .bascule__rond--lune,[data-theme=clair] .bascule__rond--soleil{background:var(--accent);color:var(--sur-accent);box-shadow:inset 0 0 0 1.5px var(--sur-accent)}.entete__mobile{display:none}@media (max-width:899px){.entete{background:color-mix(in srgb, var(--fond) 82%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--trait);gap:10px;height:72px;padding-inline:20px;position:fixed}.entete__signature{color:var(--texte);flex:1}.entete--sur-sombre .entete__signature{color:var(--texte)}.entete__nav,.entete__cv{display:none}.entete__mobile{align-items:center;gap:10px;display:flex}.page{padding-top:72px}}.bouton-menu{background:var(--carte);width:48px;height:48px;box-shadow:var(--argile-pose);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.menu{z-index:60;background:var(--contraste);color:var(--sur-contraste);flex-direction:column;padding:0 20px 32px;display:flex;position:fixed;inset:0}.menu__barre{align-items:center;gap:10px;height:72px;display:flex}.menu__barre .entete__signature{color:var(--sur-contraste);flex:1}.menu__liens{gap:4px;margin-top:32px;display:grid}.menu__lien{font:800 2.5rem/1.2 var(--f-titre);letter-spacing:-.02em;align-items:baseline;gap:14px;padding-block:6px;text-decoration:none;display:flex}.menu__lien span{font:600 .75rem/1 var(--f-texte);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.menu__lien[aria-current=page]{color:var(--accent)}.menu__bas{gap:18px;margin-top:auto;display:grid}.menu__bas .bouton{justify-content:space-between}.menu__externes{color:var(--sur-contraste-2);gap:24px;display:flex}.menu .bouton-menu{background:var(--sur-contraste);color:var(--contraste)}.pied{background:var(--contraste);color:var(--sur-contraste);padding:48px 64px 32px}.pied__haut{border-bottom:1px solid #ffffff29;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-bottom:28px;display:flex}.pied__signature{font:800 1.375rem/1.2 var(--f-titre);letter-spacing:-.01em}.pied__liens{flex-wrap:wrap;gap:8px 32px;display:flex}.pied__liens a,.pied__bas a{font-weight:600;text-decoration:none}.pied__liens a:hover,.pied__bas a:hover{text-underline-offset:4px;text-decoration:underline}.pied__bas{color:var(--sur-contraste-2);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:28px;font-size:.9375rem;display:flex}@media (max-width:899px){.pied{padding:40px 20px 28px}.pied__haut{flex-direction:column;align-items:flex-start}}.heros{min-height:820px;padding:124px var(--marge) 24px;background:var(--bloc) var(--img-hero) center / cover no-repeat;text-align:center;isolation:isolate;position:relative}.heros__nom{color:var(--encre-titre);text-shadow:0 8px 16px #0000001f,0 2px 1px #ffffff40}.heros__accroche{color:var(--encre-italique);margin-top:10px}.heros__scene{text-align:left;grid-template-columns:320px 360px 320px;justify-content:space-between;align-items:start;max-width:1248px;margin:6px auto 0;display:grid;position:relative}.heros__panneau{background:var(--carte);box-shadow:var(--argile-eleve);border-radius:26px;gap:18px;margin-top:90px;padding:24px;display:grid}.heros__panneau--stage{gap:14px}.heros__photo{height:460px}@media (max-width:1199px){.heros__scene{grid-template-columns:1fr 1fr;gap:24px}.heros__photo{grid-area:1/1/auto/-1;justify-self:center;width:340px;height:440px}.heros__panneau{margin-top:0}}@media (max-width:899px){.heros{background-image:var(--img-hero-mobile);text-align:left;background-position:bottom;min-height:calc(100svh - 72px);padding:28px 20px 32px}.heros__nom{letter-spacing:-.03em;font-size:clamp(2.3rem,11vw,3rem);line-height:1}.heros__accroche{margin-top:4px;font-size:clamp(2.5rem,12vw,3.1rem)}.heros__scene{grid-template-columns:1fr;gap:16px;margin-top:20px;display:grid}.heros__photo,.heros__panneau--presentation{display:none}.heros__panneau{border-radius:26px;padding:22px}.heros__panneau--stage .groupe-boutons{grid-template-columns:1fr;display:grid}.heros__panneau--stage .bouton{justify-content:space-between}}.presentation-mobile{display:none}@media (max-width:899px){.presentation-mobile{background:var(--bloc);gap:24px;padding:56px 20px;display:grid}.presentation-mobile .photo{justify-self:center;width:min(290px,100%);height:370px}}.photo{background:var(--bloc);box-shadow:var(--argile-creux);color:var(--texte-2);place-items:center;display:grid;position:relative;overflow:hidden}.photo--arche{border-radius:999px 999px 32px 32px}.photo--paysage{border-radius:24px}.photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo svg{opacity:.7;width:38%;max-width:160px;height:auto}.qr{aspect-ratio:1;border:2px dashed var(--trait);width:150px;color:var(--texte-2);border-radius:24px;place-items:center;display:grid}.outils{text-align:center;padding-block:56px}.outils__liste{flex-wrap:wrap;justify-content:center;gap:20px 56px;margin-top:28px;display:flex}.outil{align-items:center;gap:12px;display:inline-flex}.outil__logo{place-items:center;width:30px;height:30px;display:grid}[data-theme=sombre] .outil__logo--sombre{background:#f6f4ea;border-radius:8px;padding:4px}@media (max-width:899px){.outils{text-align:left;padding-block:40px}.outils__liste{justify-content:flex-start;gap:16px 24px}}.carte-projet{background:var(--carte);box-shadow:var(--argile-eleve);transition:transform .35s var(--ease), box-shadow .35s var(--ease);border-radius:36px;display:grid;position:relative;overflow:hidden}.carte-projet:hover{box-shadow:0 36px 64px -12px var(--ombre), 0 4px 10px var(--ombre-douce), inset 0 2px 0 var(--reflet);transform:translateY(-6px)}.carte-projet__texte{align-content:center;gap:16px;padding:40px;display:grid}.carte-projet__role{gap:4px;display:grid}.carte-projet__role dt{font:600 .75rem/1.38 var(--f-texte);text-transform:uppercase;letter-spacing:.08em;color:var(--texte-accent)}.carte-projet__lien{justify-self:start}.carte-projet__lien:after{content:"";position:absolute;inset:0}.carte-projet--grande{grid-template-columns:minmax(0,760fr) minmax(0,488fr);min-height:500px}.carte-projet--haute{align-content:start}.carte-projet--haute .carte-projet__texte{padding:32px}.carte-projet--inverse{background:var(--contraste);color:var(--sur-contraste);grid-template-columns:minmax(0,488fr) minmax(0,760fr)}.carte-projet--inverse .t-legende,.carte-projet--inverse .secondaire{color:var(--sur-contraste-2)}.carte-projet--inverse .carte-projet__role dt{color:var(--accent)}.carte-projet--inverse .techno{border-color:#ffffff3d}.carte-projet--inverse .carte-projet__visuel{border-radius:28px;margin:32px 32px 32px 0}@media (max-width:899px){.carte-projet--grande,.carte-projet--inverse{grid-template-columns:1fr;min-height:0}.carte-projet__texte{padding:28px 24px 32px}.carte-projet--inverse .carte-projet__visuel{border-radius:24px;order:-1;margin:16px 16px 0}}.visuel{background:var(--bloc);place-items:center;min-height:300px;display:grid;position:relative;overflow:hidden}.visuel--tablette{background:var(--bloc) var(--img-noeuds) center / cover no-repeat;padding:clamp(24px,5vw,72px) clamp(20px,6vw,100px)}.carte-projet--haute .visuel--tablette{background-image:var(--img-noeuds-petit);min-height:300px;padding:28px}.visuel--schema{padding:clamp(16px,3vw,40px)}.tablette{background:var(--contraste);width:100%;max-width:560px;box-shadow:var(--argile-eleve);transition:transform .5s var(--ease);border-radius:34px;padding:16px}.carte-projet:hover .tablette{transform:rotate(-1.5deg)scale(1.02)}.tablette__ecran{aspect-ratio:528/344;background:#fbf7ee;border-radius:20px;overflow:hidden}.tablette__ecran img{object-fit:cover;width:100%;height:100%}.ecran-exemple{color:#3a2e14;height:100%;font-family:var(--f-titre);grid-template-rows:auto 1fr auto;gap:4%;padding:4.5% 5.3%;font-weight:300;display:grid}.ecran-exemple__barre{justify-content:space-between;align-items:baseline;display:flex}.ecran-exemple__marque{font-size:clamp(.9rem,1.9vw,1.6rem)}.ecran-exemple__menu{font:.6rem var(--f-texte);color:#6b5b3a;gap:1.2em;display:flex}.ecran-exemple__banniere{background:#f2d58a;border-radius:14px;align-content:center;gap:8%;padding:0 4%;font-size:clamp(.75rem,1.6vw,1.35rem);line-height:1.15;display:grid}.ecran-exemple__banniere i{background:#3a2e14;border-radius:99px;width:23%;height:.9em;display:block}.ecran-exemple__cases{grid-template-columns:repeat(3,1fr);gap:3%;height:34%;display:grid}.ecran-exemple__cases i{background:#efe6d2;border-radius:12px}.schema-reseau{aspect-ratio:3/2;width:100%;max-width:600px;position:relative;container-type:inline-size}.schema-reseau__cables{width:100%;height:100%;position:absolute;inset:0}.schema-reseau__cables path{fill:none;stroke:var(--fond);stroke-width:6px;stroke-linecap:round}.carte-projet--inverse .schema-reseau__cables path{stroke:var(--carte)}.schema-reseau__paquet{fill:var(--accent);stroke:var(--sur-accent);stroke-width:2px}.schema-reseau__noeud{background:var(--carte);color:var(--texte);box-shadow:var(--argile-pose);font:600 max(9px, 2.67cqi) / 1.25 var(--f-texte);white-space:nowrap;border-radius:2.7cqi;gap:2px;padding:1.7cqi 2.4cqi;display:grid;position:absolute}.schema-reseau__noeud small{font:600 max(8px, 2cqi) / 1.3 var(--f-texte);text-transform:uppercase;letter-spacing:.06em;color:var(--texte-2)}.schema-reseau__noeud--fort{background:var(--contraste);color:var(--sur-contraste)}.schema-reseau__noeud--fort small{color:var(--sur-contraste-2)}.carte-github{background:var(--contraste);min-height:420px;color:var(--sur-contraste);box-shadow:var(--argile-eleve);border-radius:36px;align-content:end;gap:20px;padding:40px 32px;display:grid}.carte-github .secondaire{color:var(--sur-contraste-2)}.carte-github__logo{width:64px;height:64px;color:var(--accent);margin-bottom:auto}.liste-projets{gap:48px;display:grid}.centre{justify-content:center;display:flex}.tuiles{grid-template-columns:repeat(3,minmax(0,320px));justify-content:space-between;gap:24px;margin-top:40px;display:grid;position:relative}.tuile{background:var(--carte);box-shadow:var(--argile-eleve);border-radius:32px;align-content:start;gap:12px;padding:32px;display:grid}.tuile:first-child{rotate:-3deg}.tuile:nth-child(2){margin-top:30px;rotate:2deg}.tuile:nth-child(3){rotate:-2deg}.tuile__numero{font:800 3.25rem/1 var(--f-titre);letter-spacing:-.03em}.tuiles__liaisons{pointer-events:none;width:100%;height:80px;position:absolute;inset:-16px 0 auto}.tuiles__liaisons path{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--halo))}.tuiles__liaisons circle{fill:var(--accent)}@media (max-width:899px){.tuiles{grid-template-columns:1fr;gap:20px;margin-top:20px}.tuile{border-radius:26px;gap:8px;padding:24px;margin-top:0!important;rotate:none!important}.tuile__numero{font-size:2.5rem}.tuiles__liaisons{display:none}}.cta{grid-template-columns:1fr minmax(0,560px);align-items:center;gap:40px;display:grid}.cta__titre{font:800 clamp(2.6rem, 5.4vw, 4.75rem) / .98 var(--f-titre);letter-spacing:-.04em}.cta__titre em{font:300 clamp(2.9rem, 6vw, 5.25rem) / 1.02 var(--f-titre);letter-spacing:-.02em;color:var(--accent);display:block}.cta__texte{max-width:560px;margin:28px 0 24px}.rendu{aspect-ratio:1;background:var(--contraste) var(--img-routeur) center / cover no-repeat;border-radius:40px}@media (max-width:899px){.cta{grid-template-columns:1fr;gap:20px}.cta .rendu{aspect-ratio:350/260;border-radius:28px;order:-1}.cta__texte{margin:16px 0 18px}}.ouverture{padding:130px var(--marge) 72px;position:relative;overflow:hidden}.ouverture--contraste{background:var(--contraste);color:var(--sur-contraste)}.ouverture--contraste .secondaire{color:var(--sur-contraste-2)}.ouverture__grille{max-width:var(--largeur);grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:40px;margin-inline:auto;display:grid}.ouverture__titre{font:800 clamp(3.2rem, 8.4vw, 7.5rem) / .86 var(--f-titre);letter-spacing:-.04em;font-variation-settings:"opsz" 96}.ouverture__accroche{font:300 clamp(2.2rem, 4.2vw, 3.75rem) / 1.02 var(--f-titre);color:var(--accent);margin:24px 0 28px 8px}.ouverture__tablette{justify-self:center;width:100%;max-width:420px;rotate:-8deg}@media (max-width:899px){.ouverture{padding:40px 20px 48px}.ouverture__grille{grid-template-columns:1fr}.ouverture__tablette{max-width:300px;rotate:-5deg}}.filtres{flex-wrap:wrap;gap:10px;padding-top:40px;display:flex}.filtre{background:var(--carte);min-height:44px;color:var(--texte);box-shadow:var(--argile-pose);font:600 1rem/1.25 var(--f-texte);cursor:pointer;transition:background-color .18s var(--ease), transform .18s var(--ease);border:0;border-radius:999px;align-items:center;gap:10px;padding:10px 20px;display:inline-flex;position:relative}.filtre:hover{transform:translateY(-1px)}.filtre small{font:600 .75rem/1 var(--f-texte);text-transform:uppercase;letter-spacing:.08em;color:var(--texte-2)}.filtre[aria-pressed=true]{background:var(--contraste);color:var(--sur-contraste)}.filtre[aria-pressed=true] small{color:var(--accent)}@media (max-width:899px){.filtres{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-20px;padding:24px 20px 8px;overflow-x:auto}.filtre{flex:none}}.galerie{gap:32px;padding-block:40px 120px;display:grid}.galerie__rangee{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;display:grid}@media (max-width:1099px){.galerie__rangee{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:699px){.galerie__rangee{grid-template-columns:1fr}.galerie{padding-bottom:72px}}.etude-ouverture{min-height:780px;padding:180px var(--marge) 100px;background:var(--bloc) var(--img-noeuds) center / cover no-repeat;position:relative}.etude-ouverture__titre{color:var(--encre-titre)}.etude-ouverture__accroche{font:300 clamp(2.2rem, 3.6vw, 3.25rem) / 1.02 var(--f-titre);color:var(--encre-italique);margin:20px 0 0 8px}.etude-ouverture__visuel{background:0 0;width:min(560px,40vw);min-height:0;padding:0;position:absolute;top:210px;right:-20px;overflow:visible;rotate:-4deg}.etude-ouverture__visuel .tablette{max-width:none}.etude-ouverture__visuel.visuel--schema{background:var(--carte);box-shadow:var(--argile-eleve);border-radius:32px;padding:24px;rotate:-2deg}.reperes{background:var(--carte);width:max-content;max-width:100%;box-shadow:var(--argile-eleve);border-radius:26px;grid-template-columns:repeat(4,minmax(0,190px));margin-top:88px;display:grid}.reperes div{gap:6px;padding:24px;display:grid}.reperes div+div{border-left:1px solid var(--trait)}.reperes dt{font:600 .75rem/1.38 var(--f-texte);text-transform:uppercase;letter-spacing:.08em;color:var(--texte-2)}.reperes dd{font:600 1.0625rem/1.4 var(--f-texte)}@media (max-width:899px){.etude-ouverture{background-image:var(--img-noeuds-petit);min-height:0;padding:48px 20px 40px}.etude-ouverture__visuel{width:100%;margin-top:32px;position:relative;inset:auto;rotate:none}.reperes{grid-template-columns:1fr 1fr;width:100%;margin-top:32px}.reperes div:nth-child(3){border-left:0}.reperes div:nth-child(n+3){border-top:1px solid var(--trait)}}.deux-colonnes{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 96px;display:grid}.bloc-numerote{align-content:start;gap:18px;display:grid}.bloc-numerote__numero{font:800 clamp(3rem, 4.8vw, 4.5rem) / .8 var(--f-titre);letter-spacing:-.04em;color:var(--decor)}@media (max-width:899px){.deux-colonnes{grid-template-columns:1fr}}.contribution{grid-template-columns:minmax(0,520fr) minmax(0,536fr);justify-content:space-between;gap:40px 96px;display:grid}.contribution__intro{font:700 clamp(1.8rem, 2.8vw, 2.5rem) / 1.1 var(--f-titre);letter-spacing:-.02em}.taches{display:grid}.tache{border-bottom:1px solid #ffffff29;grid-template-columns:40px 1fr;gap:4px 18px;padding-block:24px;display:grid}.tache:first-child{padding-top:0}.tache__coche{background:var(--accent);width:40px;height:40px;color:var(--sur-accent);border-radius:50%;grid-row:span 2;place-items:center;display:grid}@media (max-width:899px){.contribution{grid-template-columns:1fr}}.schema-cadre{background:var(--bloc);border-radius:36px;place-items:center;margin-block:40px;padding:clamp(24px,6vw,96px) clamp(16px,5vw,64px);display:grid}.architecture{align-items:center;gap:0;width:100%;max-width:851px;display:flex}.architecture__noeud{background:var(--carte);box-shadow:var(--argile-eleve);border-radius:20px;flex:none;gap:4px;padding:18px 24px;display:grid}.architecture__noeud small{font:600 .75rem/1.3 var(--f-texte);text-transform:uppercase;letter-spacing:.08em;color:var(--texte-2)}.architecture__fleche{background:var(--fond);border-radius:3px;flex:1;min-width:32px;height:6px;position:relative}.architecture__fleche:after{content:"";background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 2px var(--sur-accent);animation:flux 2.6s var(--ease) infinite;border-radius:50%;position:absolute;top:50%;left:0;translate:0 -50%}@keyframes flux{to{left:calc(100% - 12px)}}@media (max-width:699px){.architecture{flex-direction:column}.architecture__fleche{flex:none;width:6px;min-width:0;height:40px}.architecture__fleche:after{animation-name:flux-vertical;top:0;left:50%;translate:-50%}@keyframes flux-vertical{to{top:calc(100% - 12px)}}}.resultat{grid-template-columns:minmax(0,520px) minmax(0,644px);justify-content:space-between;align-items:start;gap:40px;display:grid}.mesures{gap:26px;margin-top:40px;display:grid}.mesure{background:var(--carte);box-shadow:var(--argile-pose);border-radius:24px;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.ordinateur{margin-top:40px}.ordinateur__ecran{background:var(--contraste);box-shadow:var(--argile-eleve);border-radius:24px 24px 6px 6px;padding:14px}.ordinateur__ecran>div{aspect-ratio:16/10;background:var(--fond);color:var(--texte-2);border-radius:12px;place-items:center;display:grid}.ordinateur__base{background:var(--carte);height:18px;box-shadow:var(--argile-pose);border-radius:0 0 24px 24px;margin-inline:-4%}@media (max-width:899px){.resultat{grid-template-columns:1fr}}.liens-projet{grid-template-columns:auto minmax(0,600px);justify-content:space-between;align-items:center;gap:40px;display:grid}.projet-suivant{background:var(--contraste);color:var(--sur-contraste);transition:transform .25s var(--ease);border-radius:32px;gap:8px;padding:32px 40px;text-decoration:none;display:grid}.projet-suivant:hover{transform:translate(6px)}.projet-suivant .t-mono{color:var(--accent)}.projet-suivant .t-h2{justify-content:space-between;gap:16px;display:flex}@media (max-width:899px){.liens-projet{grid-template-columns:1fr}.projet-suivant{padding:24px}}.parcours-ouverture{min-height:700px;padding:110px var(--marge) 72px;background:var(--contraste) var(--img-relief) center / cover no-repeat;color:var(--sur-contraste);text-align:center;place-items:center;display:grid}.parcours-ouverture .t-legende,.parcours-ouverture .secondaire{color:var(--sur-contraste-2)}.parcours-ouverture h1{font:800 clamp(2.6rem, 5.4vw, 4.75rem) / 1.06 var(--f-titre);letter-spacing:-.04em}.parcours-ouverture h1 em{font:300 clamp(2.5rem, 5.2vw, 4.5rem) / 1.2 var(--f-titre);letter-spacing:-.02em;color:var(--accent);display:block}.parcours-ouverture p.t-lead{max-width:560px;margin:24px auto 0}@media (max-width:899px){.parcours-ouverture{background-size:auto 100%;min-height:600px;padding:64px 20px}}.chapitres{padding-block:96px 0;display:grid}.chapitre{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:64px;padding-block:44px;display:grid}.chapitre:nth-child(2n){grid-template-columns:auto auto minmax(0,1fr)}.chapitre:nth-child(2n) .photo{order:-1}.chapitre__numero{color:var(--decor)}.chapitre--actuel .chapitre__numero{color:var(--texte)}.chapitre__texte{gap:12px;max-width:676px;display:grid}.chapitre__periode{font:600 .75rem/1.38 var(--f-texte);text-transform:uppercase;letter-spacing:.08em;color:var(--texte-accent)}.chapitre .photo--arche{width:220px;height:280px}.chapitre .photo--paysage{width:300px;height:210px}.chapitre:nth-child(odd) .photo{rotate:-3deg}.chapitre:nth-child(2n) .photo{rotate:3deg}@media (max-width:899px){.chapitres{padding-top:56px}.chapitre,.chapitre:nth-child(2n){grid-template-columns:auto 1fr;gap:16px 20px;padding-block:28px}.chapitre .photo,.chapitre:nth-child(2n) .photo{order:3;grid-column:1/-1;justify-self:start;rotate:none}.chapitre .photo--arche{width:150px;height:190px}.chapitre .photo--paysage{width:150px;height:104px}.chapitre__numero{font-size:4.5rem;line-height:.8}}.experiences{background:var(--carte);box-shadow:var(--argile-eleve);border-radius:36px;grid-template-columns:minmax(0,360px) minmax(0,700px);justify-content:space-between;align-items:start;gap:24px 48px;margin-block:40px 120px;padding:48px;display:grid}.experience{grid-template-columns:110px 1fr;gap:4px 24px;padding-block:18px;display:grid}.experience__periode{color:var(--texte-accent);padding-top:6px}.experience__corps{gap:8px;display:grid}.experience__corps .technos{margin-top:6px}@media (max-width:599px){.experience{grid-template-columns:1fr}}.experience+.experience{border-top:1px solid var(--trait)}@media (max-width:899px){.experiences{grid-template-columns:1fr;margin-bottom:72px;padding:28px 24px}}.domaines{gap:40px;margin-top:40px;display:grid}.domaine{background:var(--carte);box-shadow:var(--argile-pose);border-radius:28px;grid-template-columns:minmax(0,380px) minmax(0,340px) minmax(0,340px);justify-content:space-between;align-items:center;gap:24px 32px;padding:28px 32px;display:grid}.domaine__titre{gap:10px;display:grid}.domaine__statut{font:600 .75rem/1.38 var(--f-texte);text-transform:uppercase;letter-spacing:.08em;color:var(--texte-accent)}.domaine__preuve{gap:4px;display:grid}.domaine__preuve a{text-underline-offset:4px;font-weight:600}@media (max-width:899px){.domaines{gap:16px}.domaine{grid-template-columns:1fr;gap:16px;padding:24px}}.contact{padding:136px var(--marge) 56px}.contact__titre{font:800 clamp(3.6rem, 11vw, 9.5rem) / 1 var(--f-titre);letter-spacing:-.045em;font-variation-settings:"opsz" 96;margin-top:28px}.contact__email{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:24px;display:flex}.contact__email a{font:300 clamp(1.8rem, 4vw, 3.6rem) / 1.2 var(--f-titre);text-underline-offset:10px;overflow-wrap:anywhere;text-decoration-thickness:2px}.copier{background:var(--carte);min-height:44px;box-shadow:var(--argile-pose);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-weight:600;display:inline-flex}.contact__texte{max-width:620px;margin-top:28px}.blocs-contact{padding:0 var(--marge) 120px;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.bloc-contact{background:var(--contraste);min-height:220px;color:var(--sur-contraste);box-shadow:var(--argile-eleve);transition:transform .25s var(--ease);border-radius:32px;flex-direction:column;justify-content:space-between;gap:40px;padding:28px;text-decoration:none;display:flex}a.bloc-contact:hover{transform:translateY(-6px)rotate(-1deg)}.bloc-contact__haut{justify-content:space-between;align-items:center;display:flex}.bloc-contact .secondaire{color:var(--sur-contraste-2)}.bloc-contact--cv{background:var(--accent);color:var(--sur-accent)}.bloc-contact--cv .secondaire{color:var(--sur-accent)}.bloc-contact--bloc{background:var(--bloc);color:var(--texte)}.bloc-contact--bloc .secondaire{color:var(--texte)}.bloc-contact--qr{background:var(--carte);color:var(--texte);justify-content:center;align-items:center;gap:16px}@media (max-width:1099px){.blocs-contact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:899px){.contact{padding:48px 20px 40px}.blocs-contact{grid-template-columns:1fr;gap:16px;padding:0 20px 72px}.bloc-contact{border-radius:28px;min-height:160px;padding:24px}.bloc-contact--qr{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.bouton--fonce{--bf:var(--contraste);--bt:var(--sur-contraste);--bi:var(--accent);--bit:var(--sur-accent)}.entete--sur-fond .entete__signature{color:var(--texte)}.entete__nom-court{display:none}@media (max-width:899px){.entete__nom-long{display:none}.entete__nom-court{display:inline}}.heros__photo .photo{height:100%}@media (max-width:899px){.heros__panneau-cadre{display:none}}.blocs-contact>*>.bloc-contact{height:100%}@media (max-width:899px){.blocs-contact>div:has(.bloc-contact--qr){display:none}}[data-theme=clair] .etude-ouverture{background-position:100% 100%;background-size:125%}[data-theme=clair] .parcours-ouverture{background-position:53%;background-size:165%}@media (max-width:899px){[data-theme=clair] .etude-ouverture{background-position:50%;background-size:cover}[data-theme=clair] .parcours-ouverture{background-size:auto 135%}}.ouverture--contraste .tablette{background:var(--carte)}@media (min-width:900px) and (min-resolution:1.5x),(min-width:1700px){[data-theme=sombre]{--img-hero:url(/3d/hero-desktop-sombre-4k.webp);--img-relief:url(/3d/relief-sombre-4k.webp);--img-noeuds:url(/3d/noeuds-sombre-4k.webp);--img-routeur:url(/3d/routeur-sombre-4k.webp)}[data-theme=clair]{--img-hero:url(/3d/hero-desktop-clair-4k.webp);--img-relief:url(/3d/relief-clair-4k.webp);--img-noeuds:url(/3d/noeuds-clair-4k.webp);--img-routeur:url(/3d/routeur-clair-4k.webp)}}@media (max-width:899px) and (min-resolution:2x){[data-theme=sombre]{--img-hero-mobile:url(/3d/hero-mobile-sombre-4k.webp)}[data-theme=clair]{--img-hero-mobile:url(/3d/hero-mobile-clair-4k.webp)}}@media (min-width:900px){.entete--sur-relief .entete__signature{background:var(--carte);color:var(--texte);box-shadow:var(--argile-pose);border-radius:999px;padding:10px 16px}}.chapitre:not(:has(.photo)){grid-template-columns:clamp(110px,14vw,200px) minmax(0,1fr)}.chapitre:nth-child(2n):not(:has(.photo)){grid-template-columns:clamp(110px,14vw,200px) minmax(0,1fr)}.chapitre:nth-child(odd):has(.photo){grid-template-columns:clamp(110px,14vw,200px) minmax(0,1fr) auto}@media (max-width:899px){.chapitre:not(:has(.photo)){grid-template-columns:84px 1fr}.chapitre:nth-child(2n):not(:has(.photo)){grid-template-columns:84px 1fr}.chapitre:nth-child(odd):has(.photo){grid-template-columns:84px 1fr}}.ecran-vide{background:repeating-linear-gradient(135deg, var(--bloc) 0 12px, var(--carte) 12px 24px);place-items:center;height:100%;display:grid}.ecran-vide .t-legende{background:var(--fond);border-radius:999px;padding:6px 14px}.tablette__ecran:has(.ecran-vide){background:var(--bloc)}.micro{border:2px dashed var(--trait);border-radius:28px;justify-items:center;gap:0;width:100%;max-width:620px;margin:0;padding:44px 18px 22px;display:grid;position:relative}.micro__cluster{position:absolute;top:14px;left:20px}.micro__noeud{background:var(--carte);color:var(--texte);box-shadow:var(--argile-pose);font:600 .9375rem/1.25 var(--f-texte);text-align:center;border-radius:16px;gap:2px;padding:10px 16px;display:grid}.micro__noeud small{font:600 .6875rem/1.3 var(--f-texte);text-transform:uppercase;letter-spacing:.06em;color:var(--texte-2)}.micro__noeud--fort{background:var(--contraste);color:var(--sur-contraste)}.micro__noeud--fort small{color:var(--sur-contraste-2)}.micro__lien{background:var(--accent);border-radius:2px;width:4px;height:22px;position:relative}.micro__services{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;display:grid}.micro__noeud--service{padding-inline:8px;font-size:.875rem}.carte-projet--inverse .micro__noeud:not(.micro__noeud--fort){background:var(--fond);color:var(--texte)}.carte-projet--inverse .micro__cluster,.carte-projet--inverse .micro__noeud:not(.micro__noeud--fort) small{color:var(--texte-2)}@media (max-width:599px){.micro__services{grid-template-columns:repeat(2,minmax(0,1fr))}}.etude-ouverture{grid-template-columns:minmax(0,1fr) minmax(0,min(500px,36vw));align-items:center;column-gap:56px;padding-top:150px;display:grid}.etude-ouverture>.conteneur{width:auto;margin:0}.etude-ouverture .ouverture__titre{font-size:clamp(3rem,6.4vw,6.25rem)}.etude-ouverture .reperes{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin-top:56px}.etude-ouverture__visuel{width:100%;position:relative;inset:auto}@media (max-width:899px){.etude-ouverture{grid-template-columns:1fr;padding-top:48px}.etude-ouverture .reperes{grid-template-columns:1fr 1fr}}.micro{container-type:inline-size}@container (max-width:460px){.micro__services{grid-template-columns:repeat(2,minmax(0,1fr))}}.ordinateur__ecran>div{overflow:hidden}.ordinateur__ecran img{object-fit:cover;object-position:top;width:100%;height:100%}.scores{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:36px;display:grid}.score{background:var(--carte);box-shadow:var(--argile-pose);text-align:center;border-radius:24px;justify-items:center;gap:10px;padding:20px 8px;display:grid}.score__anneau{--score:0;aspect-ratio:1;background:radial-gradient(closest-side, var(--carte) 82%, transparent 83%), conic-gradient(#0cce6b calc(var(--score) * 1%), #0cce6b2e 0);color:#0a8a48;width:76px;font:800 1.5rem/1 var(--f-titre);border-radius:50%;place-items:center;display:grid}[data-theme=sombre] .score__anneau{color:#2ee38a}.score__label{font:600 .875rem/1.3 var(--f-texte)}@media (max-width:599px){.scores{grid-template-columns:repeat(2,minmax(0,1fr))}}.galerie__rangee{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:32px}.galerie__item{display:grid}.galerie__item>.carte-projet--haute{grid-template-rows:330px 1fr;height:100%}.carte-projet--haute .carte-projet__visuel{height:330px;min-height:0;overflow:hidden}.carte-projet--haute .visuel--tablette{padding:24px}.carte-projet--haute .tablette{width:min(100%,400px)}.carte-projet--haute .carte-projet__texte{grid-auto-rows:max-content;align-content:start}.carte-projet--haute .carte-projet__lien{align-self:end;margin-top:8px}.carte-projet--haute .carte-projet__texte>:last-child{margin-top:auto}.carte-projet--haute .visuel--schema{background:var(--bloc);padding:18px 22px}.carte-projet--haute .micro{padding:34px 12px 14px}.carte-projet--haute .micro__lien{height:12px}.carte-projet--haute .micro__noeud{padding:6px 12px;font-size:.8125rem}.carte-projet--haute .micro__noeud small{font-size:.625rem}.carte-projet--haute .schema-reseau{max-width:440px}.galerie__github:nth-child(odd){grid-column:1/-1}.galerie__github:nth-child(odd) .carte-github{grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-content:center;align-items:center;gap:6px 32px;min-height:0;padding:36px 40px}.galerie__github:nth-child(odd) .carte-github__logo{grid-row:1/3;margin:0}.galerie__github:nth-child(odd) .carte-github .t-h2{grid-column:2;align-self:end}.galerie__github:nth-child(odd) .carte-github .secondaire{grid-column:2;align-self:start}.galerie__github:nth-child(odd) .carte-github .bouton{grid-area:1/3/3}@media (max-width:799px){.galerie__rangee{grid-template-columns:1fr}.galerie__github:nth-child(odd) .carte-github{grid-template-columns:1fr;padding:32px 24px}.galerie__github:nth-child(odd) .carte-github>*{grid-area:auto/1!important}}.illu{aspect-ratio:520/400;justify-self:center;width:100%;max-width:520px;position:relative}.illu__editeur{background:var(--carte);color:var(--texte);box-shadow:var(--argile-eleve);border-radius:22px;position:absolute;inset:0 6% auto 0;overflow:hidden;rotate:-4deg}.illu__barre{border-bottom:1px solid var(--trait);align-items:center;gap:7px;padding:12px 16px;display:flex}.illu__barre i{background:var(--trait);border-radius:50%;width:10px;height:10px}.illu__barre i:first-child{background:var(--accent)}.illu__barre span{font:600 .75rem/1 var(--f-texte);color:var(--texte-2);margin-left:8px}.illu__code{white-space:pre;margin:0;padding:18px 20px 26px;font:500 clamp(.6rem,1vw,.8rem)/1.75 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.illu .k{color:var(--decor)}.illu .f{color:var(--texte-accent)}.illu .s,.illu .ok{color:var(--accent)}.illu .d{color:var(--sur-contraste-2)}.illu__terminal{background:var(--contraste);width:62%;color:var(--sur-contraste);border-radius:18px;padding:16px 18px;font:500 clamp(.6rem,.95vw,.78rem)/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;position:absolute;bottom:4%;right:0;rotate:3deg;box-shadow:0 24px 48px -8px #00000073,inset 0 0 0 1px #ffffff14}.illu__terminal p{white-space:nowrap;margin:0}.illu .curseur{vertical-align:-2px;background:var(--accent);width:.55em;height:1em;margin-left:4px;animation:1.1s step-end infinite clignote;display:inline-block}@keyframes clignote{50%{opacity:0}}.illu__conteneurs{gap:8px;display:flex;position:absolute;bottom:0;left:4%}.illu__boite{background:var(--accent);width:58px;height:46px;color:var(--sur-accent);box-shadow:var(--argile-pose);font:600 .72rem/1 var(--f-texte);border-radius:12px;place-items:center;display:grid}.illu__boite:nth-child(2){translate:0 -10px}.ouverture--contraste .illu__editeur{background:var(--carte)}@media (max-width:899px){.illu{max-width:360px}}.ouverture__illu{width:100%;display:grid}.ouverture--contraste .illu__terminal{background:color-mix(in srgb, var(--contraste) 60%, #000)}.carte-projet--haute .carte-projet__texte{flex-direction:column;gap:16px;display:flex}.carte-projet--haute .carte-projet__lien{align-self:flex-start}@media (max-width:899px){.illu__conteneurs{display:none}}.micro__services--arbre{padding-block:14px;position:relative}.micro__services--arbre:before,.micro__services--arbre:after{content:"";left:calc(50% / var(--n));right:calc(50% / var(--n));background:var(--accent);border-radius:2px;height:4px;position:absolute}.micro__services--arbre:before{top:0}.micro__services--arbre:after{bottom:0}.micro__services--racine{padding-top:0}.micro__services--racine:before,.micro__services--feuille:after{display:none}.micro__services--feuille{padding-bottom:0}.micro__services--arbre>.micro__noeud{position:relative}.micro__services--arbre>.micro__noeud:before,.micro__services--arbre>.micro__noeud:after{content:"";background:var(--accent);width:4px;height:14px;position:absolute;left:calc(50% - 2px)}.micro__services--arbre>.micro__noeud:before{top:-14px}.micro__services--arbre>.micro__noeud:after{bottom:-14px}.micro__services--racine>.micro__noeud:before,.micro__services--feuille>.micro__noeud:after{display:none}@media (max-width:599px){.micro__services--arbre[style*="--n: 4"]:before,.micro__services--arbre[style*="--n: 4"]:after{left:25%;right:25%}}.photo:has(img[src*=portrait]){background:radial-gradient(circle at 50% 38%, var(--carte) 0%, var(--bloc) 72%)}.photo img[src*=portrait]{object-fit:cover;object-position:50% 100%}.photo img[src*=accueil]{object-position:50% 40%}
